diff options
author | Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> | 2019-06-17 20:59:06 +0530 |
---|---|---|
committer | Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> | 2019-06-17 20:59:23 +0530 |
commit | 118313ffaf08f7db56072f7a085ff26ab733f878 (patch) | |
tree | c1cca7b811bc52acc24d650da0fe12fa9cf294ff | |
parent | c4744b4ffc9384e29e157fb4d930c398488cd8ab (diff) | |
download | 96b-common-118313ffaf08f7db56072f7a085ff26ab733f878.tar.gz |
Regulator support for Bubblegum96
-rw-r--r-- | arch/arm64/boot/dts/actions/s900-bubblegum-96.dts | 146 | ||||
-rw-r--r-- | arch/arm64/boot/dts/actions/s900.dtsi | 9 |
2 files changed, 151 insertions, 4 deletions
diff --git a/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts index 3b596d72de25..ebaf8e1d2683 100644 --- a/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts +++ b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts @@ -27,13 +27,21 @@ reg = <0x0 0x0 0x0 0x80000000>; }; - reg_3p1v: regulator-3p1v { + reg_3v1: regulator-3p1v { compatible = "regulator-fixed"; regulator-name = "fixed-3.1V"; regulator-min-microvolt = <3100000>; regulator-max-microvolt = <3100000>; regulator-always-on; }; + + reg_5v0: regulator-5v0 { + compatible = "regulator-fixed"; + regulator-name = "fixed-5.0V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; }; &i2c0 { @@ -54,6 +62,129 @@ pinctrl-0 = <&i2c2_default>; }; +&i2c3 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&i2c3_default>; + + status = "okay"; + + /* atc2609a (5303) */ + atc260x: pmic@65 { + compatible = "actions,atc2609a"; + reg = <0x65>; + interrupt-parent = <&sirq>; + interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; + status = "okay"; + + vcc0-supply = <®_5v0>; + vcc1-supply = <®_5v0>; + vcc2-supply = <®_5v0>; + vcc3-supply = <®_5v0>; + vcc4-supply = <®_5v0>; + vcc5-supply = <®_3v1>; + vcc6-supply = <®_5v0>; + vcc7-supply = <®_5v0>; + vcc9-supply = <®_5v0>; + vcc10-supply = <®_5v0>; + vcc11-supply = <®_3v1>; + vcc12-supply = <®_3v1>; + vcc13-supply = <®_5v0>; + vddio-supply = <®_3v1>; + regulators { + vdd_core: DCDC_REG0 { + regulator-name = "vdd_core"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_cpu: DCDC_REG1 { + regulator-name = "vdd_cpu"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-boot-on; + }; + + vddq_1v2: DCDC_REG2 { + regulator-name = "vddq_1v2"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-boot-on; + }; + + vcc_3v1: DCDC_REG3 { + regulator-name = "vcc_3v1"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <3500000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_cpum: DCDC_REG4 { + regulator-name = "vdd_cpum"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-boot-on; + }; + + sd_vcc: LDO_REG0 { + regulator-name = "sd_vcc"; + regulator-min-microvolt = <2300000>; + regulator-max-microvolt = <3400000>; + regulator-always-on; + regulator-boot-on; + }; + + wifi_3v3: LDO_REG1 { + regulator-name = "wifi_3v3"; + regulator-min-microvolt = <2300000>; + regulator-max-microvolt = <3400000>; + }; + + avcc_3v1: LDO_REG2 { + regulator-name = "avcc_3v1"; + regulator-min-microvolt = <2300000>; + regulator-max-microvolt = <3400000>; + regulator-always-on; + regulator-boot-on; + }; + + avcc_1v8: LDO_REG4 { + regulator-name = "avcc_1v8"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <2200000>; + regulator-always-on; + regulator-boot-on; + }; + + avcc_1v0: LDO_REG6 { + regulator-name = "avcc_1v0"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <2200000>; + regulator-always-on; + regulator-boot-on; + }; + + vcc1v8_io: LDO_REG7 { + regulator-name = "vcc1v8_io"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <2200000>; + }; + + tpvcc_3v1: LDO_REG8 { + regulator-name = "tpvcc_3v1"; + regulator-min-microvolt = <2100000>; + regulator-max-microvolt = <3300000>; + }; + }; + }; +}; + /* * GPIO name legend: proper name = the GPIO line is used as GPIO * NC = not connected (pin out but not routed from the chip to @@ -253,6 +384,13 @@ }; }; + i2c3_default: i2c3-default { + pinmux { + groups = "pcm1_in_out_mfp"; + function = "i2c3"; + }; + }; + mmc0_default: mmc0_default { pinmux { groups = "sd0_d0_mfp", "sd0_d1_mfp", "sd0_d2_d3_mfp", @@ -278,8 +416,8 @@ no-1-8-v; cd-gpios = <&pinctrl 120 GPIO_ACTIVE_LOW>; bus-width = <4>; - vmmc-supply = <®_3p1v>; - vqmmc-supply = <®_3p1v>; + vmmc-supply = <®_3v1>; + vqmmc-supply = <®_3v1>; }; &mmc2 { @@ -290,7 +428,7 @@ no-sd; non-removable; bus-width = <8>; - vmmc-supply = <®_3p1v>; + vmmc-supply = <®_3v1>; }; &timer { diff --git a/arch/arm64/boot/dts/actions/s900.dtsi b/arch/arm64/boot/dts/actions/s900.dtsi index eb35cf78ab73..3e219e655ea2 100644 --- a/arch/arm64/boot/dts/actions/s900.dtsi +++ b/arch/arm64/boot/dts/actions/s900.dtsi @@ -266,6 +266,15 @@ <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; }; + sirq: interrupt-controller@e01b0000 { + compatible = "actions,owl-sirq"; + reg = <0x0 0xe01b0000 0x0 0x1000>; + interrupt-controller; + #interrupt-cells = <3>; + actions,sirq-reg-offset = <0x200 0x528 0x52c>; + actions,ext-irq-range = <13 15>; + }; + timer: timer@e0228000 { compatible = "actions,s900-timer"; reg = <0x0 0xe0228000 0x0 0x8000>; |