lkml.org 
[lkml]   [2022]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 3/3] ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815
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@alistair23.me>
> ---
> 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
>
>
>

\
 
 \ /
  Last update: 2023-03-26 23:15    [W:0.106 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site