From 748e4f3d702def1a4bff191e0cf93b6a05340f01 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Fri, 10 May 2024 07:41:34 +0000 Subject: [PATCH] add gpio led uart --- kernel/arch/arm/boot/dts/rk3288-evb.dtsi | 471 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 234 insertions(+), 237 deletions(-) diff --git a/kernel/arch/arm/boot/dts/rk3288-evb.dtsi b/kernel/arch/arm/boot/dts/rk3288-evb.dtsi index 1107227..d211a76 100644 --- a/kernel/arch/arm/boot/dts/rk3288-evb.dtsi +++ b/kernel/arch/arm/boot/dts/rk3288-evb.dtsi @@ -5,22 +5,109 @@ #include "rk3288.dtsi" / { + memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0 0x80000000>; + }; + + adc-keys { + compatible = "adc-keys"; + io-channels = <&saradc 1>; + io-channel-names = "buttons"; + keyup-threshold-microvolt = <1800000>; + + button-up { + label = "Volume Up"; + linux,code = <KEY_VOLUMEUP>; + press-threshold-microvolt = <100000>; + }; + + button-down { + label = "Volume Down"; + linux,code = <KEY_VOLUMEDOWN>; + press-threshold-microvolt = <300000>; + }; + + menu { + label = "Menu"; + linux,code = <KEY_MENU>; + press-threshold-microvolt = <640000>; + }; + + esc { + label = "Esc"; + linux,code = <KEY_ESC>; + press-threshold-microvolt = <1000000>; + }; + + home { + label = "Home"; + linux,code = <KEY_HOME>; + press-threshold-microvolt = <1300000>; + }; + }; + + rt5640_sound: rt5640-sound { + status = "okay"; + compatible = "rockchip,multicodecs-card"; + rockchip,card-name = "rockchip-rt5640"; + hp-det-gpio = <&gpio7 RK_PA7 GPIO_ACTIVE_HIGH>; + io-channels = <&saradc 2>; + io-channel-names = "adc-detect"; + keyup-threshold-microvolt = <1800000>; + poll-interval = <100>; + rockchip,format = "i2s"; + rockchip,mclk-fs = <512>; + rockchip,cpu = <&i2s>; + rockchip,codec = <&rt5640>; + rockchip,audio-routing = + "Headphone", "HPOL", + "Headphone", "HPOR", + "Speaker", "SPOLP", + "Speaker", "SPOLN", + "Speaker", "SPORP", + "Speaker", "SPORN", + "Headphone", "Headphone Power", + "Headphone", "Headphone Power", + "Speaker", "Speaker Power", + "Speaker", "Speaker Power", + "DMIC L1", "Main Mic", + "DMIC R1", "Main Mic", + "IN3P", "Headset Mic", + "Headset Mic", "MICBIAS1"; + play-pause-key { + label = "playpause"; + linux,code = <KEY_PLAYPAUSE>; + press-threshold-microvolt = <2000>; + }; + }; + + hdmi_sound: hdmi-sound { + status = "disabled"; + compatible = "rockchip,hdmi"; + rockchip,mclk-fs = <256>; + rockchip,card-name = "rockchip-hdmi0"; + rockchip,cpu = <&i2s>; + rockchip,codec = <&hdmi>; + rockchip,jack-det; + }; + backlight: backlight { compatible = "pwm-backlight"; brightness-levels = < - 0 1 2 3 4 5 6 7 - 8 9 10 11 12 13 14 15 - 16 17 18 19 20 21 22 23 - 24 25 26 27 28 29 30 31 - 32 33 34 35 36 37 38 39 - 40 41 42 43 44 45 46 47 - 48 49 50 51 52 53 54 55 - 56 57 58 59 60 61 62 63 - 64 65 66 67 68 69 70 71 - 72 73 74 75 76 77 78 79 - 80 81 82 83 84 85 86 87 - 88 89 90 91 92 93 94 95 - 96 97 98 99 100 101 102 103 + 0 1 2 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31 + 32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62 63 + 64 65 66 67 68 69 70 71 + 72 73 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 + 88 89 90 91 92 93 94 95 + 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 @@ -41,109 +128,10 @@ 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255>; default-brightness-level = <128>; - }; - - adc-keys { - compatible = "adc-keys"; - io-channels = <&saradc 1>; - io-channel-names = "buttons"; - keyup-threshold-microvolt = <1800000>; - poll-interval = <100>; - - vol-up-key { - label = "volume up"; - linux,code = <KEY_VOLUMEUP>; - press-threshold-microvolt = <1000>; - }; - - vol-down-key { - label = "volume down"; - linux,code = <KEY_VOLUMEDOWN>; - press-threshold-microvolt = <170000>; - }; - - menu { - label = "menu"; - linux,code = <KEY_MENU>; - press-threshold-microvolt = <640000>; - }; - - esc { - label = "esc"; - linux,code = <KEY_ESC>; - press-threshold-microvolt = <1000000>; - }; - - home { - label = "home"; - linux,code = <KEY_HOME>; - press-threshold-microvolt = <1300000>; - }; - }; - - sound: sound { - status = "disabled"; - compatible = "simple-audio-card"; - simple-audio-card,format = "i2s"; - simple-audio-card,name = "rockchip,rt5640-codec"; - simple-audio-card,mclk-fs = <512>; - simple-audio-card,widgets = - "Microphone", "Microphone Jack", - "Headphone", "Headphone Jack"; - simple-audio-card,routing = - "MIC1", "Microphone Jack", - "MIC2", "Microphone Jack", - "Microphone Jack", "micbias1", - "Headphone Jack", "HPOL", - "Headphone Jack", "HPOR"; - - simple-audio-card,dai-link@0 { - format = "i2s"; - cpu { - sound-dai = <&i2s>; - }; - - codec { - sound-dai = <&rt5640>; - }; - }; - - simple-audio-card,dai-link@1 { - format = "i2s"; - cpu { - sound-dai = <&i2s>; - }; - - codec { - sound-dai = <&hdmi>; - }; - }; - }; - - hdmi_analog_sound: hdmi-analog-sound { - compatible = "rockchip,rk3288-hdmi-analog", - "rockchip,rk3368-hdmi-analog"; - rockchip,model = "rockchip,rt5640-codec"; - rockchip,cpu = <&i2s>; - rockchip,codec = <&rt5640>, <&hdmi>; - rockchip,widgets = - "Microphone", "Microphone Jack", - "Headphone", "Headphone Jack"; - rockchip,routing = - "MIC1", "Microphone Jack", - "MIC2", "Microphone Jack", - "Microphone Jack", "micbias1", - "Headphone Jack", "HPOL", - "Headphone Jack", "HPOR"; - status = "disabled"; - }; - - rk_headset { - compatible = "rockchip_headset"; - headset_gpio = <&gpio7 RK_PA7 GPIO_ACTIVE_HIGH>; + enable-gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; - pinctrl-0 = <&hp_det>; - io-channels = <&saradc 2>; + pinctrl-0 = <&bl_en>; + pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>; }; ext_gmac: external-gmac-clock { @@ -151,6 +139,41 @@ clock-frequency = <125000000>; clock-output-names = "ext_gmac"; #clock-cells = <0>; + }; + + panel: panel { + compatible = "simple-panel"; + backlight = <&backlight>; + enable-gpios = <&gpio7 RK_PA4 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_cs>; + prepare-delay-ms = <120>; + width-mm = <120>; + height-mm = <160>; + + panel-timing { + clock-frequency = <200000000>; + hactive = <1536>; + hfront-porch = <12>; + hback-porch = <48>; + hsync-len = <16>; + vactive = <2048>; + vfront-porch = <8>; + vback-porch = <8>; + vsync-len = <4>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <0>; + pixelclk-active = <0>; + }; + + ports { + panel_in: port { + panel_in_edp: endpoint { + remote-endpoint = <&edp_out_panel>; + }; + }; + }; }; gpio-keys { @@ -168,15 +191,6 @@ wakeup-source; debounce-interval = <100>; }; - }; - - vccadc_ref: vccadc-ref { - compatible = "regulator-fixed"; - regulator-name = "vcc1v8_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; }; /* This turns on USB vbus for both host0 (ehci) and host1 (dwc2) */ @@ -222,16 +236,6 @@ regulator-boot-on; }; - /* This switch DIO3222 HOST_DP_HOST to host2 (dwc2) */ - vcc_3g: vcc-3g-regulator { - compatible = "regulator-fixed"; - enable-active-high; - gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pwr_3g>; - regulator-name = "vcc_3g"; - }; - /* * NOTE: vcc_sd isn't hooked up on v1.0 boards where power comes from * vcc_io directly. Those boards won't be able to power cycle SD cards @@ -275,9 +279,33 @@ cpu0-supply = <&vdd_cpu>; }; +&edp { + force-hpd; + status = "okay"; + + ports { + edp_out: port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + edp_out_panel: endpoint@0 { + reg = <0>; + remote-endpoint = <&panel_in_edp>; + }; + }; + }; +}; + +&edp_phy { + status = "okay"; +}; + &emmc { bus-width = <8>; cap-mmc-highspeed; + no-sdio; + no-sd; disable-wp; non-removable; pinctrl-names = "default"; @@ -286,7 +314,7 @@ }; &saradc { - vref-supply = <&vccadc_ref>; + vref-supply = <&vcc_18>; status = "okay"; }; @@ -298,31 +326,15 @@ sd-uhs-sdr50; sd-uhs-sdr104; cap-sd-highspeed; + no-mmc; + no-sdio; card-detect-delay = <200>; disable-wp; /* wp not hooked up */ - num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; status = "okay"; vmmc-supply = <&vcc_sd>; vqmmc-supply = <&vccio_sd>; - supports-sd; -}; - -&sdio0 { - status = "okay"; - max-frequency = <150000000>; - bus-width = <4>; - cap-sd-highspeed; - cap-sdio-irq; - keep-power-in-suspend; - mmc-pwrseq = <&sdio_pwrseq>; - non-removable; - num-slots = <1>; - pinctrl-names = "default"; - pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk &sdio0_int>; - sd-uhs-sdr104; - supports-sdio; }; &gmac { @@ -334,12 +346,12 @@ assigned-clock-rates = <125000000>; snps,reset-gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; snps,reset-active-low; - snps,reset-delays-us = <0 10000 50000>; + snps,reset-delays-us = <0 10000 1000000>; pinctrl-names = "default"; pinctrl-0 = <&rgmii_pins>; tx_delay = <0x30>; rx_delay = <0x10>; - status = "ok"; + status = "okay"; }; &gpu { @@ -348,14 +360,6 @@ }; &hdmi { - status = "okay"; -}; - -&hdmi_in_vopl { - status = "disabled"; -}; - -&hdmi_in_vopb { status = "okay"; }; @@ -372,15 +376,9 @@ reg = <0x1c>; clocks = <&cru SCLK_I2S0_OUT>; clock-names = "mclk"; - interrupt-parent = <&gpio6>; - interrupts = <7 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&i2s0_mclk>; }; -}; - -&i2c3 { - status = "okay"; }; &i2c4 { @@ -398,24 +396,33 @@ }; }; -&i2c5 { - status = "okay"; -}; - &i2s { #sound-dai-cells = <0>; status = "okay"; }; -&io_domains { - status = "okay"; - - sdcard-supply = <&vccio_sd>; - wifi-supply = <&vcc_18>; -}; - &wdt { status = "okay"; +}; + +&pwm0 { + status = "okay"; +}; + +&sdio0 { + status = "okay"; + max-frequency = <150000000>; + bus-width = <4>; + cap-sd-highspeed; + no-mmc; + no-sd; + cap-sdio-irq; + mmc-pwrseq = <&sdio_pwrseq>; + keep-power-in-suspend; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk &sdio0_int>; + sd-uhs-sdr104; }; &uart0 { @@ -424,63 +431,13 @@ status = "okay"; }; -&uart1 { - status = "okay"; -}; - &uart2 { - status = "okay"; -}; - -&uart3 { - status = "okay"; -}; - -&uart4 { status = "okay"; }; &tsadc { rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ - status = "okay"; -}; - -&usbphy { - status = "okay"; -}; - -&usb_host0_ehci { - rockchip-relinquish-port; - status = "okay"; -}; - -&usb_host0_ohci { - status = "okay"; -}; - -&usb_host1 { - status = "okay"; -}; - -&usb_otg { - vbus-supply = <&vcc_otg_vbus>; - status = "okay"; -}; - -&vopb { - status = "okay"; -}; - -&vopb_mmu { - status = "okay"; -}; - -&vopl { - status = "okay"; -}; - -&vopl_mmu { status = "okay"; }; @@ -494,15 +451,21 @@ drive-strength = <8>; }; + backlight { + bl_en: bl-en { + rockchip,pins = <7 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + buttons { pwrbtn: pwrbtn { rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; }; }; - headphone { - hp_det: hp-det { - rockchip,pins = <7 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; + lcd { + lcd_cs: lcd-cs { + rockchip,pins = <7 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; }; }; @@ -551,10 +514,6 @@ otg_vbus_drv: otg-bus-drv { rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; }; - - pwr_3g: pwr-3g { - rockchip,pins = <7 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; - }; }; eth_phy { @@ -569,3 +528,41 @@ }; }; }; + +&usbphy { + status = "okay"; +}; + +&usb_host0_ehci { + rockchip-relinquish-port; + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + +&usb_host1 { + status = "okay"; +}; + +&usb_otg { + vbus-supply = <&vcc_otg_vbus>; + status = "okay"; +}; + +&vopb { + status = "okay"; +}; + +&vopb_mmu { + status = "okay"; +}; + +&vopl { + status = "okay"; +}; + +&vopl_mmu { + status = "okay"; +}; -- Gitblit v1.6.2