From 1f93a7dfd1f8d5ff7a5c53246c7534fe2332d6f4 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 11 Dec 2023 02:46:07 +0000 Subject: [PATCH] add audio --- kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi | 332 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 272 insertions(+), 60 deletions(-) diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi b/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi index f45ce09..fb8880f 100644 --- a/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi +++ b/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi @@ -8,12 +8,21 @@ #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" / { 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"; @@ -85,9 +94,8 @@ enable-active-high; regulator-always-on; regulator-boot-on; - }; + }; #endif - ndj_io_init { compatible = "nk_io_control"; pinctrl-names = "default"; @@ -140,10 +148,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 +200,68 @@ gpio_function = <1>; }; #endif -}; + }; +#if 0 + 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>; + }; +#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>; + 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 = <&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>; + }; + }; + port { + panel_in_lvds: endpoint { + remote-endpoint = <&lvds_out>; + }; + }; + }; }; &combphy0_us { @@ -248,6 +324,10 @@ * video_phy0 needs to be enabled * when dsi0 is enabled */ +&video_phy0 { + status = "disabled"; +}; + &dsi0 { status = "disabled"; }; @@ -285,7 +365,30 @@ }; &edp { - hpd-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; + //hpd-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; + force-hpd; + status = "disabled"; +}; + +&lvds { + status = "disabled"; + ports { + port@1 { + reg = <1>; + lvds_out: endpoint { + remote-endpoint = <&panel_in_lvds>; + }; + }; + + }; +}; + +&route_lvds{ + status = "disabled"; + connect = <&vp2_out_lvds>; +}; + +&lvds_in_vp2 { status = "okay"; }; @@ -294,18 +397,65 @@ }; &edp_in_vp0 { - status = "okay"; + status = "disabled"; }; &edp_in_vp1 { + status = "okay"; + +}; + +&route_edp { + status = "okay"; + connect = <&vp1_out_edp>; +}; + + +/* +* 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 { + 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>; @@ -325,7 +475,9 @@ rx_delay = <0x2f>; phy-handle = <&rgmii_phy0>; + status = "disabled"; + }; &gmac1 { @@ -359,8 +511,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 { @@ -376,7 +542,6 @@ reset-gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; pwdn-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_LOW>; rockchip,grf = <&grf>; - power-domains = <&power RK3568_PD_VI>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "RK-CMK-8M-2-v1"; @@ -433,6 +598,19 @@ }; }; +&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"; @@ -448,7 +626,7 @@ }; &video_phy0 { - status = "disabled"; + status = "okay"; }; &video_phy1 { @@ -466,31 +644,38 @@ }; &pinctrl { - cam { - camera_pwr: camera-pwr { - rockchip,pins = - /* camera power en */ - <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; +// 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>; + rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down>, + <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; }; }; wireless-wlan { wifi_host_wake_irq: wifi-host-wake-irq { - rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down>; + rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>; }; }; wireless-bluetooth { - uart8_gpios: uart8-gpios { - rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; + uart1_gpios: uart1-gpios { + rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; }; }; + 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>, @@ -500,7 +685,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>, @@ -518,10 +703,6 @@ }; }; -&rk809_sound { - hp-det-gpio = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; -}; - &rkisp { status = "disabled"; }; @@ -531,7 +712,7 @@ }; &rkisp_vir0 { - status = "okay"; + status = "disabled"; port { #address-cells = <1>; @@ -544,34 +725,30 @@ }; }; -&route_dsi0 { - status = "disabled"; - connect = <&vp1_out_dsi0>; -}; -&route_edp { - status = "okay"; - connect = <&vp0_out_edp>; -}; &sata2 { status = "okay"; }; &sdmmc2 { - 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"; + 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"; }; &spdif_8ch { @@ -581,25 +758,25 @@ }; &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 { @@ -607,12 +784,47 @@ clocks = <&rk809 1>; clock-names = "ext_clock"; //wifi-bt-power-toggle; - uart_rts_gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; + uart_rts_gpios = <&gpio2 RK_PB5 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>; + 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"; }; + +&uart0 { + status = "disabled"; +}; + +&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 = "disabled"; + pinctrl-0 = <&uart7m1_xfer>; +}; + +&uart9 { + status = "disabled"; + pinctrl-0 = <&uart9m1_xfer>; +}; -- Gitblit v1.6.2