关键词:rk3308-voice-module-pdm-mainboard-v10-aarch32.dts ,linux_3.10,rockchip,dts
dts — rk3308-voice-module-pdm-mainboard-v10-aarch32.dts
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd */ /dts-v1/; #include "rk3308-voice-module-v10-aarch32.dtsi" #include "rk3308-voice-module-mainboard-v10-aarch32.dtsi" / { model = "Rockchip RK3308 Voice Module PDM MIC Main Board V10 (AArch32)"; compatible = "rockchip,rk3308-voice-module-pdm-mainboard-v10-aarch32", "rockchip,rk3308"; pdm_i2s_dais: pdm-i2s-dais { status = "okay"; compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais"; dais = <&pdm_8ch>, <&i2s_8ch_2>; capture,channel-mapping = <6 2>; playback,channel-mapping = <0 2>; bitclock-inversion = <1 0>; }; pdm-mic-array { status = "disabled"; compatible = "simple-audio-card"; simple-audio-card,name = "rockchip,pdm-mic-array"; simple-audio-card,cpu { sound-dai = <&pdm_8ch>; }; simple-audio-card,codec { sound-dai = <&dummy_codec>; }; }; vad-sound { status = "okay"; compatible = "rockchip,multicodecs-card"; rockchip,card-name = "rockchip,rk3308-vad"; rockchip,cpu = <&pdm_i2s_dais>; rockchip,codec = <&acodec>, <&vad>; }; }; &acodec_sound { status = "disabled"; }; &dummy_codec { status = "disabled"; #sound-dai-cells = <0>; }; &i2s_8ch_2 { status = "okay"; rockchip,no-dmaengine; #sound-dai-cells = <0>; }; &pdm_8ch { status = "okay"; #sound-dai-cells = <0>; rockchip,no-dmaengine; pinctrl-names = "default"; pinctrl-0 = <&pdm_m2_clk &pdm_m2_clkm &pdm_m2_sdi0 &pdm_m2_sdi1 &pdm_m2_sdi2 &pdm_m2_sdi3>; }; &pdm_i2s_dais { status = "okay"; #sound-dai-cells = <0>; }; &vad { status = "okay"; rockchip,audio-src = <&pdm_8ch>; rockchip,det-channel = <0>; rockchip,mode = <1>; rockchip,buffer-time-ms = <200>; #sound-dai-cells = <0>; }; DEALINGS IN THE SOFTWARE. */ /dts-v1/; #include "rk3288-evb.dtsi" #include "rk3288-android.dtsi" / { compatible = "rockchip,rk3288-evb-android-rk808-edp", "rockchip,rk3288"; sdio_pwrseq: sdio-pwrseq { compatible = "mmc-pwrseq-simple"; clocks = <&rk808 1>; clock-names = "ext_clock"; 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 = <&gpio4 28 GPIO_ACTIVE_LOW>; }; wireless-bluetooth { clocks = <&rk808 1>; clock-names = "ext_clock"; }; /delete-node/ sdmmc-regulator; vdd_log: vdd-logic { compatible = "pwm-regulator"; rockchip,pwm_id = <1>; rockchip,pwm_voltage = <1100000>; pwms = <&pwm1 0 25000 1>; regulator-name = "vcc_log"; regulator-min-microvolt = <860000>; regulator-max-microvolt = <1360000>; regulator-always-on; regulator-boot-on; }; xin32k: xin32k { compatible = "fixed-clock"; clock-frequency = <32768>; clock-output-names = "xin32k"; #clock-cells = <0>; }; }; &cpu0 { cpu-supply = <&vdd_cpu>; }; &cif_isp0 { status = "okay"; }; &dfi { status = "okay"; }; &dmc { center-supply = <&vdd_log>; status = "okay"; }; &edp { status = "okay"; }; &edp_panel { compatible = "simple-panel"; backlight = <&backlight>; enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>; enable-delay-ms = <120>; pinctrl-0 = <&lcd_cs>; power-supply = <&vcc_lcd>; status = "okay"; disp_timings: display-timings { native-mode = <&timing0>; timing0: timing0 { clock-frequency = <200000000>; hactive = <1536>; vactive = <2048>; hfront-porch = <12>; hsync-len = <16>; hback-porch = <48>; vfront-porch = <8>; vsync-len = <4>; vback-porch = <8>; hsync-active = <0>; vsync-active = <0>; de-active = <0>; pixelclk-active = <0>; }; }; }; &edp_phy { status = "okay"; }; &route_edp { status = "okay"; }; &gpu { status = "okay"; mali-supply = <&vdd_gpu>; }; &gmac { max-speed = <1000>; }; &hdmi_analog_sound { status = "okay"; }; &i2c0 { clock-frequency = <400000>; rk808: pmic@1b { compatible = "rockchip,rk808"; reg = <0x1b>; interrupt-parent = <&gpio0>; interrupts = <4 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&pmic_int &global_pwroff>; rockchip,system-power-controller; wakeup-source; #clock-cells = <1>; clock-output-names = "rk808-clkout1", "rk808-clkout2"; vcc1-supply = <&vcc_sys>; vcc2-supply = <&vcc_sys>; vcc3-supply = <&vcc_sys>; vcc4-supply = <&vcc_sys>; vcc6-supply = <&vcc_sys>; vcc8-supply = <&vcc_io>; vcc9-supply = <&vcc_io>; vcc12-supply = <&vcc_io>; vddio-supply = <&vcc_io>; regulators { vdd_cpu: DCDC_REG1 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <750000>; regulator-max-microvolt = <1400000>; regulator-name = "vdd_arm"; regulator-state-mem { regulator-off-in-suspend; }; }; vdd_gpu: DCDC_REG2 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <850000>; regulator-max-microvolt = <1250000>; regulator-name = "vdd_gpu"; regulator-ramp-delay = <6000>; regulator-state-mem { regulator-off-in-suspend; }; }; vcc_ddr: DCDC_REG3 { regulator-always-on; regulator-boot-on; regulator-name = "vcc_ddr"; regulator-state-mem { regulator-on-in-suspend; }; }; vcc_io: DCDC_REG4 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc_io"; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; }; }; vcc_tp: LDO_REG1 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc_tp"; regulator-state-mem { regulator-off-in-suspend; }; }; vcca_codec: LDO_REG2 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcca_codec"; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; }; }; vdd_10: LDO_REG3 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-name = "vdd_10"; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; }; }; vcc_wl: LDO_REG4 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc_wl"; regulator-state-mem { regulator-on-in-suspend; }; }; vccio_sd: LDO_REG5 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-name = "vccio_sd"; regulator-state-mem { regulator-off-in-suspend; }; }; vdd10_lcd: LDO_REG6 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-name = "vdd10_lcd"; regulator-state-mem { regulator-off-in-suspend; }; }; vcc_18: LDO_REG7 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc_18"; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1800000>; }; }; vcc18_lcd: LDO_REG8 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc18_lcd"; regulator-state-mem { regulator-off-in-suspend; }; }; vcc_sd: SWITCH_REG1 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc_sd"; regulator-state-mem { regulator-off-in-suspend; }; }; vcc_lcd: SWITCH_REG2 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc_lcd"; regulator-state-mem { regulator-off-in-suspend; }; }; }; }; CW2015@62 { compatible = "cw201x"; reg = <0x62>; bat_low_gpio = <&gpio0 7 GPIO_ACTIVE_LOW>; dc_det_gpio = <&gpio0 8 GPIO_ACTIVE_LOW>; chg_ok_gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>; bat_config_info = <0x15 0x42 0x60 0x59 0x52 0x58 0x4D 0x48 0x48 0x44 0x44 0x46 0x49 0x48 0x32 0x24 0x20 0x17 0x13 0x0F 0x19 0x3E 0x51 0x45 0x08 0x76 0x0B 0x85 0x0E 0x1C 0x2E 0x3E 0x4D 0x52 0x52 0x57 0x3D 0x1B 0x6A 0x2D 0x25 0x43 0x52 0x87 0x8F 0x91 0x94 0x52 0x82 0x8C 0x92 0x96 0xFF 0x7B 0xBB 0xCB 0x2F 0x7D 0x72 0xA5 0xB5 0xC1 0x46 0xAE>; is_dc_charge = <1>; is_usb_charge = <0>; monitor_sec = <5>; virtual_power = <0>; divider_res1 = <200>; divider_res2 = <200>; }; }; &i2c1 { status = "okay"; clock-frequency = <400000>; mpu6050@68 { compatible = "invensense,mpu6050"; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&mpu6050_irq_gpio>; reg = <0x68>; irq-gpio = <&gpio8 0 IRQ_TYPE_EDGE_RISING>; mpu-int_config = <0x10>; mpu-level_shifter = <0>; mpu-orientation = <0 1 0 1 0 0 0 0 1>; orientation-x= <0>; orientation-y= <0>; orientation-z= <1>; support-hw-poweroff = <0>; mpu-debug = <1>; }; ak8963:compass@0d{ compatible = "mpu_ak8963"; reg = <0x0d>; compass-bus = <0>; compass-adapt_num = <0>; compass-orientation = <1 0 0 0 1 0 0 0 1>; orientation-x= <0>; orientation-y= <0>; orientation-z= <1>; compass-debug = <1>; status = "okay"; }; }; &io_domains { status = "okay"; audio-supply = <&vcc_io>; bb-supply = <&vcc_io>; dvp-supply = <&vcc_io>; flash0-supply = <&vcc_18>; flash1-supply = <&vcc_io>; gpio30-supply = <&vcc_io>; gpio1830 = <&vcc_io>; lcdc-supply = <&vcc_lcd>; sdcard-supply = <&vccio_sd>; wifi-supply = <&vcc_wl>; }; &lvds_panel { power-supply = <&vcc_lcd>; }; &rockchip_suspend { status = "okay"; rockchip,pwm-regulator-config = < (0 | PWM1_REGULATOR_EN ) >; }; &pwm1 { status = "okay"; pinctrl-names = "active"; pinctrl-0 = <&pwm1_pin_pull_down>; }; &pinctrl { mpu6050 { mpu6050_irq_gpio: mpu6050-irq-gpio { rockchip,pins = <8 0 RK_FUNC_GPIO &pcfg_pull_none>; }; }; }; g = <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"; }; }; }; &i2s { #sound-dai-cells = <0>; status = "okay"; }; &sdio { status = "okay"; bus-width = <4>; cap-sd-highspeed; cap-sdio-irq; default-sample-phase = <90>; keep-power-in-suspend; mmc-pwrseq = <&sdio_pwrseq>; non-removable; num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; sd-uhs-sdr12; sd-uhs-sdr25; sd-uhs-sdr50; sd-uhs-sdr104; supports-sdio; }; &sdmmc { bus-width = <4>; cap-mmc-highspeed; cap-sd-highspeed; card-detect-delay = <200>; disable-wp; num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; }; &uart0 { pinctrl-0 = <&uart0_xfer>, <&uart0_cts>; status = "okay"; }; &uart2 { status = "disabled"; }; &usb_host { status = "okay"; }; &usb_otg { status = "okay"; }; &vop { status = "okay"; }; &vop_mmu { status = "okay"; }; &vpu_combo { status = "okay"; }; &vpu_mmu { status = "okay"; }; &wdt { status = "okay"; }; &pinctrl { pmic { pmic_int: pmic-int { rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_pull_default>; }; }; keys { pwr_key: pwr-key { rockchip,pins = <2 25 RK_FUNC_GPIO &pcfg_pull_default>; }; }; sdio { bt_wake_h: bt-wake-h { rockchip,pins = <2 8 RK_FUNC_GPIO &pcfg_pull_default>; }; }; sdmmc { sdmmc_pwr: sdmmc-pwr { rockchip,pins = <2 28 RK_FUNC_GPIO &pcfg_pull_none>; }; }; sleep { global_pwroff: global-pwroff { rockchip,pins = <2 7 RK_FUNC_1 &pcfg_pull_none>; }; }; wireless-bluetooth { uart0_gpios: uart0-gpios { rockchip,pins = <0 19 RK_FUNC_GPIO &pcfg_pull_none>; }; }; };