/dts-v1/; #include "rk3288.dtsi" #include "lcd-box.dtsi" / { fiq-debugger { status = "disabled"; }; hsic-usb-hub{ compatible = "hub_reset"; reset,pin =<&gpio7 GPIO_A6 GPIO_ACTIVE_HIGH>; // hub reset pin status = "disabled"; }; wireless-wlan { compatible = "wlan-platdata"; /* wifi_chip_type - wifi chip define * bcmwifi ==> like ap6xxx, rk90x; * rtkwifi ==> like rtl8188xx, rtl8723xx,rtl8812auv; * esp8089 ==> esp8089; * other ==> for other wifi; */ wifi_chip_type = "bcmwifi"; sdio_vref = <1800>; //1800mv or 3300mv //keep_wifi_power_on; //power_ctrl_by_pmu; power_pmu_regulator = "act_ldo3"; power_pmu_enable_level = <1>; //1->HIGH, 0->LOW //vref_ctrl_enable; //vref_ctrl_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_HIGH>; vref_pmu_regulator = "act_ldo3"; vref_pmu_enable_level = <1>; //1->HIGH, 0->LOW WIFI,poweren_gpio = <&gpio4 GPIO_D4 GPIO_ACTIVE_HIGH>; WIFI,host_wake_irq = <&gpio4 GPIO_D6 GPIO_ACTIVE_HIGH>; //WIFI,reset_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_LOW>; status = "okay"; }; wireless-bluetooth { compatible = "bluetooth-platdata"; //wifi-bt-power-toggle; uart_rts_gpios = <&gpio4 GPIO_C3 GPIO_ACTIVE_LOW>; pinctrl-names = "default","rts_gpio"; pinctrl-0 = <&uart0_rts>; pinctrl-1 = <&uart0_rts_gpio>; BT,power_gpio = <&gpio4 GPIO_D3 GPIO_ACTIVE_HIGH>; BT,reset_gpio = <&gpio4 GPIO_D5 GPIO_ACTIVE_HIGH>; BT,wake_gpio = <&gpio4 GPIO_D2 GPIO_ACTIVE_HIGH>; BT,wake_host_irq = <&gpio4 GPIO_D7 GPIO_ACTIVE_LOW>; status = "okay"; }; pwm_regulator { compatible = "rockchip_pwm_regulator"; pwms = <&pwm1 0 2000>; rockchip,pwm_id= <1>; rockchip,pwm_voltage_map= <925000 950000 975000 1000000 1025000 1050000 1075000 1100000 1125000 1150000 1175000 1200000 1225000 1250000 1275000 1300000 1325000 1350000 1375000 1400000>; rockchip,pwm_voltage= <1100000>; rockchip,pwm_min_voltage= <925000>; rockchip,pwm_max_voltage= <1400000>; rockchip,pwm_suspend_voltage= <950000>; rockchip,pwm_coefficient= <475>; regulators { #address-cells = <1>; #size-cells = <0>; pwm_reg0: regulator@0 { regulator-compatible = "pwm_dcdc1"; regulator-name= "vdd_logic"; regulator-min-microvolt = <925000>; regulator-max-microvolt = <1400000>; regulator-always-on; regulator-boot-on; }; }; }; codec_hdmi_i2s: codec-hdmi-i2s { compatible = "hdmi-i2s"; }; codec_hdmi_spdif: codec-hdmi-spdif { compatible = "hdmi-spdif"; }; rockchip-hdmi-i2s { compatible = "rockchip-hdmi-i2s"; dais { dai0 { audio-codec = <&codec_hdmi_i2s>; i2s-controller = <&i2s>; format = "i2s"; //continuous-clock; //bitclock-inversion; //frame-inversion; //bitclock-master; //frame-master; }; }; }; rockchip-hdmi-spdif { compatible = "rockchip-hdmi-spdif"; dais { dai0 { audio-codec = <&codec_hdmi_spdif>; i2s-controller = <&spdif>; }; }; }; rockchip-rk1000 { compatible = "rockchip-rk1000"; dais { dai0 { audio-codec = <&rk1000_codec>; i2s-controller = <&i2s>; format = "i2s"; //continuous-clock; //bitclock-inversion; //frame-inversion; //bitclock-master; //frame-master; }; }; }; rockchip-es8323 { compatible = "rockchip-es8323"; dais { dai0 { audio-codec = <&es8323>; i2s-controller = <&i2s>; format = "i2s"; //continuous-clock; //bitclock-inversion; //frame-inversion; //bitclock-master; //frame-master; }; }; }; rkxx-remotectl{ compatible = "rockchip,remotectl"; module-gpios = <&gpio7 GPIO_A0 GPIO_ACTIVE_LOW>; led-power = <&gpio8 GPIO_A1 GPIO_ACTIVE_LOW>; status = "disabled"; }; firefly-led{ compatible = "firefly,led"; led-work = <&gpio8 GPIO_A2 GPIO_ACTIVE_LOW>; led-power = <&gpio8 GPIO_A1 GPIO_ACTIVE_LOW>; status = "okay"; }; leds { compatible = "gpio-leds"; power { label = "firefly:blue:power"; linux,default-trigger = "ir-power-click"; default-state = "on"; gpios = <&gpio8 GPIO_A1 GPIO_ACTIVE_LOW>; }; user { label = "firefly:yellow:user"; linux,default-trigger = "ir-user-click"; default-state = "off"; gpios = <&gpio8 GPIO_A2 GPIO_ACTIVE_LOW>; }; }; atx8_unsetup{ compatible = "firefly,noatx8"; atx8-rst = <&gpio7 GPIO_C5 GPIO_ACTIVE_HIGH>; status = "okay"; }; usb_control { compatible = "rockchip,rk3288-usb-control"; host_drv_gpio = <&gpio0 GPIO_B6 GPIO_ACTIVE_LOW>; otg_drv_gpio = <&gpio0 GPIO_B4 GPIO_ACTIVE_LOW>; rockchip,remote_wakeup; rockchip,usb_irq_wakeup; }; }; &gmac { // pmu_regulator = "act_ldo5"; // pmu_enable_level = <1>; //1->HIGH, 0->LOW // power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>; reset-gpio = <&gpio4 GPIO_B0 GPIO_ACTIVE_LOW>; phy-mode = "rgmii"; clock_in_out = "input"; tx_delay = <0x30>; rx_delay = <0x20>; }; &pinctrl { //used for init some gpio init-gpios = <&gpio8 GPIO_A0 GPIO_ACTIVE_HIGH &gpio7 GPIO_B1 GPIO_ACTIVE_HIGH &gpio4 GPIO_B0 GPIO_ACTIVE_HIGH>; gpio0_gpio { gpio0_c2: gpio0-c2 { rockchip,pins = ; rockchip,pull = ; }; //to add }; gpio7_gpio { gpio7_b7: gpio7-b7 { rockchip,pins = ; rockchip,pull = ; }; //to add }; //could add other pinctrl definition such as gpio // gmac drive strength gpio4_gmac { mac_clk: mac-clk { rockchip,drive = ; }; mac_txpins: mac-txpins { rockchip,drive = ; }; mac_rxpins: mac-rxpins { rockchip,drive = ; }; mac_crs: mac-crs { rockchip,drive = ; }; mac_mdpins: mac-mdpins { rockchip,drive = ; }; }; }; &nandc0 { status = "okay"; // used nand set "okay" ,used emmc set "disabled" }; &nandc1 { status = "disabled"; // used nand set "okay" ,used emmc set "disabled" }; &nandc0reg { status = "disabled"; // used nand set "okay" ,used emmc set "disabled" }; &emmc { clock-frequency = <100000000>; clock-freq-min-max = <400000 100000000>; supports-highspeed; supports-emmc; bootpart-no-access; //supports-tSD;//only tsd-sdcard mode supports-DDR_MODE; caps2-mmc-hs200; ignore-pm-notify; keep-power-in-suspend; //poll-hw-reset status = "okay"; }; &sdmmc { clock-frequency = <50000000>; lock-freq-min-max = <400000 50000000>; supports-highspeed; supports-sd; broken-cd; card-detect-delay = <200>; ignore-pm-notify; keep-power-in-suspend; vmmc-supply = <&ldo1_reg>; status = "okay"; }; &sdio { clock-frequency = <50000000>; clock-freq-min-max = <200000 50000000>; supports-highspeed; supports-sdio; ignore-pm-notify; keep-power-in-suspend; //cap-sdio-irq; status = "okay"; }; &spi0 { status = "disabled"; max-freq = <48000000>; /* spi_test@00 { compatible = "rockchip,spi_test_bus0_cs0"; reg = <0>; spi-max-frequency = <24000000>; //spi-cpha; //spi-cpol; poll_mode = <0>; type = <0>; enable_dma = <0>; }; spi_test@01 { compatible = "rockchip,spi_test_bus0_cs1"; reg = <1>; spi-max-frequency = <24000000>; spi-cpha; spi-cpol; poll_mode = <0>; type = <0>; enable_dma = <0>; }; */ }; &spi1 { status = "disabled"; max-freq = <48000000>; /* spi_test@10 { compatible = "rockchip,spi_test_bus1_cs0"; reg = <0>; spi-max-frequency = <24000000>; //spi-cpha; //spi-cpol; poll_mode = <0>; type = <0>; enable_dma = <0>; }; */ //dtv: connect to dtv demodulator for control signal tstv-ctrl@00 { compatible = "rockchip,dtv_spi_ctrl"; gpio-powerup = <&gpio0 GPIO_D7 GPIO_ACTIVE_HIGH>; gpio-powerdown = <&gpio2 GPIO_B6 GPIO_ACTIVE_HIGH>; gpio-reset = <&gpio2 GPIO_B7 GPIO_ACTIVE_HIGH>; gpio-nreset = <&gpio2 GPIO_B4 GPIO_ACTIVE_HIGH>; spi-max-frequency = <12000000>; reg = <0>; poll_mode = <0>; type = <0>; enable_dma = <0>; }; }; &spi2 { status = "disabled"; max-freq = <48000000>; /* spi_test@20 { compatible = "rockchip,spi_test_bus2_cs0"; reg = <0>; spi-max-frequency = <24000000>; //spi-cpha; //spi-cpol; poll_mode = <0>; type = <0>; enable_dma = <0>; }; spi_test@21 { compatible = "rockchip,spi_test_bus2_cs1"; reg = <1>; spi-max-frequency = <24000000>; //spi-cpha; //spi-cpol; poll_mode = <0>; type = <0>; enable_dma = <0>; }; */ }; &hsadc { status = "disabled"; }; &uart_bt { status = "okay"; dma-names = "!tx", "!rx"; pinctrl-0 = <&uart0_xfer &uart0_cts>; }; &uart_dbg { status = "okay"; }; &i2c0 { status = "okay"; rk808: rk808@1b { reg = <0x1b>; status = "okay"; }; syr827: syr827@40 { compatible = "silergy,syr82x"; reg = <0x40>; status = "okay"; regulators { #address-cells = <1>; #size-cells = <0>; syr827_dc1: regulator@0 { reg = <0>; regulator-compatible = "syr82x_dcdc1"; regulator-name = "vdd_arm"; regulator-min-microvolt = <712500>; regulator-max-microvolt = <1500000>; regulator-always-on; regulator-boot-on; regulator-initial-mode = <0x2>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-mode = <0x2>; regulator-state-enabled; regulator-state-uv = <900000>; }; }; }; }; syr828: syr828@41 { compatible = "silergy,syr82x"; reg = <0x41>; status = "okay"; regulators { #address-cells = <1>; #size-cells = <0>; syr828_dc1: regulator@0 { reg = <0>; regulator-compatible = "syr82x_dcdc1"; regulator-name = "vdd_gpu"; regulator-min-microvolt = <712500>; regulator-max-microvolt = <1500000>; regulator-always-on; regulator-boot-on; regulator-initial-mode = <0x2>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-mode = <0x2>; regulator-state-disabled; regulator-state-uv = <900000>; }; }; }; }; act8846: act8846@5a { reg = <0x5a>; status = "okay"; }; rtc@51 { compatible = "rtc,hym8563"; reg = <0x51>; irq_gpio = <&gpio7 GPIO_A4 IRQ_TYPE_EDGE_FALLING>; }; }; &i2c1 { status = "okay"; rtc@51 { compatible = "nxp,pcf8563"; reg = <0x51>; }; }; &i2c2 { status = "okay"; es8323: es8323@10 { compatible = "es8323"; reg = <0x10>; spk-con-gpio = <&gpio0 GPIO_B2 GPIO_ACTIVE_HIGH>; hp-det-gpio = <&gpio7 GPIO_B7 GPIO_ACTIVE_HIGH>; hp-mic-only = <1>; clocks = <&clk_i2s>, <&clk_i2s_out>; clock-names = "i2s_clk","i2s_mclk"; pinctrl-names = "default"; pinctrl-0 = <&i2s_mclk>; }; }; &i2c3 { status = "okay"; }; &i2c4 { status = "okay"; rk1000_control@40 { compatible = "rockchip,rk1000_control"; reg = <0x40>; gpio-reset = <&gpio7 GPIO_C5 GPIO_ACTIVE_LOW>; clocks = <&clk_i2s>, <&clk_i2s_out>; clock-names = "i2s_clk","i2s_mclk"; //pinctrl-names = "default"; //pinctrl-0 = <&i2s_mclk>; }; rk1000_tve@42 { compatible = "rockchip,rk1000_tve"; reg = <0x42>; // gpio-switch = <&gpio3 GPIO_D4 GPIO_ACTIVE_LOW>; rockchip,source = <0>; //0: LCDC0; 1: LCDC1 rockchip,prop = ;// }; rk1000_codec: rk1000_codec@60 { compatible = "rockchip,rk1000_codec"; reg = <0x60>; spk_ctl_io = <&gpio7 GPIO_A5 GPIO_ACTIVE_LOW>; boot_depop = <1>; pa_enable_time = <5000>; }; vga_ddc@50 { compatible = "firefly,vga_ddc"; reg = <0x50>; gpio-pwn = <&gpio0 GPIO_C1 GPIO_ACTIVE_HIGH>; rockchip,source = <0>; //0: LCDC0; 1: LCDC1 rockchip,prop = ;// status = "okay"; }; }; &i2c5 { status = "disabled"; }; /*$_rbox_$_modify_$_begin_huangzhibao for rk1000*/ //&i2s{ // pinctrl-names = "default", "sleep"; // pinctrl-0 = <&i2s_sclk &i2s_lrckrx &i2s_lrcktx &i2s_sdi &i2s_sdo0 &i2s_sdo1 &i2s_sdo2 &i2s_sdo3>; // pinctrl-1 = <&i2s_gpio>; //}; /*$_rbox_$_modify_$_end*/ &fb { rockchip,disp-mode = ; }; &rk_screen { display-timings = <&disp_timings>; }; /*lcdc0 as PRMRY(HDMI),lcdc1 as EXTEND(RK1000)*/ &lcdc0 { status = "okay"; rockchip,prop = ; }; &lcdc1 { status = "disabled"; rockchip,prop = ; }; &hdmi { status = "okay"; rockchips,hdmi_audio_source = <0>; hdmi_cec = <0>; }; &adc { status = "okay"; key { compatible = "rockchip,key"; io-channels = <&adc 1>; /* vol-up-key { linux,code = <115>; label = "volume up"; rockchip,adc_value = <1>; }; vol-down-key { linux,code = <114>; label = "volume down"; rockchip,adc_value = <170>; }; */ power-key { gpios = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>; linux,code = <116>; label = "power"; gpio-key,wakeup; }; recovery-key { linux,code = <113>; label = "recovery"; rockchip,adc_value = <4>; }; /* menu-key { linux,code = <59>; label = "menu"; rockchip,adc_value = <355>; }; home-key { linux,code = <102>; label = "home"; rockchip,adc_value = <746>; }; back-key { linux,code = <158>; label = "back"; rockchip,adc_value = <560>; }; camera-key { linux,code = <212>; label = "camera"; rockchip,adc_value = <450>; };*/ }; }; &pwm0 { interrupts = ; status = "okay"; }; &pwm1 { status = "disabled"; }; &clk_core_dvfs_table { support-pvtm = <0>; pvtm-operating-points = < /* KHz uV pvtm margin*/ 126000 900000 25000 216000 900000 25000 312000 900000 25000 408000 900000 25000 600000 950000 50000 696000 950000 25000 816000 1000000 25000 1008000 1050000 25000 1200000 1100000 25000 1416000 1200000 25000 1512000 1300000 25000 1608000 1350000 25000 1704000 1350000 25000 1800000 1350000 25000 >; status="okay"; }; &clk_gpu_dvfs_table { operating-points = < /* KHz uV */ // 100000 900000 200000 900000 300000 950000 420000 1100000 500000 1150000 // 600000 1250000 >; status="okay"; }; &clk_ddr_dvfs_table { operating-points = < /* KHz uV */ 200000 1075000 300000 1075000 456000 1125000 533000 1150000 >; freq-table = < /*status freq(KHz)*/ SYS_STATUS_NORMAL 456000 SYS_STATUS_SUSPEND 200000 //SYS_STATUS_VIDEO_1080P 240000 SYS_STATUS_VIDEO_4K 456000 SYS_STATUS_PERFORMANCE 533000 //SYS_STATUS_BOOST 324000 //SYS_STATUS_ISP 400000 >; auto-freq-table = < 240000 324000 456000 528000 >; auto-freq=<0>; status="okay"; }; /include/ "act8846.dtsi" &act8846 { gpios =<&gpio7 GPIO_B6 GPIO_ACTIVE_LOW>,<&gpio0 GPIO_A1 GPIO_ACTIVE_HIGH>; cpu_det_gpio =<&gpio7 GPIO_B2 GPIO_ACTIVE_LOW>; usb_hub_reset_gpio =<&gpio8 GPIO_A3 GPIO_ACTIVE_LOW>; act8846,system-power-controller; regulators { dcdc1_reg: regulator@0{ regulator-name= "act_dcdc1"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; regulator-boot-on; }; dcdc2_reg: regulator@1 { regulator-name= "vccio"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <3300000>; }; }; dcdc3_reg: regulator@2 { regulator-name= "vdd_logic"; regulator-min-microvolt = <700000>; regulator-max-microvolt = <1500000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <1200000>; }; }; dcdc4_reg: regulator@3 { regulator-name= "act_dcdc4"; regulator-min-microvolt = <2000000>; regulator-max-microvolt = <2000000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <2000000>; }; }; ldo1_reg: regulator@4 { regulator-name= "vccio_sd"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; }; ldo2_reg: regulator@5 { regulator-name= "act_ldo2"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; }; ldo3_reg: regulator@6 { regulator-name= "act_ldo3"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; ldo4_reg:regulator@7 { regulator-name= "act_ldo4"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; ldo5_reg: regulator@8 { regulator-name= "act_ldo5"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; ldo6_reg: regulator@9 { regulator-name= "act_ldo6"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; ldo7_reg: regulator@10 { regulator-name= "vcc_18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; ldo8_reg: regulator@11 { regulator-name= "act_ldo8"; regulator-min-microvolt = <1850000>; regulator-max-microvolt = <1850000>; }; }; }; /include/ "rk808.dtsi" &rk808 { gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>; rk808,system-power-controller; regulators { rk808_dcdc1_reg: regulator@0{ regulator-name= "vdd_arm"; regulator-always-on; regulator-boot-on; }; rk808_dcdc2_reg: regulator@1 { regulator-name= "vdd_gpu"; regulator-always-on; regulator-boot-on; }; rk808_dcdc3_reg: regulator@2 { regulator-name= "rk_dcdc3"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; regulator-boot-on; }; rk808_dcdc4_reg: regulator@3 { regulator-name= "vccio"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; /* NO USED, 3.3V*/ rk808_ldo1_reg: regulator@4 { regulator-name= "rk_ldo1"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; /* BOX:RK1000s, 3.3V */ rk808_ldo2_reg: regulator@5 { regulator-name= "rk_ldo2"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; /* RK3288 PLL,USB PHY, 1.0V */ rk808_ldo3_reg: regulator@6 { regulator-name= "rk_ldo3"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; regulator-boot-on; }; /* BOX:RK1000S CORE, 1.8V */ rk808_ldo4_reg:regulator@7 { regulator-name= "rk_ldo4"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; /* SDMMC IO, 3.3V*/ rk808_ldo5_reg: regulator@8 { regulator-name= "rk_ldo5"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; /* CAMERA, 1.8V box modify*/ rk808_ldo6_reg: regulator@9 { regulator-name= "rk_ldo6"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; /* RK3288 USB PHY, SAR-ADC, WIFI IO, 1.8V */ rk808_ldo7_reg: regulator@10 { regulator-name= "rk_ldo7"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; /* DTV, 3.3V box modify*/ rk808_ldo8_reg: regulator@11 { regulator-name= "rk_ldo8"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; rk808_ldo9_reg: regulator@12 { regulator-name= "rk_ldo9"; regulator-always-on; regulator-boot-on; }; rk808_ldo10_reg: regulator@13 { regulator-name= "rk_ldo10"; regulator-always-on; regulator-boot-on; }; }; }; &lcdc_vdd_domain { regulator-name = "vcc30_lcd"; }; &dpio_vdd_domain{ regulator-name = "vcc18_cif"; }; &flash0_vdd_domain{ regulator-name = "vcc_flash"; }; &flash1_vdd_domain{ regulator-name = "vcc_flash"; }; &apio3_vdd_domain{ regulator-name = "vccio_wl"; }; &apio5_vdd_domain{ regulator-name = "vccio"; }; &apio4_vdd_domain{ regulator-name = "vccio"; }; &apio1_vdd_domain{ regulator-name = "vccio"; }; &apio2_vdd_domain{ regulator-name = "vccio"; }; &sdmmc0_vdd_domain{ regulator-name = "vcc_sd"; };