Hi Alistair, thanks for your patch, please see below. On 22-12-20, Alistair Francis wrote: > Add support for the rohm,bd71815 power controller controller for the > reMarkable 2. > > Signed-off-by: Alistair Francis <alistair@xxxxxxxxxxxxx> > --- > arch/arm/boot/dts/imx7d-remarkable2.dts | 159 ++++++++++++++++++++++++ > 1 file changed, 159 insertions(+) > > diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts > index a138b292ec6a..4387d30d6180 100644 > --- a/arch/arm/boot/dts/imx7d-remarkable2.dts > +++ b/arch/arm/boot/dts/imx7d-remarkable2.dts > @@ -92,6 +92,10 @@ wifi_pwrseq: wifi_pwrseq { > }; > }; > > +&cpu0 { > + cpu-supply = <&buck1_reg>; > +}; > + > &clks { > assigned-clocks = <&clks IMX7D_CLKO2_ROOT_SRC>, > <&clks IMX7D_CLKO2_ROOT_DIV>; > @@ -119,6 +123,148 @@ wacom_digitizer: digitizer@9 { > }; > }; > > +&i2c2 { > + clock-frequency = <100000>; We can set this now to 400kHz since the driver can handle quirks now internal. > + pinctrl-names = "default", "sleep"; > + pinctrl-0 = <&pinctrl_i2c2>; > + pinctrl-1 = <&pinctrl_i2c2>; Do we need a "sleep" config here since this will be the same configuration as the "default" one. > + status = "okay"; > + > + bd71815: pmic@4b { > + compatible = "rohm,bd71815"; > + reg = <0x4b>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_bd71815>; > + interrupt-parent = <&gpio6>; /* PMIC_INT_B GPIO6_IO16 */ > + interrupts = <16 IRQ_TYPE_LEVEL_LOW>; > + gpio-controller; > + clocks = <&clks IMX7D_CLKO2_ROOT_SRC>; > + clock-output-names = "bd71815-32k-out"; > + #clock-cells = <0>; > + #gpio-cells = <1>; > + > + regulators { > + #address-cells = <1>; > + #size-cells = <0>; > + > + buck1_reg: regulator@0 { > + reg = <0>; > + regulator-compatible = "buck1"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <2000000>; > + regulator-boot-on; > + regulator-always-on; > + regulator-ramp-delay = <1250>; > + }; > + > + buck2_reg: regulator@1 { > + reg = <1>; > + regulator-compatible = "buck2"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <2000000>; > + regulator-boot-on; > + regulator-always-on; > + regulator-ramp-delay = <1250>; > + }; > + > + buck3_reg: regulator@2 { > + reg = <2>; > + regulator-compatible = "buck3"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <2700000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + buck4_reg: regulator@3 { > + reg = <3>; > + regulator-compatible = "buck4"; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1850000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + buck5_reg: regulator@4 { > + reg = <4>; > + regulator-compatible = "buck5"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo1_reg: regulator@5 { > + reg = <5>; > + regulator-compatible = "ldo1"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo2_reg: regulator@6 { > + reg = <6>; > + regulator-compatible = "ldo2"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo3_reg: regulator@7 { > + reg = <7>; > + regulator-compatible = "ldo3"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo4_reg: regulator@8 { > + reg = <8>; > + regulator-compatible = "ldo4"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo5_reg: regulator@9 { > + reg = <9>; > + regulator-compatible = "ldo5"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + dvref_reg: regulator@a { > + reg = <0xa>; > + regulator-compatible = "dvref"; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + lpsr_reg: regulator@b { > + reg = <0xb>; > + regulator-compatible = "lpsr"; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + wled_reg: regulator@c { > + reg = <0xc>; > + regulator-compatible = "wled"; > + regulator-min-microamp = <10>; > + regulator-max-microamp = <25000>; > + regulator-boot-on; > + regulator-always-on; > + }; Note: You have marked all regulators as always on, this is rather suboptimal due to power consumption. Regards, Marco > + }; > + }; > +}; > + > &i2c3 { > clock-frequency = <100000>; > pinctrl-names = "default"; > @@ -293,6 +439,12 @@ MX7D_PAD_LPSR_GPIO1_IO01__GPIO1_IO1 0x00000034 /* WACOM INT */ > }; > > &iomuxc { > + pinctrl_bd71815: bd71815grp { > + fsl,pins = < > + MX7D_PAD_SAI1_RX_SYNC__GPIO6_IO16 0x59 > + >; > + }; > + > pinctrl_brcm_reg: brcmreggrp { > fsl,pins = < > /* WIFI_PWR_EN */ > @@ -323,6 +475,13 @@ MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f > >; > }; > > + pinctrl_i2c2: i2c2grp { > + fsl,pins = < > + MX7D_PAD_I2C2_SDA__I2C2_SDA 0x4000007f > + MX7D_PAD_I2C2_SCL__I2C2_SCL 0x4000007f > + >; > + }; > + > pinctrl_i2c3: i2c3grp { > fsl,pins = < > MX7D_PAD_I2C3_SDA__I2C3_SDA 0x4000007f > -- > 2.38.1 > > >