/* * Copyright (C) 2013 Spreadtrum Communication Incorporated * http://www.spreadtrum.com/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ /dts-v1/; /* memory reserved for SMEM */ /memreserve/ 0x87800000 0x140000; /* (SZ_1M + SZ_256K) */ /* memory reserved for CPW modem */ /memreserve/ 0x90000000 0x1c00000; /* (SZ_1M * 28) */ /* memory reserved for ION */ /memreserve/ 0x9ca00000 0x3600000; /* 54M */ /include/ "skeleton.dtsi" /include/ "scx35-clocks.dtsi" /include/ "scx35-regulators.dtsi" /include/ "sprd-sound.dtsi" /include/ "sprd-battery.dtsi" / { model = "Spreadtrum KANAS_W board"; compatible = "sprd,kanas_w"; sprd,sc-id = <8830 2 0x20000>; #address-cells = <1>; #size-cells = <1>; interrupt-parent = <&gic>; chosen { bootargs = "console=ttyS1,115200n8 init=/init root=/dev/ram0 rw"; linux,initrd-start = <0x85500000>; linux,initrd-end = <0x855a3212>; }; memory { device_type = "memory"; reg = <0x80000000 0x20000000>; }; aliases { serial0 = &uart0; serial1 = &uart1; serial2 = &uart2; serial3 = &uart3; i2c0 = &i2c0; i2c1 = &i2c1; i2c2 = &i2c2; i2c3 = &i2c3; i2c_gpio6 = &i2c_gpio6; i2c_gpio7 = &i2c_gpio7; i2c_gpio8 = &i2c_gpio8; lcd0 = &fb0; spi0 = &spi0; spi1 = &spi1; spi2 = &spi2; hwspinlock0 = &hwspinlock0; hwspinlock1 = &hwspinlock1; }; cpus { #address-cells = <1>; #size-cells = <0>; cpu@f00 { device_type = "cpu"; compatible = "arm,cortex-a7"; reg = <0xf00>; }; cpu@f01 { device_type = "cpu"; compatible = "arm,cortex-a7"; reg = <0xf01>; }; cpu@f02 { device_type = "cpu"; compatible = "arm,cortex-a7"; reg = <0xf02>; }; cpu@f03 { device_type = "cpu"; compatible = "arm,cortex-a7"; reg = <0xf03>; }; }; gic: interrupt-controller@12001000 { compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; #interrupt-cells = <3>; #address-cells = <0>; interrupt-controller; reg = <0x12001000 0x1000>, <0x12002000 0x1000>; }; uart0: uart@f5360000{ compatible = "sprd,serial"; interrupts = <0 2 0x0>; reg = <0xf5360000 0x1000>; clock-names = "clk_uart0"; clocks = <&clock 60>; sprdclk = <48000000>; sprdwaketype = "BT_RTS_HIGH_WHEN_SLEEP"; }; uart1: uart@f5362000{ compatible = "sprd,serial"; interrupts = <0 3 0x0>; reg = <0xf5362000 0x1000>; clock-names = "clk_uart1"; clocks = <&clock 61>; sprdclk = <26000000>; sprdwaketype = "BT_RTS_HIGH_WHEN_SLEEP"; }; uart2: uart@f5364000{ compatible = "sprd,serial"; interrupts = <0 4 0x0>; reg = <0xf5364000 0x1000>; clock-names = "clk_uart2"; clocks = <&clock 62>; sprdclk = <26000000>; sprdwaketype = "BT_RTS_HIGH_WHEN_SLEEP"; }; uart3: uart@f5366000{ compatible = "sprd,serial"; interrupts = <0 5 0x0>; reg = <0xf5366000 0x1000>; clock-names = "clk_uart3"; clocks = <&clock 63>; sprdclk = <26000000>; sprdwaketype = "BT_RTS_HIGH_WHEN_SLEEP"; }; timer{ compatible = "sprd,scx35-timer"; reg = <0xf5204000 0x1000>, <0xf51f4000 0x1000>, <0xf5202000 0x1000>, <0xf5292000 0x1000>, <0xf5294000 0x1000>; interrupts = <0 118 0x0>, <0 28 0x0>, <0 29 0x0>, <0 119 0x0>, <0 121 0x0>; }; clock: clockdevice{ compatible = "sprd,scx35-clock"; #clock-cells = <1>; }; d_eic_gpio: gpio@f5200000{ compatible = "sprd,d-eic-gpio"; reg = <0Xf5200000 0x1000>; gpio-controller; interrupt-controller; #interrupt-cells = <2>; #gpio-cells = <2>; gpiobase = <288>; ngpios = <16>; interrupts = <0 37 0x0>; }; d_gpio_gpio: gpio@f5220000{ compatible = "sprd,d-gpio-gpio"; reg = <0Xf5220000 0x1000>; gpio-controller; interrupt-controller; #interrupt-cells = <2>; #gpio-cells = <2>; gpiobase = <0>; ngpios = <256>; interrupts = <0 35 0x0>; }; adic:adic{ compatible = "sprd,adic"; reg = <0Xf53f0000 0x1000>; }; adi: adi_bus{ compatible = "sprd,adi-bus"; interrupts = <0 38 0x0>; reg = <0Xf53f8000 0x1000>; interrupt-controller; sprd,irqnums = <11>; #interrupt-cells = <2>; #address-cells = <1>; #size-cells = <1>; ranges = <0X40 0Xf53f8040 0x40>, <0X80 0Xf53f8080 0x80>, <0X100 0Xf53f8100 0x80>, <0X480 0Xf53f8480 0x80>; sprd_backlight { compatible = "sprd,sprd_backlight"; max_brightness = <255>; dft_brightness = <50>; ctrl_pin = <214>; }; watchdog@40{ compatible = "sprd,watchdog"; reg = <0X40 0x40>; interrupts = <3 0x0>; }; rtc@80{ compatible = "sprd,rtc"; reg = <0X80 0x80>; interrupts = <2 0x0>; }; a_eic_gpio: gpio@100{ compatible = "sprd,a-eic-gpio"; reg = <0X100 0x80>; /* adi reg */ gpio-controller; interrupt-controller; #interrupt-cells = <2>; #gpio-cells = <2>; gpiobase = <304>; ngpios = <16>; interrupt-parent = <&adi>; interrupts = <5 0x0>; /* ext irq 5 */ }; a_gpio_gpio: gpio@480{ compatible = "sprd,a-gpio-gpio"; reg = <0X480 0x80>; /* adi reg */ gpio-controller; interrupt-controller; #interrupt-cells = <2>; #gpio-cells = <2>; gpiobase = <256>; ngpios = <32>; interrupt-parent = <&adi>; interrupts = <1 0x0>; /* ext irq 1 */ }; }; keypad@f5208000{ compatible = "sprd,sci-keypad"; reg = <0Xf5208000 0x1000>; gpios = <&a_eic_gpio 2 0>; interrupts = <0 36 0x0>; sprd,keypad-num-rows = <2>; sprd,keypad-num-columns = <2>; sprd,keypad-rows-choose-hw = <0x30000>; sprd,keypad-cols-choose-hw = <0x300>; sprd,debounce_time = <5000>; linux,keypad-no-autorepeat; sprd,support_long_key; key_volume_down { keypad,row = <0>; keypad,column = <0>; linux,code = <114>; }; key_volume_up { keypad,row = <1>; keypad,column = <0>; linux,code = <115>; }; key_home { keypad,row = <0>; keypad,column = <1>; linux,code = <102>; }; }; gpio_keys { compatible = "gpio-keys"; home { label = "Home Key"; linux,code = <102>; gpios = <&d_gpio_gpio 113 1>; debounce-interval = <2>; gpio-key,wakeup; }; }; rfkill { compatible = "broadcom,rfkill"; gpios = <&d_gpio_gpio 231 0 /* power */ &d_gpio_gpio 233 0>; /* reset */ }; sprd_vsp@f5300000{ compatible = "sprd,sprd_vsp"; reg = <0Xf5300000 0xc000>; interrupts = <0 43 0x0>; clock-names = "clk_mm_i", "clk_vsp", "clk_parent_0", "clk_parent_1", "clk_parent_2", "clk_parent_3"; clocks = <&clk_mm>, <&clk_vsp>, <&clk_256m>, <&clk_192m>, <&clk_128m>, <&clk_76m8>; clock-parent-info = <2 4>; version = <0>; }; sprd_jpg { compatible = "sprd,sprd_jpg"; reg = <0Xf5320000 0x8000>; interrupts = <0 42 0x0>; clock-names = "clk_mm_i","clk_jpg"; clocks = <&clk_mm>, <&clk_jpg>; }; regulators { compatible = "sprd,sc2713-regulator"; vddcore: vddcore { }; vddarm{ }; vddmem{ }; vddldo{ }; vddwpa{ }; vddwrf{ }; vdd18{ }; vdd28{ }; vdd25{ }; vddrf0{ }; vddrf1{ }; vddrf2{ }; vddemmcio{ }; vddemmccore{ }; avdd18{ }; vddsd{ }; vddsim0{ }; vddsim1{ }; vddsim2{ }; vddcama{ }; vddcamd{ }; vddcamio{ }; vddcammot{ }; vddusb{ }; vddclsg{ }; chg_pump{ }; led_flash{ }; }; i2c0: i2c@f536a000{ compatible = "sprd,i2c"; interrupts = <0 11 0x0>; reg = <0xf536a000 0x1000>; #address-cells = <1>; #size-cells = <0>; }; i2c1: i2c@f536c000{ compatible = "sprd,i2c"; interrupts = <0 12 0x0>; reg = <0xf536c000 0x1000>; #address-cells = <1>; #size-cells = <0>; ist30xx_ts@50{ compatible = "Imagis,IST30XX"; reg = <0x50>; gpios = <&d_gpio_gpio 82 0>; }; }; i2c2: i2c@f5370000{ compatible = "sprd,i2c"; interrupts = <0 13 0x0>; reg = <0xf5370000 0x1000>; #address-cells = <1>; #size-cells = <0>; bmm050@12{ compatible = "Bosch,bmm050"; reg = <0x12>; gpios = <&d_gpio_gpio 162 0>; }; }; i2c3: i2c@f5372000{ compatible = "sprd,i2c"; interrupts = <0 14 0x0>; reg = <0xf5372000 0x1000>; #address-cells = <1>; #size-cells = <0>; }; sec-battery { compatible = "Samsung,battery"; }; i2c_gpio6: i2c_gpio@0 { compatible = "i2c-gpio"; gpios = <&d_gpio_gpio 66 0 /* sda */ &d_gpio_gpio 65 0 >; /* scl */ /*i2c-gpio,sda-open-drain;*/ /*i2c-gpio,scl-open-drain;*/ i2c-gpio,delay-us = <10>; /* ~100 kHz */ i2c-gpio,timeout-ms = <0>; #address-cells = <1>; #size-cells = <0>; fuelgauge@35 { compatible = "Samsung,fuelgauge"; reg = <0x35>; }; }; i2c_gpio8: i2c_gpio@1 { compatible = "i2c-gpio"; gpios = <&d_gpio_gpio 124 0 /* sda */ &d_gpio_gpio 125 0 >; /* scl */ /*i2c-gpio,sda-open-drain;*/ /*i2c-gpio,scl-open-drain;*/ i2c-gpio,delay-us = <3>; /* ~100 kHz */ i2c-gpio,timeout-ms = <100>; #address-cells = <1>; #size-cells = <0>; rt5033mfd@34 { compatible = "richtek,rt5033mfd"; reg = <0x34>; rt5033,irq-gpio = <&d_gpio_gpio 126 0>; }; }; i2c_gpio7: i2c_gpio@2 { compatible = "i2c-gpio"; gpios = <&d_gpio_gpio 108 0 /* sda */ &d_gpio_gpio 109 0 >; /* scl */ /*i2c-gpio,sda-open-drain;*/ /*i2c-gpio,scl-open-drain;*/ i2c-gpio,delay-us = <10>; /* ~100 kHz */ i2c-gpio,timeout-ms = <0>; #address-cells = <1>; #size-cells = <0>; rt8973@14 { compatible = "richtek,rt8973"; reg = <0x14>; rt8973,irq-gpio = <&d_gpio_gpio 110 0>; }; }; sprd_dcam{ compatible = "sprd,sprd_dcam"; interrupts = <0 44 0>; reg = <0xf12f0000 0x100000>; #address-cells = <1>; #size-cells = <0>; }; sprd_scale { compatible = "sprd,sprd_scale"; }; sprd_rotation { compatible = "sprd,sprd_rotation"; }; sprd_sensor { compatible = "sprd,sprd_sensor"; gpios = <&d_gpio_gpio 186 0 /* main reset */ &d_gpio_gpio 121 0 /* sub reset*/ &d_gpio_gpio 187 0 /* main */ &d_gpio_gpio 188 0 >; /* sub */ }; sprd_isp { compatible = "sprd,sprd_isp"; }; fb0: fb@20800000 { compatible = "sprd,sprdfb"; reg = <0xf5122000 0x1000>,<0xf5146000 0x1000>; interrupts = <0 46 0x0>,<0 48 0x0>, <0 49 0x0>; clock-names = "dispc_clk_parent", "dispc_dbi_clk_parent", "dispc_dpi_clk_parent", "dispc_emc_clk_parent", "dispc_clk", "dispc_dbi_clk", "dispc_dpi_clk", "dispc_emc_clk", "fb_spi_clock", "fb_spi_clock_parent"; clocks = <&clk_256m>, <&clk_256m>, <&clk_384m>, <&clk_aon_apb>, <&clk_dispc0>, <&clk_dispc0_dbi>, <&clk_dispc0_dpi>, <&clk_disp_emc>, <&clk_spi2>, <&ext_26m>; clock-src = <256000000 256000000 384000000>; dpi_clk_div = <7>; }; gsp:gsp@20a00000 { compatible = "sprd,gsp"; reg = <0xf5126000 0x1000>; interrupts = <0 51 0x0>; clock-names = "clk_gsp", "clk_disp_emc", "clk_gsp_parent", "clk_aon_apb"; clocks = <&clk_gsp>, <&clk_disp_emc>, <&clk_256m>, <&clk_aon_apb>; }; sprd_fm: sprd_fm@40270000{ compatible = "sprd,sprd_fm"; reg = <0xf5210000 0x1000>, <0xf5250000 0x10000>, <0xf5230000 0x10000>; }; /* sipc initializer */ sipc: sipc@0x87800000 { compatible = "sprd,sipc"; reg = <0x87800000 0x140000>; /* */ //#interrupt-cells = <2>; #address-cells = <1>; #size-cells = <1>; ranges = <0x10000000 0x90000000 0x1c00000>, <0x07800000 0x87800000 0x140000>, <0x11bff000 0x91bff000 0x1000>; sipc_cpw@0x10000000 { sprd,name = "sipc-w"; sprd,dst = <2>; sprd,ap2cp = <0xf5240000>; /* base on ipi reggister */ sprd,cp2ap = <0xf5240004>; sprd,trig = <0x01>; /* trigger bit */ sprd,clr = <0x01>; /* clear bit */ interrupts = <0 68 0x0>; reg = <0x10000000 0x2100000> , /* */ <0x07800000 0x140000>, /* */ <0x11bff000 0x1000>; /* smsg ring buffer */ }; }; /* cpw virtual devices */ spipe-cpw { compatible = "sprd,spipe"; sprd,name = "spipe_w"; sprd,dst = <2>; sprd,channel = <4>; sprd,ringnr = <9>; sprd,size-rxbuf = <0x1000>; /* 4*1024 */ sprd,size-txbuf = <0x1000>; /* 4*1024 */ }; slog-cpw { compatible = "sprd,spipe"; sprd,name = "slog_w"; sprd,dst = <2>; sprd,channel = <5>; sprd,ringnr = <1>; sprd,size-rxbuf = <0x40000>; /* 256*1024*/ sprd,size-txbuf = <0x8000>; /* 32*1024 */ }; stty-cpw { compatible = "sprd,spipe"; sprd,name = "stty_w"; sprd,dst = <2>; sprd,channel = <6>; sprd,ringnr = <32>; sprd,size-rxbuf = <0x0800>; /* 2*1024*/ sprd,size-txbuf = <0x0800>; /* 2*1024 */ }; seth0-cpw { compatible = "sprd,seth"; sprd,name = "seth_w0"; sprd,dst = <2>; sprd,channel = <7>; sprd,blknum = <64>; }; seth1-cpw { compatible = "sprd,seth"; sprd,name = "seth_w1"; sprd,dst = <2>; sprd,channel = <8>; sprd,blknum = <64>; }; seth2-cpw { compatible = "sprd,seth"; sprd,name = "seth_w2"; sprd,dst = <2>; sprd,channel = <9>; sprd,blknum = <64>; }; scproc_cpw: scproc@0x88000000 { compatible = "sprd,scproc"; sprd,name = "cpw"; sprd,ctrl-reg = <0x3c 0x3c 0xa8 0xb8>; /* */ sprd,ctrl-mask = <0x02000000 0x10000000 0x01 0xf0000000>; /* masks <> */ sprd,iram-data = <0xe59f0000 0xe12fff10 0x90300000>; /* 3rd param equals modem_addr*/ reg = <0x90000000 0x2100000>, /* */ <0xf53d4000 0x0c>, /* */ <0xf5230000 0x10000>; /* */ interrupts = <0 83 0x0>; /* cp0_wdg_int */ #address-cells = <1>; #size-cells = <1>; /* segnr=2 */ ranges = <0x300000 0x90300000 0x00800000>, <0x20000 0x90020000 0x00200000>; modem@0x300000 { cproc,name = "modem"; reg = <0x300000 0x00800000>; /* */ }; dsp@0x20000 { cproc,name = "dsp"; reg = <0x20000 0x00200000>; /* */ }; }; saudio_w{ compatible = "sprd,saudio"; sprd,saudio-dst-id = <2>; sprd,saudio-names = "saudio_w"; }; sdhci3: sdhci@f511c000{ compatible = "sprd,sdhci-shark"; interrupts = <0 60 0x0>; reg = <0xf511c000 0x1000>; id = <3>; bus-width = <8>; max-frequency = <192000000>; keep-power-in-suspend = <1>; non-removable = <1>; caps = <0x80000800>; caps2 = <0x202>; host-caps-mask = <0x03000000>; vdd-vmmc = "vddemmccore"; vdd-vqmmc = "vddemmcio"; emmc-signal-supply = <&vddemmccore>; vdd-level = <1200000 1300000 1500000 1800000>; clock-names = "clk_emmc"; clocks = <&clk_emmc>, <&clk_192m>; enb-bit = <0x800>; rst-bit = <0x4000>; write-delay = <0x20>; read-pos-delay = <0x07>; read-neg-delay = <0x05>; keep-power = <0>; runtime = <1>; }; sdhci0: sdhci@f5117000{ compatible = "sprd,sdhci-shark"; interrupts = <0 57 0x0>; reg = <0xf5117000 0x1000>; id = <0>; bus-width = <4>; max-frequency = <192000000>; keep-power-in-suspend = <1>; caps = <0x80000000>; caps2 = <0x202>; host-caps-mask = <0x05000000>; vdd-vqmmc = "vddsd"; sd-supply = <&vddsd>; vdd-level = <0 0 1800000 3000000>; vqmmc-voltage-level = <3000000>; pinmap-offset = <0x01E0>; d3-gpio = <100>; d3-index = <0>; sd-func = <0>; gpio-func = <3>; clock-names = "clk_sdio0"; clocks = <&clk_sdio0>, <&clk_192m>; enb-bit = <0x100>; rst-bit = <0x800>; keep-power = <0>; runtime = <1>; }; sdhci1: sdhci@f5118000{ compatible = "sprd,sdhci-shark"; interrupts = <0 58 0x0>; reg = <0xf5118000 0x1000>; id = <1>; bus-width = <4>; max-frequency = <96000000>; keep-power-in-suspend = <1>; cap-power-off-card = <1>; caps = <0x80000000>; clock-names = "clk_sdio1"; clocks = <&clk_sdio1>, <&clk_96m>; enb-bit = <0x200>; rst-bit = <0x1000>; keep-power = <0>; runtime = <1>; }; usb: usb@f5116000{ compatible = "sprd,usb"; interrupts = <0 55 0x0>; ngpios = <2>; gpios = <&a_eic_gpio 0 0>,<&d_gpio_gpio 72 0>; reg = <0xf5116000 0x1000>; #address-cells = <1>; #size-cells = <0>; }; spi0: spi@70a00000{ compatible = "sprd,sprd-spi"; interrupts = <0 7 0x0>; reg = <0xf5376000 0x1000>; clock-names = "clk_spi0"; #address-cells = <1>; #size-cells = <0>; }; spi1: spi@70b00000{ compatible = "sprd,sprd-spi"; interrupts = <0 8 0x0>; reg = <0xf5378000 0x1000>; clock-names = "clk_spi1"; #address-cells = <1>; #size-cells = <0>; }; spi2: spi@70c00000{ compatible = "sprd,sprd-spi"; interrupts = <0 9 0x0>; reg = <0xf537a000 0x1000>; clock-names = "clk_spi2"; #address-cells = <1>; #size-cells = <0>; }; dmac: dmac@20100000{ compatible = "sprd,sprd-dma"; interrupts = <0 50 0x0>; reg = <0xf5112000 0x4000>; }; adc: adc@40038300{ compatible = "sprd,sprd-adc"; reg = <0xf53f8300 0x400>; }; hwspinlock0: hwspinlock0@20c00000{ compatible = "sprd,sprd-hwspinlock"; reg = <0xf512a000 0x1000>; }; hwspinlock1: hwspinlock1@40060000{ compatible = "sprd,sprd-hwspinlock"; reg = <0xf51f6000 0x1000>; }; gpu { compatible = "sprd,mali-utgard"; mali_pp_core_number = <4>; interrupt-names = "mali_gp_irq", "mali_gp_mmu_irq", "mali_pp0_irq", "mali_pp0_mmu_irq", "mali_pp1_irq", "mali_pp1_mmu_irq"; reg-names = "mali_l2", "mali_gp", "mali_gp_mmu", "mali_pp0", "mali_pp0_mmu", "mali_pp1", "mali_pp1_mmu", "mali_pmu"; interrupts = <0 39 0x0>, // MALI_GP_IRQ, <0 39 0x0>, // MALI_GP_MMU_IRQ, <0 39 0x0>, // MALI_PP0_IRQ, <0 39 0x0>, // MALI_PP0_MMU_IRQ, <0 39 0x0>, // MALI_PP1_IRQ, <0 39 0x0>; // MALI_PP1_MMU_IRQ, reg = <0x60001000 0x200>,// MALI_L2,MALI_GPU_RESOURCE_L2(base_addr + 0x1000) <0x60000000 0x100>,// MALI_GP, <0x60003000 0x100>,// MALI_GP_MMU, <0x60008000 0x1100>,// MALI_PP0, <0x60004000 0x100>,// MALI_PP0_MMU, <0x6000A000 0x1100>,// MALI_PP1, <0x60005000 0x100>,// MALI_PP1_MMU, <0x60002000 0x100>;// MALI_PMU, clock-names = "clk_gpu_axi","clk_gpu","clk_208m","clk_256m","clk_312m"; clocks = <&clk_gpu_axi>,<&clk_gpu>,<&clk_208m>,<&clk_256m>,<&clk_312m>; }; ion { compatible = "sprd,ion-sprd"; #address-cells = <1>; #size-cells = <0>; sprd,ion-heap@1 { reg = <1>; /* SYSTEM */ reg-names = "ion_heap_system"; sprd,ion-heap-type = <0>; /* SYSTEM */ }; sprd,ion-heap@2 { reg = <2>; /* MM */ reg-names = "ion_heap_carveout_mm"; sprd,ion-heap-type = <2>; /* CARVEOUT */ sprd,ion-heap-mem = <0x9ca00000 0x3200000>; /* 50M */ }; sprd,ion-heap@3 { reg = <3>; /* OVERLAY */ reg-names = "ion_heap_carveout_overlay"; sprd,ion-heap-type = <2>; /* CARVEOUT */ sprd,ion-heap-mem = <0x9fc00000 0x400000>; /* 4M */ }; }; sprd_rf2351: sprd_rf2351@40070000{ compatible = "sprd,sprd_rf2351"; reg = <0xf51f8000 0x1000>, /*RFSPI*/ <0xf5250000 0x10000>; /*APB_EB0*/ clock-names = "clk_cpll"; clocks = <&clk_cpll>; }; gps_2351: gps_2351@21c00000{ compatible = "sprd,gps_2351"; interrupts = <0 52 0x0>; gpios = <&d_gpio_gpio 50 0>; reg = <0xf5150000 0x1000>, /*GPS CORE BASE*/ <0xf5130000 0x10000>; /*AHB_ADDR*/ }; }; &vbc_r2p0 { status = "okay"; }; &sprd_codec_v3 { status = "okay"; sprd,audio_power_ver = <3>; }; &i2s0 { sprd,config = <&pcm_def_config>; status = "okay"; }; &i2s1 { status = "okay"; }; &i2s2 { status = "okay"; }; &i2s3 { status = "okay"; }; &i2s_sound { sprd,i2s = <&i2s0>, <&i2s1>, <&i2s2>, <&i2s3>; };