From: Icenowy Zheng <[email protected]>

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 <[email protected]>
Signed-off-by: Vasily Khoruzhick <[email protected]>
---
 .../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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to