arm64: dts: freescale: debix-som-a-bmb-08: Add CSI Power Regulators

Message ID 20231021005250.3498664-1-kieran.bingham@ideasonboard.com
State New
Headers
Series arm64: dts: freescale: debix-som-a-bmb-08: Add CSI Power Regulators |

Commit Message

Kieran Bingham Oct. 21, 2023, 12:52 a.m. UTC
  Provide the 1.8 and 3.3 volt regulators that are utilised on the Debix
SOM BMB-08 base board.

Facilitate this by also supplying the pin control used to enable the
regulators on the second MIPI CSI port.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 .../freescale/imx8mp-debix-som-a-bmb-08.dts   | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
  

Comments

Marco Felsch Oct. 21, 2023, 2:18 p.m. UTC | #1
Hi Kieran,

thanks for your patch.

On 23-10-21, Kieran Bingham wrote:
> Provide the 1.8 and 3.3 volt regulators that are utilised on the Debix
> SOM BMB-08 base board.
> 
> Facilitate this by also supplying the pin control used to enable the
> regulators on the second MIPI CSI port.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> ---
>  .../freescale/imx8mp-debix-som-a-bmb-08.dts   | 56 +++++++++++++++++++
>  1 file changed, 56 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts b/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts
> index 0b0c95432bdc..e058402f1f2e 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts
> @@ -63,6 +63,50 @@ regulator-som-vdd3v3 {
>  		regulator-always-on;
>  	};
>  
> +	reg_csi1_1v8: regulator-csi1-vdd1v8 {
> +		compatible = "regulator-fixed";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		regulator-name = "CSI1_VDD1V8_SW";

Can we drop the _SW suffix here and below? I like to align the names
with the schematic power-rail names to make it easier to grep.

With that fixed feel free to add my:

Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>

> +		gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
> +		vin-supply = <&reg_baseboard_vdd3v3>;
> +		enable-active-high;
> +	};
> +
> +	reg_csi1_3v3: regulator-csi1-vdd3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-name = "CSI1_VDD3V3_SW";
> +		gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		vin-supply = <&reg_vdd5v0>;
> +	};
> +
> +	reg_csi2_1v8: regulator-csi2-vdd1v8 {
> +		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_reg_csi2_1v8>;
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		regulator-name = "CSI2_VDD1V8_SW";
> +		gpio = <&gpio3 21 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		vin-supply = <&reg_baseboard_vdd3v3>;
> +	};
> +
> +	reg_csi2_3v3: regulator-csi2-vdd3v3 {
> +		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_reg_csi2_3v3>;
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-name = "CSI2_VDD3V3_SW";
> +		gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		vin-supply = <&reg_vdd5v0>;
> +	};
> +
>  	regulator-vbus-usb20 {
>  		compatible = "regulator-fixed";
>  		regulator-min-microvolt = <5000000>;
> @@ -413,6 +457,18 @@ MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03		0x41
>  		>;
>  	};
>  
> +	pinctrl_reg_csi2_1v8: regcsi21v8grp {
> +		fsl,pins = <
> +			MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21		0x19
> +		>;
> +	};
> +
> +	pinctrl_reg_csi2_3v3: regcsi23v3grp {
> +		fsl,pins = <
> +			MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25		0x19
> +		>;
> +	};
> +
>  	pinctrl_uart2: uart2grp {
>  		fsl,pins = <
>  			MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX		0x14f
> -- 
> 2.34.1
> 
>
  
Kieran Bingham Oct. 22, 2023, 12:05 p.m. UTC | #2
Quoting Marco Felsch (2023-10-21 15:18:02)
> Hi Kieran,
> 
> thanks for your patch.
> 
> On 23-10-21, Kieran Bingham wrote:
> > Provide the 1.8 and 3.3 volt regulators that are utilised on the Debix
> > SOM BMB-08 base board.
> > 
> > Facilitate this by also supplying the pin control used to enable the
> > regulators on the second MIPI CSI port.
> > 
> > Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > ---
> >  .../freescale/imx8mp-debix-som-a-bmb-08.dts   | 56 +++++++++++++++++++
> >  1 file changed, 56 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts b/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts
> > index 0b0c95432bdc..e058402f1f2e 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts
> > @@ -63,6 +63,50 @@ regulator-som-vdd3v3 {
> >               regulator-always-on;
> >       };
> >  
> > +     reg_csi1_1v8: regulator-csi1-vdd1v8 {
> > +             compatible = "regulator-fixed";
> > +             regulator-min-microvolt = <1800000>;
> > +             regulator-max-microvolt = <1800000>;
> > +             regulator-name = "CSI1_VDD1V8_SW";
> 
> Can we drop the _SW suffix here and below? I like to align the names
> with the schematic power-rail names to make it easier to grep.


Sure that's fine with me. I think the _SW is probably a hangover from
the BSP kernel, I'm not sure why I kept it ;-)

> With that fixed feel free to add my:

Thanks

--
Kieran

> 
> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>
> 
> > +             gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
> > +             vin-supply = <&reg_baseboard_vdd3v3>;
> > +             enable-active-high;
> > +     };
> > +
> > +     reg_csi1_3v3: regulator-csi1-vdd3v3 {
> > +             compatible = "regulator-fixed";
> > +             regulator-min-microvolt = <3300000>;
> > +             regulator-max-microvolt = <3300000>;
> > +             regulator-name = "CSI1_VDD3V3_SW";
> > +             gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
> > +             enable-active-high;
> > +             vin-supply = <&reg_vdd5v0>;
> > +     };
> > +
> > +     reg_csi2_1v8: regulator-csi2-vdd1v8 {
> > +             compatible = "regulator-fixed";
> > +             pinctrl-names = "default";
> > +             pinctrl-0 = <&pinctrl_reg_csi2_1v8>;
> > +             regulator-min-microvolt = <1800000>;
> > +             regulator-max-microvolt = <1800000>;
> > +             regulator-name = "CSI2_VDD1V8_SW";
> > +             gpio = <&gpio3 21 GPIO_ACTIVE_HIGH>;
> > +             enable-active-high;
> > +             vin-supply = <&reg_baseboard_vdd3v3>;
> > +     };
> > +
> > +     reg_csi2_3v3: regulator-csi2-vdd3v3 {
> > +             compatible = "regulator-fixed";
> > +             pinctrl-names = "default";
> > +             pinctrl-0 = <&pinctrl_reg_csi2_3v3>;
> > +             regulator-min-microvolt = <3300000>;
> > +             regulator-max-microvolt = <3300000>;
> > +             regulator-name = "CSI2_VDD3V3_SW";
> > +             gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
> > +             enable-active-high;
> > +             vin-supply = <&reg_vdd5v0>;
> > +     };
> > +
> >       regulator-vbus-usb20 {
> >               compatible = "regulator-fixed";
> >               regulator-min-microvolt = <5000000>;
> > @@ -413,6 +457,18 @@ MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03              0x41
> >               >;
> >       };
> >  
> > +     pinctrl_reg_csi2_1v8: regcsi21v8grp {
> > +             fsl,pins = <
> > +                     MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21              0x19
> > +             >;
> > +     };
> > +
> > +     pinctrl_reg_csi2_3v3: regcsi23v3grp {
> > +             fsl,pins = <
> > +                     MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25               0x19
> > +             >;
> > +     };
> > +
> >       pinctrl_uart2: uart2grp {
> >               fsl,pins = <
> >                       MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX            0x14f
> > -- 
> > 2.34.1
> > 
> >
  

Patch

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts b/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts
index 0b0c95432bdc..e058402f1f2e 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dts
@@ -63,6 +63,50 @@  regulator-som-vdd3v3 {
 		regulator-always-on;
 	};
 
+	reg_csi1_1v8: regulator-csi1-vdd1v8 {
+		compatible = "regulator-fixed";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-name = "CSI1_VDD1V8_SW";
+		gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
+		vin-supply = <&reg_baseboard_vdd3v3>;
+		enable-active-high;
+	};
+
+	reg_csi1_3v3: regulator-csi1-vdd3v3 {
+		compatible = "regulator-fixed";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-name = "CSI1_VDD3V3_SW";
+		gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		vin-supply = <&reg_vdd5v0>;
+	};
+
+	reg_csi2_1v8: regulator-csi2-vdd1v8 {
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_reg_csi2_1v8>;
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-name = "CSI2_VDD1V8_SW";
+		gpio = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		vin-supply = <&reg_baseboard_vdd3v3>;
+	};
+
+	reg_csi2_3v3: regulator-csi2-vdd3v3 {
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_reg_csi2_3v3>;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-name = "CSI2_VDD3V3_SW";
+		gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		vin-supply = <&reg_vdd5v0>;
+	};
+
 	regulator-vbus-usb20 {
 		compatible = "regulator-fixed";
 		regulator-min-microvolt = <5000000>;
@@ -413,6 +457,18 @@  MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03		0x41
 		>;
 	};
 
+	pinctrl_reg_csi2_1v8: regcsi21v8grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21		0x19
+		>;
+	};
+
+	pinctrl_reg_csi2_3v3: regcsi23v3grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25		0x19
+		>;
+	};
+
 	pinctrl_uart2: uart2grp {
 		fsl,pins = <
 			MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX		0x14f