/* * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd * * SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ /dts-v1/; #include "rk3288-evb.dtsi" #include "rk3288-android.dtsi" #include / { panel { compatible = "simple-panel"; backlight = <&backlight>; enable-gpios = <&gpio7 RK_PA4 GPIO_ACTIVE_HIGH>; prepare-delay-ms = <120>; 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>; }; }; port { panel_in_edp: endpoint { remote-endpoint = <&edp_out_panel>; }; }; }; 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>; }; test-power { status = "okay"; }; 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>; }; }; &backlight { pwms = <&pwm0 0 1000000 0>; enable-gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>; }; &cpu0 { cpu-supply = <&vdd_cpu>; }; &cif_isp0 { status = "okay"; }; &dfi { status = "okay"; }; &dmc { center-supply = <&vdd_log>; status = "okay"; }; &edp { force-hpd; status = "okay"; ports { port@1 { reg = <1>; edp_out_panel: endpoint { remote-endpoint = <&panel_in_edp>; }; }; }; }; &edp_in_vopb { status = "disabled"; }; &edp_in_vopl { status = "okay"; }; &route_edp { connect = <&vopl_out_edp>; status = "okay"; }; &gpu { status = "okay"; mali-supply = <&vdd_gpu>; }; &gmac { max-speed = <1000>; }; &hdmi_analog_sound { status = "disabled"; }; &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-name = "vcc_sd"; regulator-state-mem { regulator-off-in-suspend; }; }; vcc_lcd: SWITCH_REG2 { regulator-always-on; regulator-boot-on; regulator-name = "vcc_lcd"; regulator-state-mem { regulator-off-in-suspend; }; }; }; }; }; &i2c1 { status = "okay"; clock-frequency = <400000>; mpu6050_acc: mpu-acc@68 { status = "okay"; compatible = "mpu6500_acc"; pinctrl-names = "default"; pinctrl-0 = <&mpu6050_irq_gpio>; reg = <0x68>; irq-gpio = <&gpio8 0 IRQ_TYPE_EDGE_RISING>; irq_enable = <0>; poll_delay_ms = <30>; type = ; layout = <8>; }; mpu6050_gyro: mpu-gyro@68 { status = "okay"; compatible = "mpu6500_gyro"; reg = <0x68>; irq_enable = <0>; poll_delay_ms = <30>; type = ; layout = <8>; }; ak8963_compass: ak8963-compass@0d { status = "okay"; compatible = "ak8963"; pinctrl-names = "default"; pinctrl-0 = <&ak8963_irq_gpio>; reg = <0x0d>; type = ; irq-gpio = <&gpio8 1 IRQ_TYPE_EDGE_RISING>; irq_enable = <0>; poll_delay_ms = <30>; layout = <1>; }; }; &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>; }; &rockchip_suspend { status = "okay"; rockchip,pwm-regulator-config = < (0 | PWM1_REGULATOR_EN ) >; }; &pwm0 { status = "okay"; }; &pwm1 { status = "okay"; pinctrl-names = "active"; pinctrl-0 = <&pwm1_pin_pull_down>; }; &pinctrl { mpu6050 { mpu6050_irq_gpio: mpu6050-irq-gpio { rockchip,pins = <8 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; }; }; ak8963 { ak8963_irq_gpio: ak8963-irq-gpio { rockchip,pins = <8 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; }; }; };