summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/tegra124-platforms/tegra124-apalis-pmic.dtsi
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/tegra124-platforms/tegra124-apalis-pmic.dtsi')
-rw-r--r--arch/arm/boot/dts/tegra124-platforms/tegra124-apalis-pmic.dtsi478
1 files changed, 478 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/tegra124-platforms/tegra124-apalis-pmic.dtsi b/arch/arm/boot/dts/tegra124-platforms/tegra124-apalis-pmic.dtsi
new file mode 100644
index 000000000000..745f63b0f7d0
--- /dev/null
+++ b/arch/arm/boot/dts/tegra124-platforms/tegra124-apalis-pmic.dtsi
@@ -0,0 +1,478 @@
+#include <dt-bindings/gpio/tegra-gpio.h>
+#include <dt-bindings/mfd/as3722.h>
+#include <dt-bindings/regulator/regulator.h>
+
+/ {
+ i2c@7000d000 {
+ as3722: as3722@40 {
+ compatible = "ams,as3722";
+ reg = <0x40>;
+ interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
+
+ #interrupt-cells = <2>;
+ interrupt-controller;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ams,major-rev = <1>;
+ ams,minor-rev = <2>;
+ ams,system-power-controller;
+ ams,extcon-name = "as3722-extcon";
+ ams,enable-adc1-continuous-mode;
+ ams,enable-low-voltage-range;
+ ams,adc-channel = <12>;
+ ams,hi-threshold = <256>;
+ ams,low-threshold = <128>;
+ ams,enable-clock32k-out;
+ ams,backup-battery-chargable;
+ ams,battery-backup-charge-current = <AS3722_BBCCUR_400UA>;
+ ams,battery-backup-enable-bypass;
+ ams,battery-backup-charge-mode = <AS3722_BBCMODE_ACT_STBY_OFF>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&as3722_default>;
+
+ as3722_default: pinmux@0 {
+ gpio2_7 {
+ pins = "gpio2", /* PWR_EN_+V3.3 */
+ "gpio7"; /* +V1.6_LPO */
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ gpio1_3_4_5_6 {
+ pins = "gpio1", "gpio3", "gpio4",
+ "gpio5", "gpio6";
+ bias-high-impedance;
+ };
+ };
+
+ regulators {
+ compatible = "ams,as3722";
+ ldo0-in-supply = <&as3722_sd2>;
+ ldo2-in-supply = <&as3722_sd5>;
+ ldo5-in-supply = <&as3722_sd5>;
+ ldo7-in-supply = <&as3722_sd5>;
+
+ as3722_sd0: sd0 {
+ regulator-name = "+VDD_CPU_AP";
+ regulator-min-microvolt = <650000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-min-microamp = <3500000>;
+ regulator-max-microamp = <3500000>;
+ regulator-always-on;
+ regulator-boot-on;
+ ams,ext-control = <AS3722_EXT_CONTROL_ENABLE2>;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "vdd_cpu";
+ };
+ };
+ };
+
+ as3722_sd1: sd1 {
+ regulator-name = "+VDD_CORE";
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-min-microamp = <3500000>;
+ regulator-max-microamp = <3500000>;
+ regulator-init-microvolt = <1150000>;
+ regulator-always-on;
+ regulator-boot-on;
+ ams,ext-control = <AS3722_EXT_CONTROL_ENABLE1>;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "vdd_core";
+ };
+ };
+ };
+
+ as3722_sd2: sd2 {
+ regulator-name = "+V1.35_VDDIO_DDR(sd2)";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ regulator-boot-on;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "vddio_ddr";
+ };
+ c2 {
+ regulator-consumer-supply = "vddio_ddr_mclk";
+ };
+ c3 {
+ regulator-consumer-supply = "vddio_ddr3";
+ };
+ c4 {
+ regulator-consumer-supply = "vcore1_ddr3";
+ };
+ };
+ };
+
+ as3722_sd4: sd4 {
+ regulator-name = "+V1.05";
+ regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1050000>;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "avdd_pex_pll";
+ };
+ c2 {
+ regulator-consumer-supply = "avddio_pex_pll";
+ };
+ c3 {
+ regulator-consumer-supply = "dvddio_pex";
+ };
+ c4 {
+ regulator-consumer-supply = "pwrdet_pex_ctl";
+ };
+ c5 {
+ regulator-consumer-supply = "avdd_sata";
+ };
+ c6 {
+ regulator-consumer-supply = "vdd_sata";
+ };
+ c7 {
+ regulator-consumer-supply = "avdd_sata_pll";
+ };
+ c8 {
+ regulator-consumer-supply = "avddio_usb";
+ regulator-consumer-device = "tegra-xhci";
+ };
+ c9 {
+ regulator-consumer-supply = "avdd_hdmi";
+ regulator-consumer-device = "tegradc.1";
+ };
+ c10 {
+ regulator-consumer-supply = "avdd_hdmi";
+ regulator-consumer-device = "tegradc.0";
+ };
+ };
+ };
+
+ as3722_sd5: sd5 {
+ regulator-name = "+V1.8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-boot-on;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "vddio_sys";
+ };
+ c2 {
+ regulator-consumer-supply = "vddio_sys_2";
+ };
+ c3 {
+ regulator-consumer-supply = "vddio_audio";
+ };
+ c4 {
+ regulator-consumer-supply = "pwrdet_audio";
+ };
+ c5 {
+ regulator-consumer-supply = "vdd_1v8_emmc";
+ };
+ c6 {
+ regulator-consumer-supply = "vddio_sdmmc";
+ regulator-consumer-device = "sdhci-tegra.3";
+ };
+ c7 {
+ regulator-consumer-supply = "pwrdet_sdmmc4";
+ };
+ c8 {
+ regulator-consumer-supply = "vddio_uart";
+ };
+ c9 {
+ regulator-consumer-supply = "pwrdet_uart";
+ };
+ c10 {
+ regulator-consumer-supply = "vddio_bb";
+ };
+ c11 {
+ regulator-consumer-supply = "pwrdet_bb";
+ };
+ c12 {
+ regulator-consumer-supply = "vddio_gmi";
+ };
+ c13 {
+ regulator-consumer-supply = "pwrdet_nand";
+ };
+ c14 {
+ regulator-consumer-supply = "avdd_osc";
+ };
+ c15 {
+ /* LVDS */
+ regulator-consumer-supply = "dvdd_lcd";
+ };
+ c16 {
+ /* LVDS */
+ regulator-consumer-supply = "vdd_ds_1v8";
+ };
+ c17 {
+ regulator-consumer-supply = "VDDD";
+ regulator-consumer-device = "4-000a";
+ };
+ c18 {
+ regulator-consumer-supply = "VDDIO";
+ regulator-consumer-device = "4-000a";
+ };
+ c19 {
+ regulator-consumer-supply = "vdd_1v8_sensor";
+ };
+ c20 {
+ regulator-consumer-supply = "vdd_1v8_sdmmc";
+ };
+ c21 {
+ regulator-consumer-supply = "vdd_kp_1v8";
+ };
+ c22 {
+ regulator-consumer-supply = "vdd_tp_1v8";
+ };
+ c23 {
+ regulator-consumer-supply = "dvdd";
+ regulator-consumer-device = "spi0.0";
+ };
+ c24 {
+ regulator-consumer-supply = "vlogic";
+ regulator-consumer-device = "0-0069";
+ };
+ c25 {
+ regulator-consumer-supply = "avdd_pll_utmip";
+ regulator-consumer-device = "tegra-udc.0";
+ };
+ c26 {
+ regulator-consumer-supply = "avdd_pll_utmip";
+ regulator-consumer-device = "tegra-ehci.0";
+ };
+ c27 {
+ regulator-consumer-supply = "avdd_pll_utmip";
+ regulator-consumer-device = "tegra-ehci.1";
+ };
+ c28 {
+ regulator-consumer-supply = "avdd_pll_utmip";
+ regulator-consumer-device = "tegra-ehci.2";
+ };
+ c29 {
+ regulator-consumer-supply = "avdd_pll_utmip";
+ regulator-consumer-device = "tegra-xhci";
+ };
+ };
+ };
+
+ as3722_sd6: sd6 {
+ regulator-name = "+VDD_GPU_AP";
+ regulator-min-microvolt = <650000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-min-microamp = <3500000>;
+ regulator-max-microamp = <3500000>;
+ regulator-init-microvolt = <1000000>;
+ regulator-boot-on;
+ regulator-always-on;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "vdd_gpu";
+ };
+ c2 {
+ regulator-consumer-supply = "vdd_gpu_simon";
+ };
+ };
+ };
+
+ as3722_ldo0: ldo0 {
+ regulator-name = "+V1.05_AVDD";
+ regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1050000>;
+ regulator-boot-on;
+ regulator-always-on;
+ ams,ext-control = <AS3722_EXT_CONTROL_ENABLE1>;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "avdd_pll_m";
+ };
+ c2 {
+ regulator-consumer-supply = "avdd_pll_ap_c2_c3";
+ };
+ c3 {
+ regulator-consumer-supply = "avdd_pll_cud2dpd";
+ };
+ c4 {
+ regulator-consumer-supply = "avdd_pll_c4";
+ };
+ c5 {
+ regulator-consumer-supply = "avdd_lvds0_io";
+ };
+ c6 {
+ regulator-consumer-supply = "vddio_ddr_hs";
+ };
+ c7 {
+ regulator-consumer-supply = "avdd_pll_erefe";
+ };
+ c8 {
+ regulator-consumer-supply = "avdd_pll_x";
+ };
+ c9 {
+ regulator-consumer-supply = "avdd_pll_cg";
+ };
+ };
+ };
+
+ as3722_ldo1: ldo1 {
+ regulator-name = "VDDIO_SDMMC1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "vddio_sdmmc";
+ regulator-consumer-device = "sdhci-tegra.0";
+ };
+ c2 {
+ regulator-consumer-supply = "pwrdet_sdmmc1";
+ };
+ };
+ };
+
+ as3722_ldo2: ldo2 {
+ regulator-name = "+V1.2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-boot-on;
+ regulator-always-on;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "vddio_hsic";
+ regulator-consumer-device = "tegra-ehci.1";
+ };
+ c2 {
+ regulator-consumer-supply = "vddio_hsic";
+ regulator-consumer-device = "tegra-ehci.2";
+ };
+ c3 {
+ regulator-consumer-supply = "vddio_hsic";
+ regulator-consumer-device = "tegra-xhci";
+ };
+ c4 {
+ regulator-consumer-supply = "avdd_dsi_csi";
+ regulator-consumer-device = "tegradc.0";
+ };
+ c5 {
+ regulator-consumer-supply = "avdd_dsi_csi";
+ regulator-consumer-device = "tegradc.1";
+ };
+ c6 {
+ regulator-consumer-supply = "avdd_dsi_csi";
+ regulator-consumer-device = "vi.0";
+ };
+ c7 {
+ regulator-consumer-supply = "avdd_dsi_csi";
+ regulator-consumer-device = "vi.1";
+ };
+ c8 {
+ regulator-consumer-supply = "pwrdet_mipi";
+ };
+ c9 {
+ regulator-consumer-supply = "avdd_hsic_com";
+ };
+ c10 {
+ regulator-consumer-supply = "avdd_hsic_mdm";
+ };
+ c11 {
+ regulator-consumer-supply = "vdig_csi";
+ regulator-consumer-device = "2-0036";
+ };
+ c12 {
+ /* panel-a-1080p-14-0.c */
+ regulator-consumer-supply = "vdd_1v2_en";
+ };
+ };
+ };
+
+ as3722_ldo3: ldo3 {
+ regulator-name = "+V1.05_RTC";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-boot-on;
+ regulator-always-on;
+ ams,enable-tracking;
+ ams,disable-tracking-suspend;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "vdd_rtc";
+ };
+ };
+ };
+
+ /* 1.8V for LVDS, 3.3V for eDP */
+ as3722_ldo4: ldo4 {
+ regulator-name = "AVDD_LVDS0_PLL";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "avdd_lvds0_pll";
+ };
+ c2 {
+ regulator-consumer-supply = "avdd_lcd";
+ };
+ };
+ };
+
+ /* LDO5 not used */
+
+ as3722_ldo6: ldo6 {
+ regulator-name = "VDDIO_SDMMC3";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+
+ consumers {
+ c1 {
+ regulator-consumer-supply = "vddio_sdmmc";
+ regulator-consumer-device = "sdhci-tegra.2";
+ };
+ c2 {
+ regulator-consumer-supply = "pwrdet_sdmmc3";
+ };
+ };
+ };
+
+ /* LDO7 not used */
+
+ as3722_ldo9: ldo9 {
+ regulator-name = "+V3.3_ETH(ldo9)";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ as3722_ldo10: ldo10 {
+ regulator-name = "+V3.3_ETH(ldo10)";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ as3722_ldo11: ldo11 {
+ regulator-name = "+V1.8_VPP_FUSE";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+ };
+ };
+ };
+
+ /* Populate fuse supply */
+ efuse@7000f800 {
+ vpp_fuse-supply = <&as3722_ldo11>;
+ };
+};