lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221220131715.femjybikqcnm4lyg@pengutronix.de>
Date:   Tue, 20 Dec 2022 14:17:15 +0100
From:   Marco Felsch <m.felsch@...gutronix.de>
To:     Alistair Francis <alistair@...stair23.me>
Cc:     linux-kernel@...r.kernel.org, shawnguo@...nel.org,
        linux-arm-kernel@...ts.infradead.org, linux-imx@....com,
        s.hauer@...gutronix.de, robh+dt@...nel.org,
        devicetree@...r.kernel.org, krzysztof.kozlowski+dt@...aro.org,
        arnd@...db.de, linux@...linux.org.uk, jernej.skrabec@...il.com,
        kernel@...gutronix.de, alistair23@...il.com, festevam@...il.com
Subject: Re: [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@...stair23.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
> 
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ