Unverified Commit a6a22f82 authored by Icenowy Zheng's avatar Icenowy Zheng Committed by Maxime Ripard
Browse files

arm64: dts: sun50i-a64-pinephone: Enable LCD support on PinePhone



PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for
display.

Backlight levels curve was optimized by Martijn Braam using a
lux meter.

Add its device nodes.

Signed-off-by: default avatarIcenowy Zheng <icenowy@aosc.io>
Signed-off-by: default avatarMartijn Braam <martijn@brixit.nl>
Signed-off-by: default avatarOndrej Jirman <megous@megous.com>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20200702081432.1727696-2-megous@megous.com


Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
parent 21a827bf
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -9,3 +9,22 @@
	model = "Pine64 PinePhone Braveheart (1.1)";
	compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64";
};

&backlight {
	power-supply = <&reg_ldo_io0>;
	/*
	 * PWM backlight circuit on this PinePhone revision was changed since
	 * 1.0, and the lowest PWM duty cycle that doesn't lead to backlight
	 * being off is around 20%. Duty cycle for the lowest brightness level
	 * also varries quite a bit between individual boards, so the lowest
	 * value here was chosen as a safe default.
	 */
	brightness-levels = <
		774  793  814  842
		882  935  1003 1088
		1192 1316 1462 1633
		1830 2054 2309 2596
		2916 3271 3664 4096>;
	num-interpolated-steps = <50>;
	default-brightness-level = <400>;
};
+33 −0
Original line number Diff line number Diff line
@@ -16,6 +16,13 @@
		serial0 = &uart0;
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>;
		enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
		/* Backlight configuration differs per PinePhone revision. */
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};
@@ -84,6 +91,28 @@
	status = "okay";
};

&de {
	status = "okay";
};

&dphy {
	status = "okay";
};

&dsi {
	vcc-dsi-supply = <&reg_dldo1>;
	status = "okay";

	panel@0 {
		compatible = "xingbangda,xbd599";
		reg = <0>;
		reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */
		iovcc-supply = <&reg_dldo2>;
		vcc-supply = <&reg_ldo_io0>;
		backlight = <&backlight>;
	};
};

&ehci0 {
	status = "okay";
};
@@ -188,6 +217,10 @@
	 */
};

&r_pwm {
	status = "okay";
};

&r_rsb {
	status = "okay";