MLK-23573 arm64: dts: imx8qm/qxp-val: Enable CAN
authorJoakim Zhang <qiangqing.zhang@nxp.com>
Wed, 11 Mar 2020 05:04:31 +0000 (13:04 +0800)
committerDong Aisheng <aisheng.dong@nxp.com>
Mon, 14 Dec 2020 03:23:12 +0000 (11:23 +0800)
Enable CAN on i.MX8QM/QXP validation board for test team requirement.

Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
arch/arm64/boot/dts/freescale/imx8qm-lpddr4-val.dts
arch/arm64/boot/dts/freescale/imx8qxp-lpddr4-val.dts

index 3888a81..f159587 100755 (executable)
 
        };
 
+       reg_can_en: regulator-can-en {
+               compatible = "regulator-fixed";
+               regulator-name = "can-en";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pca9557_b 5 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_can_stby: regulator-can-stby {
+               compatible = "regulator-fixed";
+               regulator-name = "can-stby";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pca9557_b 4 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               vin-supply = <&reg_can_en>;
+       };
+
        reg_usdhc2_vmmc: usdhc2-vmmc {
                compatible = "regulator-fixed";
                regulator-name = "SD1_SPWR";
        };
 };
 
+&flexcan1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan1>;
+       xceiver-supply = <&reg_can_stby>;
+       status = "okay";
+};
+
+&flexcan2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan2>;
+       xceiver-supply = <&reg_can_stby>;
+       status = "okay";
+};
+
+&flexcan3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan3>;
+       xceiver-supply = <&reg_can_stby>;
+       status = "okay";
+};
+
 &usdhc1 {
        pinctrl-names = "default", "state_100mhz", "state_200mhz";
        pinctrl-0 = <&pinctrl_usdhc1>;
                >;
        };
 
+       pinctrl_flexcan1: flexcan1grp {
+               fsl,pins = <
+                       IMX8QM_FLEXCAN0_TX_DMA_FLEXCAN0_TX      0x21
+                       IMX8QM_FLEXCAN0_RX_DMA_FLEXCAN0_RX      0x21
+               >;
+       };
+
+       pinctrl_flexcan2: flexcan2grp {
+               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_lpi2c0: lpi2c0grp {
                fsl,pins = <
                        IMX8QM_HDMI_TX0_TS_SCL_DMA_I2C0_SCL                     0xc600004c
index 1c220a5..ebc7bcd 100755 (executable)
                };
        };
 
+       reg_can_en: regulator-can-en {
+               compatible = "regulator-fixed";
+               regulator-name = "can-en";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pca9557_b 5 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_can_stby: regulator-can-stby {
+               compatible = "regulator-fixed";
+               regulator-name = "can-stby";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pca9557_b 4 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               vin-supply = <&reg_can_en>;
+       };
+
        reg_usdhc2_vmmc: usdhc2-vmmc {
                compatible = "regulator-fixed";
                regulator-name = "SD1_SPWR";
        };
 };
 
+&flexcan1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan1>;
+       xceiver-supply = <&reg_can_stby>;
+       status = "okay";
+};
+
+&flexcan2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan2>;
+       xceiver-supply = <&reg_can_stby>;
+       status = "okay";
+};
+
+&flexcan3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan3>;
+       xceiver-supply = <&reg_can_stby>;
+       status = "okay";
+};
+
 &mlb {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_mlb>;
                >;
        };
 
+       pinctrl_flexcan1: flexcan1grp {
+               fsl,pins = <
+                       IMX8QXP_FLEXCAN0_TX_ADMA_FLEXCAN0_TX            0x21
+                       IMX8QXP_FLEXCAN0_RX_ADMA_FLEXCAN0_RX            0x21
+               >;
+       };
+
+       pinctrl_flexcan2: flexcan2grp {
+               fsl,pins = <
+                       IMX8QXP_FLEXCAN1_TX_ADMA_FLEXCAN1_TX            0x21
+                       IMX8QXP_FLEXCAN1_RX_ADMA_FLEXCAN1_RX            0x21
+               >;
+       };
+
+       pinctrl_flexcan3: flexcan3grp {
+               fsl,pins = <
+                       IMX8QXP_FLEXCAN2_TX_ADMA_FLEXCAN2_TX            0x21
+                       IMX8QXP_FLEXCAN2_RX_ADMA_FLEXCAN2_RX            0x21
+               >;
+       };
+
        pinctrl_flexspi0: flexspi0grp {
                fsl,pins = <
                        IMX8QXP_QSPI0A_DATA0_LSIO_QSPI0A_DATA0                  0x06000021