From 9ca5fbcb63a8dcaee0527f96afb91dc4b4bd8fa9 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 22 Nov 2023 01:08:11 +0000
Subject: [PATCH] add ip1811 driver
---
kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi | 196 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 154 insertions(+), 42 deletions(-)
diff --git a/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi b/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi
old mode 100644
new mode 100755
index f45ce09..7ad629b
--- a/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi
+++ b/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/display/media-bus-format.h>
#include "rk3568.dtsi"
#include "rk3568-evb.dtsi"
@@ -140,10 +141,17 @@
gpio_function = <0>;
};
- wifi_power_en {
- gpio_num = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>; //WIFI_PWREN_GPIO3_C6_1V8
+ usb_ogt {
+ gpio_num = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; //OTG_EN_OC_GPIO0_C2
gpio_function = <0>;
};
+
+ m2_wifi_pwr {
+ gpio_num = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;//WIFI_PWREN_GPIO3_C6_1V8
+ gpio_function = <0>;
+ };
+
+
#if 0
do1 {
gpio_num = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>;
@@ -185,7 +193,44 @@
gpio_function = <1>;
};
#endif
-};
+ };
+
+ panel: panel {
+ compatible = "simple-panel";
+ backlight = <&backlight>;
+ power-supply = <&vcc3v3_lcd0_n>;
+ enable-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; //LCD0_VDD_H_GPIO2_D4
+ edp-bl-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; //LCD0_PWBLK_H_GPIO0_B7
+ edp-bl-en = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; //LCD0_BKLT_EN_3V3
+ bus-format = <MEDIA_BUS_FMT_RGB888_1X24>;
+ bpc = <8>;
+ prepare-delay-ms = <200>;
+ enable-delay-ms = <20>;
+
+ display-timings {
+ native-mode = <&timing>;
+ timing: timing {
+ clock-frequency = <72500000>;
+ hactive = <1280>;
+ vactive = <800>;
+ hfront-porch = <70>;
+ hsync-len = <2>;
+ hback-porch = <88>;
+ vfront-porch = <7>;
+ vsync-len = <4>;
+ vback-porch = <17>;
+ hsync-active = <21>;
+ vsync-active = <0>;
+ de-active = <0>;
+ pixelclk-active = <0>;
+ };
+ };
+ ports {
+ panel_in_lvds: endpoint {
+ remote-endpoint = <&lvds_out>;
+ };
+ };
+ };
};
&combphy0_us {
@@ -285,7 +330,30 @@
};
&edp {
- hpd-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>;
+ //hpd-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>;
+ force-hpd;
+ status = "disabled";
+};
+
+&lvds {
+ status = "okay";
+ ports {
+ port@1 {
+ reg = <1>;
+ lvds_out: endpoint {
+ remote-endpoint = <&panel_in_lvds>;
+ };
+ };
+
+ };
+};
+
+&route_lvds{
+ status = "okay";
+ connect = <&vp2_out_lvds>;
+};
+
+&lvds_in_vp2 {
status = "okay";
};
@@ -294,18 +362,18 @@
};
&edp_in_vp0 {
- status = "okay";
+ status = "disabled";
};
&edp_in_vp1 {
- status = "disabled";
+ status = "okay";
};
&gmac0 {
phy-mode = "rgmii";
clock_in_out = "output";
- snps,reset-gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;
+ snps,reset-gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
/* Reset time is 20ms, 100ms for rtl8211f */
snps,reset-delays-us = <0 20000 100000>;
@@ -325,7 +393,9 @@
rx_delay = <0x2f>;
phy-handle = <&rgmii_phy0>;
- status = "disabled";
+
+ status = "okay";
+
};
&gmac1 {
@@ -359,8 +429,22 @@
* power-supply should switche to vcc3v3_lcd1_n
* when mipi panel is connected to dsi1.
*/
->1x {
- power-supply = <&vcc3v3_lcd0_n>;
+
+
+&i2c3 {
+ status = "okay";
+ //mac eeprom
+ eeprom@51 {
+ //compatible = "atmel,24c02";
+ compatible = "atmel,24c256";
+ reg = <0x51>;
+ };
+
+ //nk-mcu
+ nkmcu@15 {
+ compatible = "nk_mcu";
+ reg = <0x15>;
+ };
};
&i2c4 {
@@ -448,7 +532,7 @@
};
&video_phy0 {
- status = "disabled";
+ status = "okay";
};
&video_phy1 {
@@ -459,20 +543,27 @@
status = "okay";
};
+&pcie2x1 {
+ reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
+ vpcie3v3-supply = <&vcc3v3_pcie>;
+ status = "okay";
+};
+
&pcie3x2 {
- reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>;
+ vpcie3v3-supply = <&vcc3v3_pcie>;
+ status = "disabled";
+};
+
+&pcie3x1 {
+ rockchip,bifurcation;
+ reset-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie>;
status = "okay";
};
&pinctrl {
- cam {
- camera_pwr: camera-pwr {
- rockchip,pins =
- /* camera power en */
- <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
- };
- };
+
headphone {
hp_det: hp-det {
rockchip,pins = <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
@@ -482,12 +573,6 @@
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down>;
- };
- };
-
- wireless-bluetooth {
- uart8_gpios: uart8-gpios {
- rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
@@ -531,7 +616,7 @@
};
&rkisp_vir0 {
- status = "okay";
+ status = "disabled";
port {
#address-cells = <1>;
@@ -549,9 +634,11 @@
connect = <&vp1_out_dsi0>;
};
+
+
&route_edp {
- status = "okay";
- connect = <&vp0_out_edp>;
+ status = "disabled";
+ connect = <&vp1_out_edp>;
};
&sata2 {
@@ -581,38 +668,63 @@
};
&uart8 {
- status = "okay";
+ status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&uart8m0_xfer &uart8m0_ctsn>;
};
&vcc3v3_lcd0_n {
- gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
+ gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
&vcc3v3_lcd1_n {
- gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
+ gpio = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>; //MIPI_3V3EN_GPIO3_A3_d_3V3
enable-active-high;
};
&wireless_wlan {
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_irq>;
- WIFI,host_wake_irq = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
+ WIFI,host_wake_irq = <&gpio2 RK_PB2 GPIO_ACTIVE_HIGH>;
};
&wireless_bluetooth {
compatible = "bluetooth-platdata";
- clocks = <&rk809 1>;
- clock-names = "ext_clock";
- //wifi-bt-power-toggle;
- uart_rts_gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
- pinctrl-names = "default", "rts_gpio";
- pinctrl-0 = <&uart8m0_rtsn>;
- pinctrl-1 = <&uart8_gpios>;
- BT,reset_gpio = <&gpio3 RK_PA0 GPIO_ACTIVE_HIGH>;
- BT,wake_gpio = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>;
- BT,wake_host_irq = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>;
+ status = "disabled";
+};
+
+&uart0 {
status = "okay";
};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
+ status = "disabled";
+};
+
+&uart3 {
+ status = "okay";
+ pinctrl-0 = <&uart3m1_xfer>;
+};
+
+&uart4 {
+ status = "okay";
+ pinctrl-0 = <&uart4m1_xfer>;
+};
+
+&uart5 {
+ status = "okay";
+ pinctrl-0 = <&uart5m1_xfer>;
+};
+
+&uart7 {
+ status = "okay";
+ pinctrl-0 = <&uart7m1_xfer>;
+};
+
+&uart9 {
+ status = "okay";
+ pinctrl-0 = <&uart9m1_xfer>;
+};
\ No newline at end of file
--
Gitblit v1.6.2