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 | 403 +++++++++++++++++++++++++++++----------------------------
1 files changed, 207 insertions(+), 196 deletions(-)
diff --git a/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi b/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi
index 26eec07..7ad629b 100755
--- a/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi
+++ b/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi
@@ -16,14 +16,6 @@
model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
compatible = "rockchip,rk3568-evb1-ddr4-v10", "rockchip,rk3568";
- rk_headset: rk-headset {
- compatible = "rockchip_headset";
- headset_gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_LOW>;
- spk_ctl_gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>;//AMP_SD_GPIO4_C2_3V3
- pinctrl-names = "default";
- pinctrl-0 = <&hp_det>;
- };
-
vcc2v5_sys: vcc2v5-ddr {
compatible = "regulator-fixed";
regulator-name = "vcc2v5-sys";
@@ -34,6 +26,15 @@
vin-supply = <&vcc3v3_sys>;
};
+ vcc3v3_vga: vcc3v3-vga {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc3v3_vga";
+ regulator-always-on;
+ regulator-boot-on;
+ gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ vin-supply = <&vcc3v3_sys>;
+ };
pcie30_avdd0v9: pcie30-avdd0v9 {
compatible = "regulator-fixed";
@@ -60,9 +61,7 @@
regulator-name = "vcc3v3_pcie";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
- regulator-always-on;
enable-active-high;
- regulator-boot-on;
gpio = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
startup-delay-us = <5000>;
vin-supply = <&dc_12v>;
@@ -87,49 +86,130 @@
enable-active-high;
regulator-always-on;
regulator-boot-on;
- };
+ };
#endif
- nk_io_init {
- compatible = "nk_io_control";
- vcc3_io_en_gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; //VCC3_IO_EN_GPIO0_C4_3V3
- hub_host2_5V_rest_gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; //HUB_RST_GPIO4_D2_3V3
- hub_host3_5v_gpio = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>; //HOST3_EN_GPIO4_B2_1V8
- vcc_5v_io = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; //VCC5_IO_EN_GPIO1_A4_3V3
- vcc_12v_io = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; //VCC12_IO_EN_GPIO0_C7_3V3
- en_4g_gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; //4G_PWREN_H_GPIO0_C6
- reset_4g_gpio = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; //4G_RST_GPIO01_B2_3V3
- air_mode_4g_gpio = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>; //4G_AIR_MODE_GPIO01_B0_3V3
- wake_4g_gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; //4G_WAKEUP_GPIO01_B1_3V3
- hp_en_gpio = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;//HP_EN_GPIO3_A6_3V3
-// spk_out_gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;//AMP_SD_GPIO4_C2_3V3
- wifi_power_en_gpio = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>; //WIFI_PWREN_GPIO3_C6_1V8
-// pcie_power_en_gpio = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;//PCIE_PWREN_H_GPIO0_D4
- pinctrl-names = "default";
- pinctrl-0 = <&nk_io_gpio>;
- };
-
- panel: panel {
+ ndj_io_init {
+ compatible = "nk_io_control";
+ pinctrl-names = "default";
+ pinctrl-0 = <&nk_io_gpio>;
+
+ //gpio_op0 = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
+
+ vcc_5v {
+ gpio_num = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; //VCC5_IO_EN_GPIO1_A4_3V3
+ gpio_function = <0>;
+ };
+
+ vcc_12v {
+ gpio_num = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; //VCC12_IO_EN_GPIO0_C7_3V3
+ gpio_function = <0>;
+ };
+
+ hub_host2_rst {
+ gpio_num = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; //HUB_RST_GPIO4_D2_3V3
+ gpio_function = <3>;
+ };
+
+ hub_host3 {
+ gpio_num = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>; //HOST3_EN_GPIO4_B2_1V8
+ gpio_function = <0>;
+ };
+
+ wake_4g {
+ gpio_num = <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>; //4G_WAKEUP_GPIO01_B1_3V3
+ gpio_function = <0>;
+ };
+
+ air_mode_4g {
+ gpio_num = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>; //4G_AIR_MODE_GPIO01_B0_3V3
+ gpio_function = <0>;
+ };
+
+ reset_4g {
+ gpio_num = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>; //4G_RST_GPIO01_B2_3V3
+ gpio_function = <3>;
+ };
+
+ en_4g {
+ gpio_num = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; //4G_PWREN_H_GPIO0_C6
+ gpio_function = <0>;
+ };
+
+ hp_en {
+ gpio_num = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;//HP_EN_GPIO3_A6_3V3
+ gpio_function = <0>;
+ };
+
+ 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>;
+ gpio_function = <0>;
+ };
+
+ do2 {
+ gpio_num = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
+ gpio_function = <0>;
+ };
+
+ do3 {
+ gpio_num = <&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;
+ gpio_function = <0>;
+ };
+
+ do4 {
+ gpio_num = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>;
+ gpio_function = <0>;
+ };
+
+ do5 {
+ gpio_num = <&gpio2 RK_PD6 GPIO_ACTIVE_LOW>;
+ gpio_function = <0>;
+ };
+
+ do6 {
+ gpio_num = <&gpio2 RK_PD7 GPIO_ACTIVE_LOW>;
+ gpio_function = <0>;
+ };
+
+ do7 {
+ gpio_num = <&gpio3 RK_PA0 GPIO_ACTIVE_LOW>;
+ gpio_function = <0>;
+ };
+
+ di1 {
+ gpio_num = <&gpio2 RK_PD5 GPIO_ACTIVE_HIGH>;
+ 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
- reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_LOW>; //7511_RST_GPIO3_D1
- edp-bl-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; //LCD0_BKLT_EN_3V3
+ 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>;
- lvds-gpio0 = <&gpio3 RK_PD2 GPIO_ACTIVE_HIGH>; //7511_GPIO0-GPIO3_D2
- lvds-gpio1 = <&gpio3 RK_PD3 GPIO_ACTIVE_HIGH>; //7511_GPIO1-GPIO3_D3
- lvds-gpio2 = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>; //7511_GPIO2-GPIO3_D4
- lvds-gpio3 = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; //7511_GPIO3-GPIO3_D5
- nodka-lvds = <15>;
display-timings {
- native-mode = <&timing0>;
- timing0: timing0 {
+ native-mode = <&timing>;
+ timing: timing {
clock-frequency = <72500000>;
hactive = <1280>;
vactive = <800>;
@@ -146,8 +226,8 @@
};
};
ports {
- panel_in: endpoint {
- remote-endpoint = <&edp_out>;
+ panel_in_lvds: endpoint {
+ remote-endpoint = <&lvds_out>;
};
};
};
@@ -213,10 +293,6 @@
* video_phy0 needs to be enabled
* when dsi0 is enabled
*/
-&video_phy0 {
- status = "disabled";
-};
-
&dsi0 {
status = "disabled";
};
@@ -237,10 +313,6 @@
* video_phy1 needs to be enabled
* when dsi1 is enabled
*/
-
-&video_phy1 {
- status = "okay";
-};
&dsi1 {
status = "disabled";
};
@@ -250,108 +322,58 @@
};
&dsi1_in_vp1 {
- status = "okay";
+ status = "disabled";
};
&dsi1_panel {
- power-supply = <&vcc3v3_lcd1_n>; //MIPI_3V3EN_GPIO3_A3_d_3V3
- vddio-mipi = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>; //MIPI_EN_1V8_GPIO3_A4_d_3V3
- reset-gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_LOW>; //MIPI_RST_L_GPIO3_C7
- vcc-5v-gpio = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; //VCC5_IO_EN_GPIO1_A4_3V3
- pinctrl-names = "default";
- pinctrl-0 = <&lcd1_rst_gpio>;
+ power-supply = <&vcc3v3_lcd1_n>;
};
-
-&route_dsi1 {
- status = "disabled";
- connect = <&vp1_out_dsi1>;
-};
-
-
-/*
-* edp_start
-*/
&edp {
+ //hpd-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>;
force-hpd;
+ status = "disabled";
+};
+
+&lvds {
status = "okay";
ports {
port@1 {
reg = <1>;
- edp_out: endpoint {
- remote-endpoint = <&panel_in>;
+ lvds_out: endpoint {
+ remote-endpoint = <&panel_in_lvds>;
};
};
- };
+
+ };
+};
+
+&route_lvds{
+ status = "okay";
+ connect = <&vp2_out_lvds>;
+};
+
+&lvds_in_vp2 {
+ status = "okay";
};
&edp_phy {
- status = "okay";
-
+ status = "okay";
};
&edp_in_vp0 {
- status = "disabled";
-};
-
-&edp_in_vp1 {
- status = "okay";
-
-};
-
-&route_edp {
- status = "okay";
- connect = <&vp1_out_edp>;
-};
-
-&route_edp {
- status = "okay";
-};
-/*
-* edp_end
-*/
-
-/*
-* Hdmi_start
-*/
-
-&hdmi {
- status = "okay";
- rockchip,phy-table =
- <92812500 0x8009 0x0000 0x0270>,
- <165000000 0x800b 0x0000 0x026d>,
- <185625000 0x800b 0x0000 0x01ed>,
- <297000000 0x800b 0x0000 0x01ad>,
- <594000000 0x8029 0x0000 0x0088>,
- <000000000 0x0000 0x0000 0x0000>;
-};
-
-&route_hdmi {
- status = "okay";
- connect = <&vp0_out_hdmi>;
-};
-
-&hdmi_in_vp0 {
- status = "okay";
-};
-
-&hdmi_in_vp1 {
status = "disabled";
};
-&hdmi_sound {
+&edp_in_vp1 {
status = "okay";
};
-
-/*
- * Hdmi_END
-*/
&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>;
@@ -371,7 +393,9 @@
rx_delay = <0x2f>;
phy-handle = <&rgmii_phy0>;
- status = "disabled";
+
+ status = "okay";
+
};
&gmac1 {
@@ -405,9 +429,7 @@
* power-supply should switche to vcc3v3_lcd1_n
* when mipi panel is connected to dsi1.
*/
->1x {
- power-supply = <&vcc3v3_lcd0_n>;
-};
+
&i2c3 {
status = "okay";
@@ -426,7 +448,7 @@
};
&i2c4 {
- status = "okay";
+ status = "disabled";
gc8034: gc8034@37 {
compatible = "galaxycore,gc8034";
status = "okay";
@@ -472,7 +494,7 @@
};
};
ov5695: ov5695@36 {
- status = "okay";
+ status = "disabled";
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru CLK_CIF_OUT>;
@@ -495,19 +517,6 @@
};
};
-&i2c5 {
- status = "okay";
-
- hym8563: hym8563@51 {
- compatible = "haoyu,hym8563";
- reg = <0x51>;
- #clock-cells = <0>;
- clock-frequency = <32768>;
- clock-output-names = "xin32k";
- /* rtc_int is not connected */
- };
-};
-
&mdio0 {
rgmii_phy0: phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
@@ -522,7 +531,13 @@
};
};
+&video_phy0 {
+ status = "okay";
+};
+&video_phy1 {
+ status = "disabled";
+};
&pcie30phy {
status = "okay";
@@ -534,39 +549,33 @@
status = "okay";
};
+&pcie3x2 {
+ 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 = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down>,
- <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
+ rockchip,pins = <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
- rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
- };
- };
-
- wireless-bluetooth {
- uart1_gpios: uart1-gpios {
- rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
+ rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
- lcd1 {
- lcd1_rst_gpio: lcd1-rst-gpio {
- rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
- };
- };
-
nk_io_init{
nk_io_gpio: nk-io-gpio{
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>,
@@ -576,7 +585,7 @@
<4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>,
<1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>,
<0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>,
- <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>,
+ <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>,
<1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>,
<1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>,
<3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>,
@@ -585,9 +594,17 @@
<3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>,
<3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>,
<3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>,
+ <2 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>,//93 SPI2_CS0_M1_3V3
+ <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>,//94 SPI2_MOSI_M1_3V3
+ <2 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>,//95 SPI2_MISO_M1_3V3
+ <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>,//96 SPI2_CLK_M1_3V3
<0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
+};
+
+&rk809_sound {
+ hp-det-gpio = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>;
};
&rkisp {
@@ -612,32 +629,36 @@
};
};
+&route_dsi0 {
+ status = "disabled";
+ connect = <&vp1_out_dsi0>;
+};
+&route_edp {
+ status = "disabled";
+ connect = <&vp1_out_edp>;
+};
&sata2 {
status = "okay";
};
&sdmmc2 {
- status = "disabled";
-};
-
-&sdmmc1 {
- max-frequency = <150000000>;
- supports-sdio;
- bus-width = <4>;
- disable-wp;
- cap-sd-highspeed;
- cap-sdio-irq;
- keep-power-in-suspend;
- mmc-pwrseq = <&sdio_pwrseq>;
- non-removable;
- pinctrl-names = "default";
- pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
- sd-uhs-sdr104;
- status = "okay";
+ max-frequency = <150000000>;
+ supports-sdio;
+ bus-width = <4>;
+ disable-wp;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ keep-power-in-suspend;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ non-removable;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>;
+ sd-uhs-sdr104;
+ status = "okay";
};
&spdif_8ch {
@@ -670,17 +691,7 @@
&wireless_bluetooth {
compatible = "bluetooth-platdata";
- clocks = <&rk809 1>;
- clock-names = "ext_clock";
- //wifi-bt-power-toggle;
- uart_rts_gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_LOW>;
- pinctrl-names = "default", "rts_gpio";
- pinctrl-0 = <&uart1m0_rtsn>;
- pinctrl-1 = <&uart1_gpios>;
- BT,reset_gpio = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
- BT,wake_gpio = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
- BT,wake_host_irq = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
- status = "okay";
+ status = "disabled";
};
&uart0 {
@@ -690,7 +701,7 @@
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
- status = "okay";
+ status = "disabled";
};
&uart3 {
@@ -716,4 +727,4 @@
&uart9 {
status = "okay";
pinctrl-0 = <&uart9m1_xfer>;
-};
+};
\ No newline at end of file
--
Gitblit v1.6.2