]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
arm64: dts: imx8qm-mek: add flexcan support
authorFrank Li <Frank.Li@nxp.com>
Thu, 25 Apr 2024 20:24:43 +0000 (16:24 -0400)
committerShawn Guo <shawnguo@kernel.org>
Mon, 3 Jun 2024 01:16:46 +0000 (09:16 +0800)
Add flexcan[1,2,3] support for imx8qm-mek board.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8qm-mek.dts

index c5cb461c30c97ecd648659f736e354a0576f292c..cb5cfd04b169056c615f55e25d253f6bb23f5d37 100644 (file)
                enable-active-high;
        };
 
+       reg_can01_en: regulator-can01-gen {
+               compatible = "regulator-fixed";
+               regulator-name = "can01-en";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pca6416 3 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_can2_en: regulator-can2-gen {
+               compatible = "regulator-fixed";
+               regulator-name = "can2-en";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pca6416 4 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_can01_stby: regulator-can01-stby {
+               compatible = "regulator-fixed";
+               regulator-name = "can01-stby";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pca6416 5 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               vin-supply = <&reg_can01_en>;
+       };
+
+       reg_can2_stby: regulator-can2-stby {
+               compatible = "regulator-fixed";
+               regulator-name = "can2-stby";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pca6416 6 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               vin-supply = <&reg_can2_en>;
+       };
+
        reg_vref_1v8: regulator-adc-vref {
                compatible = "regulator-fixed";
                regulator-name = "vref_1v8";
        };
 };
 
+&flexcan1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan1>;
+       xceiver-supply = <&reg_can01_stby>;
+       status = "okay";
+};
+
+&flexcan2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan2>;
+       xceiver-supply = <&reg_can01_stby>;
+       status = "okay";
+};
+
+&flexcan3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan3>;
+       xceiver-supply = <&reg_can2_stby>;
+       status = "okay";
+};
+
 &lpuart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lpuart0>;
                >;
        };
 
+       pinctrl_flexcan1: flexcan0grp {
+               fsl,pins = <
+                       IMX8QM_FLEXCAN0_TX_DMA_FLEXCAN0_TX                      0x21
+                       IMX8QM_FLEXCAN0_RX_DMA_FLEXCAN0_RX                      0x21
+               >;
+       };
+
+       pinctrl_flexcan2: flexcan1grp {
+               fsl,pins = <
+                       IMX8QM_FLEXCAN1_TX_DMA_FLEXCAN1_TX                      0x21
+                       IMX8QM_FLEXCAN1_RX_DMA_FLEXCAN1_RX                      0x21
+               >;
+       };
+
+       pinctrl_flexcan3: flexcan3grp {
+               fsl,pins = <
+                       IMX8QM_FLEXCAN2_TX_DMA_FLEXCAN2_TX                      0x21
+                       IMX8QM_FLEXCAN2_RX_DMA_FLEXCAN2_RX                      0x21
+               >;
+       };
+
        pinctrl_lpuart0: lpuart0grp {
                fsl,pins = <
                        IMX8QM_UART0_RX_DMA_UART0_RX                            0x06000020