summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/rockchip/rk3308-ai-va-v10.dts
diff options
context:
space:
mode:
authorZiyuan Xu <xzy.xu@rock-chips.com>2018-03-21 17:03:43 +0800
committerZiyuan Xu <xzy.xu@rock-chips.com>2018-05-15 14:32:27 +0800
commitce310133c088ccbd102a2e46691ed8a51adbb2dc (patch)
tree97a1521295ba8b50a683a0ce031187fca3e4b3e2 /arch/arm64/boot/dts/rockchip/rk3308-ai-va-v10.dts
parentc53382d33d0342ec5b79e88fe6d1d4308ad05740 (diff)
arm64: dts: rockchip: support rk3308 AI-VA demo board
Change-Id: Ieca68048c5b8bb41e3e9a8524a46e59f4e88bc40 Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Diffstat (limited to 'arch/arm64/boot/dts/rockchip/rk3308-ai-va-v10.dts')
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3308-ai-va-v10.dts679
1 files changed, 679 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-ai-va-v10.dts b/arch/arm64/boot/dts/rockchip/rk3308-ai-va-v10.dts
new file mode 100644
index 000000000000..f416d59b0ccd
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3308-ai-va-v10.dts
@@ -0,0 +1,679 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include "rk3308.dtsi"
+
+/ {
+ model = "Rockchip RK3308 voice assistant v10 board";
+ compatible = "rockchip,rk3308-ai-va-v10", "rockchip,rk3308";
+
+ chosen {
+ bootargs = "earlycon=uart8250,mmio32,0xff0c0000 swiotlb=1 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=squashfs rootwait";
+ };
+
+ adc-keys0 {
+ compatible = "adc-keys";
+ io-channels = <&saradc 0>;
+ io-channel-names = "buttons";
+ poll-interval = <100>;
+ keyup-threshold-microvolt = <1800000>;
+
+ func-key {
+ linux,code = <KEY_FN>;
+ label = "function";
+ press-threshold-microvolt = <17000>;
+ };
+ };
+
+ adc-keys1 {
+ compatible = "adc-keys";
+ io-channels = <&saradc 1>;
+ io-channel-names = "buttons";
+ poll-interval = <100>;
+ keyup-threshold-microvolt = <1800000>;
+
+ play-key {
+ linux,code = <KEY_PLAY>;
+ label = "play";
+ press-threshold-microvolt = <625000>;
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mic_mute>;
+
+ mute {
+ gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_MICMUTE>;
+ label = "GPIO Mic Mute";
+ debounce-interval = <100>;
+ };
+ };
+
+ rotary {
+ compatible = "rotary-encoder";
+ pinctrl-names = "default";
+ pinctrl-0 = <&rotary_gpio>;
+ gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>,
+ <&gpio2 RK_PB4 GPIO_ACTIVE_LOW>;
+ linux,axis = <0>; /* REL_X */
+ rotary-encoder,relative-axis;
+ };
+
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_enable_h>;
+
+ /*
+ * On the module itself this is one of these (depending
+ * on the actual card populated):
+ * - SDIO_RESET_L_WL_REG_ON
+ * - PDN (power down when low)
+ */
+ reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,name = "i2s_8ch_0";
+
+ simple-audio-card,dai-link@0 {
+ format = "i2s";
+ cpu {
+ sound-dai = <&i2s_8ch_0>;
+ };
+
+ codec {
+ sound-dai = <&dummy_codec>;
+ };
+ };
+
+ simple-audio-card,dai-link@1 {
+ format = "i2s";
+ cpu {
+ sound-dai = <&i2s_8ch_0>;
+ };
+
+ codec {
+ sound-dai = <&tas5711>;
+ };
+ };
+ };
+
+ dummy_codec: dummy-codec {
+ compatible = "rockchip,dummy-codec";
+ #sound-dai-cells = <0>;
+ };
+
+ vdd_log: vdd_core: vdd-core {
+ compatible = "pwm-regulator";
+ pwms = <&pwm0 0 5000 1>;
+ regulator-name = "vdd_core";
+ regulator-min-microvolt = <827000>;
+ regulator-max-microvolt = <1340000>;
+ regulator-init-microvolt = <1015000>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-settling-time-up-us = <250>;
+ status = "okay";
+ };
+
+ vdd_1v0: vdd-1v0 {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_1v0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ vccio_sdio: vcc_1v8: vcc-1v8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_1v8";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ vin-supply = <&vcc_io>;
+ };
+
+ vcc_1v8_codec: vcc-1v8-codec {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_1v8_codec";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ vin-supply = <&vcc_io>;
+ };
+
+ vcc_ddr: vcc-ddr {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_ddr";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1500000>;
+ };
+
+ vcc_3v3_codec: vcc_io: vcc-io {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_io";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ vccio_flash: vccio-flash {
+ compatible = "regulator-fixed";
+ regulator-name = "vccio_flash";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ wireless-bluetooth {
+ compatible = "bluetooth-platdata";
+ uart_rts_gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default", "rts_gpio";
+ pinctrl-0 = <&uart4_rts>;
+ pinctrl-1 = <&uart4_rts_gpio>;
+ BT,power_gpio = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
+ BT,wake_host_irq = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+ };
+
+ wireless-wlan {
+ compatible = "wlan-platdata";
+ rockchip,grf = <&grf>;
+ wifi_chip_type = "ap6255";
+ WIFI,host_wake_irq = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+ };
+};
+
+&cpu0 {
+ cpu-supply = <&vdd_core>;
+};
+
+&dmc {
+ center-supply = <&vdd_core>;
+ status = "okay";
+};
+
+&emmc {
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ mmc-hs200-1_8v;
+ supports-emmc;
+ disable-wp;
+ non-removable;
+ num-slots = <1>;
+ status = "okay";
+};
+
+&fiq_debugger {
+ status = "okay";
+};
+
+&io_domains {
+ status = "okay";
+
+ vccio0-supply = <&vcc_io>;
+ vccio1-supply = <&vcc_io>;
+ vccio2-supply = <&vcc_1v8>;
+ vccio3-supply = <&vccio_flash>;
+ vccio4-supply = <&vccio_sdio>;
+ vccio5-supply = <&vcc_io>;
+};
+
+&i2c1 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ is31fl3236: led-controller@3c {
+ compatible = "issi,is31fl3236";
+ reg = <0x3c>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reset-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+
+ led1: led@1 {
+ label = "led1";
+ reg = <1>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <0>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led2: led@2 {
+ label = "led2";
+ reg = <2>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <0>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led3: led@3 {
+ label = "led3";
+ reg = <3>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led4: led@4 {
+ label = "led4";
+ reg = <4>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <100>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led5: led@5 {
+ label = "led5";
+ reg = <5>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <100>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led6: led@6 {
+ label = "led6";
+ reg = <6>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led7: led@7 {
+ label = "led7";
+ reg = <7>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <200>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led8: led@8 {
+ label = "led8";
+ reg = <8>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <200>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led9: led@9 {
+ label = "led9";
+ reg = <9>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led10: led@10 {
+ label = "led10";
+ reg = <10>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <300>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led11: led@11 {
+ label = "led11";
+ reg = <11>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <300>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led12: led@12 {
+ label = "led12";
+ reg = <12>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led13: led@13 {
+ label = "led13";
+ reg = <13>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <400>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led14: led@14 {
+ label = "led14";
+ reg = <14>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <400>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led15: led@15 {
+ label = "led15";
+ reg = <15>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led16: led@16 {
+ label = "led16";
+ reg = <16>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <500>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led17: led@17 {
+ label = "led17";
+ reg = <17>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <500>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led18: led@18 {
+ label = "led18";
+ reg = <18>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led19: led@19 {
+ label = "led19";
+ reg = <19>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <600>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led20: led@20 {
+ label = "led20";
+ reg = <20>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <600>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led21: led@21 {
+ label = "led21";
+ reg = <21>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led22: led@22 {
+ label = "led22";
+ reg = <22>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <700>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led23: led@23 {
+ label = "led23";
+ reg = <23>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <700>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led124: led@24 {
+ label = "led24";
+ reg = <24>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led25: led@25 {
+ label = "led25";
+ reg = <25>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <800>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led26: led@26 {
+ label = "led26";
+ reg = <26>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <800>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led27: led@27 {
+ label = "led27";
+ reg = <27>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led28: led@28 {
+ label = "led28";
+ reg = <28>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <900>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led29: led@29 {
+ label = "led29";
+ reg = <29>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <900>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led30: led@30 {
+ label = "led30";
+ reg = <30>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led31: led@31 {
+ label = "led31";
+ reg = <31>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <1000>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led32: led@32 {
+ label = "led32";
+ reg = <32>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <1000>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led33: led@33 {
+ label = "led33";
+ reg = <33>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+
+ led34: led@34 {
+ label = "led34";
+ reg = <34>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <1100>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led35: led@35 {
+ label = "led35";
+ reg = <35>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "timer";
+ linux,default-trigger-delay-ms = <1100>;
+ linux,blink-delay-on-ms = <100>;
+ linux,blink-delay-off-ms = <1200>;
+ };
+
+ led36: led@36 {
+ label = "led36";
+ reg = <36>;
+ led-max-microamp = <10000>;
+ linux,default-trigger = "default-on";
+ };
+ };
+
+ tas5711: tas5711@1b {
+ #sound-dai-cells = <0>;
+ compatible = "ti,tas5711";
+ reg = <0x1b>;
+ clocks = <&cru SCLK_I2S0_8CH_TX_OUT>;
+ clock-names = "mclk";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_8ch_0_mclk>;
+ pdn-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&i2s_8ch_0 {
+ status = "okay";
+ assigned-clocks = <&cru SCLK_I2S0_8CH_RX>;
+ assigned-clock-parents = <&cru SCLK_I2S0_8CH_TX_MUX>;
+ rockchip,clk-trcm = <1>;
+ #sound-dai-cells = <0>;
+};
+
+&pinctrl {
+ pinctrl-names = "default";
+ pinctrl-0 = <&rtc_32k>;
+
+ buttons {
+ mic_mute: mic-mute {
+ rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+ rotary {
+ rotary_gpio: rotary-gpio {
+ rockchip,pins =
+ <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>,
+ <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+ sdio-pwrseq {
+ wifi_enable_h: wifi-enable-h {
+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+};
+
+&pwm0 {
+ status = "okay";
+ pinctrl-names = "active";
+ pinctrl-0 = <&pwm0_pin_pull_down>;
+};
+
+&rockchip_suspend {
+ rockchip,pwm-regulator-config = <
+ (0
+ | RKPM_PWM_REGULATOR
+ )
+ >;
+
+ status = "okay";
+};
+
+&saradc {
+ status = "okay";
+ vref-supply = <&vcc_1v8>;
+};
+
+&sdio {
+ bus-width = <4>;
+ cap-sd-highspeed;
+ supports-sdio;
+ ignore-pm-notify;
+ keep-power-in-suspend;
+ non-removable;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ sd-uhs-sdr104;
+ status = "okay";
+};
+
+&tsadc {
+ rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
+ rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
+ status = "okay";
+};
+
+&uart4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart4_xfer &uart4_cts>;
+ status = "okay";
+};
+
+&u2phy {
+ status = "okay";
+
+ u2phy_otg: otg-port {
+ status = "okay";
+ };
+};
+
+&usb20_otg {
+ status = "okay";
+};