diff mbox series

ARM: dts: imx6qdl-gw52xx: add CAN regulator

Message ID 20220912215312.964722-1-tharvey@gateworks.com (mailing list archive)
State Changes Requested
Headers show
Series ARM: dts: imx6qdl-gw52xx: add CAN regulator | expand

Commit Message

Tim Harvey Sept. 12, 2022, 9:53 p.m. UTC
The GW52xx has a tranceiver with a STBY pin connected to an IMX6 GPIO.
Configure this as a regulator to drive it low when CAN is in use.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
---
 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

Comments

Shawn Guo Sept. 16, 2022, 12:07 p.m. UTC | #1
On Mon, Sep 12, 2022 at 02:53:12PM -0700, Tim Harvey wrote:
> The GW52xx has a tranceiver with a STBY pin connected to an IMX6 GPIO.
> Configure this as a regulator to drive it low when CAN is in use.
> 
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> ---
>  arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
> index b1df2beb2832..ec6b55bf77d9 100644
> --- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
> @@ -137,6 +137,16 @@ reg_5p0v: regulator-5p0v {
>  		regulator-always-on;
>  	};
>  
> +	reg_can1_stby: regulator-can1-stby {
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_reg_can1>;
> +		compatible = "regulator-fixed";

Can we have properties start with 'compatible' just like other nodes?

Shawn

> +		regulator-name = "can1_stby";
> +		gpio = <&gpio1 9 GPIO_ACTIVE_LOW>;
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +	};
> +
>  	reg_usb_otg_vbus: regulator-usb-otg-vbus {
>  		compatible = "regulator-fixed";
>  		regulator-name = "usb_otg_vbus";
> @@ -170,6 +180,7 @@ &audmux {
>  &can1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_flexcan1>;
> +	xceiver-supply = <&reg_can1_stby>;
>  	status = "okay";
>  };
>  
> @@ -612,7 +623,6 @@ pinctrl_flexcan1: flexcan1grp {
>  		fsl,pins = <
>  			MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX	0x1b0b1
>  			MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX	0x1b0b1
> -			MX6QDL_PAD_GPIO_9__GPIO1_IO09		0x4001b0b0 /* CAN_STBY */
>  		>;
>  	};
>  
> @@ -702,6 +712,12 @@ MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
>  		>;
>  	};
>  
> +	pinctrl_reg_can1: regcan1grp {
> +		fsl,pins = <
> +			MX6QDL_PAD_GPIO_9__GPIO1_IO09		0x4001b0b0 /* CAN_STBY */
> +		>;
> +	};
> +
>  	pinctrl_uart1: uart1grp {
>  		fsl,pins = <
>  			MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
> -- 
> 2.25.1
>
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
index b1df2beb2832..ec6b55bf77d9 100644
--- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
@@ -137,6 +137,16 @@  reg_5p0v: regulator-5p0v {
 		regulator-always-on;
 	};
 
+	reg_can1_stby: regulator-can1-stby {
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_reg_can1>;
+		compatible = "regulator-fixed";
+		regulator-name = "can1_stby";
+		gpio = <&gpio1 9 GPIO_ACTIVE_LOW>;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+	};
+
 	reg_usb_otg_vbus: regulator-usb-otg-vbus {
 		compatible = "regulator-fixed";
 		regulator-name = "usb_otg_vbus";
@@ -170,6 +180,7 @@  &audmux {
 &can1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_flexcan1>;
+	xceiver-supply = <&reg_can1_stby>;
 	status = "okay";
 };
 
@@ -612,7 +623,6 @@  pinctrl_flexcan1: flexcan1grp {
 		fsl,pins = <
 			MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX	0x1b0b1
 			MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX	0x1b0b1
-			MX6QDL_PAD_GPIO_9__GPIO1_IO09		0x4001b0b0 /* CAN_STBY */
 		>;
 	};
 
@@ -702,6 +712,12 @@  MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
 		>;
 	};
 
+	pinctrl_reg_can1: regcan1grp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_9__GPIO1_IO09		0x4001b0b0 /* CAN_STBY */
+		>;
+	};
+
 	pinctrl_uart1: uart1grp {
 		fsl,pins = <
 			MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1