Re: [PATCH v3 3/3] ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815

From: Matti Vaittinen
Date: Sat Feb 25 2023 - 09:22:16 EST


Hi Alistair,

On 2/25/23 13:37, 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 | 158 ++++++++++++++++++++++++
1 file changed, 158 insertions(+)

diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
index 288fc8611117..9ecb733545cc 100644
--- a/arch/arm/boot/dts/imx7d-remarkable2.dts
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -91,6 +91,10 @@ wifi_pwrseq: wifi_pwrseq {
};
};
+&cpu0 {
+ cpu-supply = <&buck1_reg>;
+};
+
&clks {
assigned-clocks = <&clks IMX7D_CLKO2_ROOT_SRC>,
<&clks IMX7D_CLKO2_ROOT_DIV>;
@@ -118,6 +122,147 @@ wacom_digitizer: digitizer@9 {
};
};
+&i2c2 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c2>;
+ 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";

I'm sure you have learned to regard my comments with certain care ;) (I think it was you for whom I gave an advice - which resulted a board to be bricked :| So, please treat my comment as if I did not know what I am talking about).

Anyways, I believe the "regulator-compatible" is deprecated and should no longer be used to match the node with the regulator? Instead, the regulator node name itself should be used for the matching.

ref. https://elixir.bootlin.com/linux/latest/source/drivers/regulator/of_regulator.c#L380

I don't think the regulator-compatible can even be found from the regulator.yaml binding list...

With this remark - (and what ever it is worth):
Reviewed-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx>

--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~