From: Icenowy Zheng <icen...@aosc.io>

Pinebook has an ANX6345 bridge connected to the RGB666 LCD output and
eDP panel input. The bridge is controlled via I2C that's connected to
R_I2C bus.

There're pinebooks with 3 different panels in the wild, all 3 with
different timings. Add all the compatibles to panel node and hope that
we can get correct timings from EDID. If reading EDID fails it's up to
firmware to fixup compatible string.

Enable all this hardware in device tree.

Signed-off-by: Icenowy Zheng <icen...@aosc.io>
Signed-off-by: Vasily Khoruzhick <anars...@gmail.com>
---
 .../dts/allwinner/sun50i-a64-pinebook.dts     | 76 +++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts 
b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
index d22736a62481..0d9280bafc12 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
@@ -63,6 +63,19 @@
                };
        };
 
+       edp_panel: edp-panel {
+               compatible = "boe,hb140wx1-501", "innolux,n116bge",
+                            "neweast,wjfh116008a", "simple-panel";
+               backlight = <&backlight>;
+               power-supply = <&reg_dc1sw>;
+
+               port {
+                       panel_in_edp: endpoint {
+                               remote-endpoint = <&anx6345_out_panel>;
+                       };
+               };
+       };
+
        reg_vcc3v3: vcc3v3 {
                compatible = "regulator-fixed";
                regulator-name = "vcc3v3";
@@ -102,6 +115,10 @@
        status = "okay";
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        phys = <&usbphy 0>;
        phy-names = "usb";
@@ -112,6 +129,10 @@
        status = "okay";
 };
 
+&mixer0 {
+       status = "okay";
+};
+
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
@@ -163,6 +184,46 @@
        status = "okay";
 };
 
+&r_i2c {
+       pinctrl-names = "default";
+       pinctrl-0 = <&r_i2c_pins_a>;
+       status = "okay";
+
+       anx6345: anx6345@38 {
+               compatible = "analogix,anx6345";
+               reg = <0x38>;
+               reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
+               dvdd25-supply = <&reg_dldo2>;
+               dvdd12-supply = <&reg_fldo1>;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       anx6345_in: port@0 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               reg = <0>;
+                               anx6345_in_tcon0: endpoint@0 {
+                                       reg = <0>;
+                                       remote-endpoint = <&tcon0_out_anx6345>;
+                               };
+                       };
+
+                       anx6345_out: port@1 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               reg = <1>;
+
+                               anx6345_out_panel: endpoint@0 {
+                                       reg = <0>;
+                                       remote-endpoint = <&panel_in_edp>;
+                               };
+                       };
+               };
+       };
+};
+
 &r_rsb {
        status = "okay";
 
@@ -334,6 +395,21 @@
                        "MIC2", "Internal Microphone Right";
 };
 
+&tcon0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&lcd_rgb666_pins>;
+       no-strict-clock-check;
+
+       status = "okay";
+};
+
+&tcon0_out {
+       tcon0_out_anx6345: endpoint@0 {
+               reg = <0>;
+               remote-endpoint = <&anx6345_in_tcon0>;
+       };
+};
+
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_pb_pins>;
-- 
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to