* [PATCH V4 0/3] ARM: dts: add flexcan support
@ 2018-11-28 11:03 Joakim Zhang
2018-11-28 11:03 ` [PATCH V4 1/3] ARM: dts: imx6sx-sdb: " Joakim Zhang
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Joakim Zhang @ 2018-11-28 11:03 UTC (permalink / raw)
To: mkl@pengutronix.de, shawnguo@kernel.org, s.hauer@pengutronix.de
Cc: kernel@pengutronix.de, Fabio Estevam, devicetree@vger.kernel.org,
robh+dt@kernel.org, dl-linux-imx, Joakim Zhang
This patch series intends to add flexcan support for IMX6 platforms.
Aisheng Dong (3):
ARM: dts: imx6sx-sdb: add flexcan support
ARM: dts: imx6sx-sabreauto: add flexcan support
ARM: dts: imx6qdl-sabreauto: add flexcan support
arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 47 +++++++++++++++++++
arch/arm/boot/dts/imx6sx-sabreauto.dts | 57 ++++++++++++++++++++++++
arch/arm/boot/dts/imx6sx-sdb-reva.dts | 12 +++++
arch/arm/boot/dts/imx6sx-sdb.dts | 5 +++
arch/arm/boot/dts/imx6sx-sdb.dtsi | 42 +++++++++++++++++
5 files changed, 163 insertions(+)
--
2.17.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH V4 1/3] ARM: dts: imx6sx-sdb: add flexcan support
2018-11-28 11:03 [PATCH V4 0/3] ARM: dts: add flexcan support Joakim Zhang
@ 2018-11-28 11:03 ` Joakim Zhang
2018-11-28 11:03 ` [PATCH V4 2/3] ARM: dts: imx6sx-sabreauto: " Joakim Zhang
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Joakim Zhang @ 2018-11-28 11:03 UTC (permalink / raw)
To: mkl@pengutronix.de, shawnguo@kernel.org, s.hauer@pengutronix.de
Cc: kernel@pengutronix.de, Fabio Estevam, devicetree@vger.kernel.org,
robh+dt@kernel.org, dl-linux-imx, Aisheng DONG, Joakim Zhang
From: Aisheng Dong <aisheng.dong@nxp.com>
CAN transceiver is different on RevA and RevB board.
It's active high on RevA while active low on Rev B.
Signed-off-by: Aisheng Dong <aisheng.dong@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
---
ChangeLog:
V1->V2:
*no change.
V2->V3:
*use label node like:
®_can_en{
...
};
V3->V4:
*no change.
---
arch/arm/boot/dts/imx6sx-sdb-reva.dts | 12 ++++++++
arch/arm/boot/dts/imx6sx-sdb.dts | 5 ++++
arch/arm/boot/dts/imx6sx-sdb.dtsi | 42 +++++++++++++++++++++++++++
3 files changed, 59 insertions(+)
diff --git a/arch/arm/boot/dts/imx6sx-sdb-reva.dts b/arch/arm/boot/dts/imx6sx-sdb-reva.dts
index 9cc6ff206aea..82ca8d7c7b9d 100644
--- a/arch/arm/boot/dts/imx6sx-sdb-reva.dts
+++ b/arch/arm/boot/dts/imx6sx-sdb-reva.dts
@@ -142,3 +142,15 @@
spi-max-frequency = <66000000>;
};
};
+
+®_can_en {
+ /* Transceiver EN/STBY is active high on RevA board */
+ gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+};
+
+®_can_stby {
+ gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ vin-supply = <®_can_en>;
+};
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dts b/arch/arm/boot/dts/imx6sx-sdb.dts
index 6dd9bebfe027..24a4b4eec29b 100644
--- a/arch/arm/boot/dts/imx6sx-sdb.dts
+++ b/arch/arm/boot/dts/imx6sx-sdb.dts
@@ -136,3 +136,8 @@
®_soc {
vin-supply = <&sw1a_reg>;
};
+
+®_can_stby {
+ /* Transceiver EN/STBY is active low on RevB board */
+ gpio = <&gpio4 27 GPIO_ACTIVE_LOW>;
+};
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dtsi b/arch/arm/boot/dts/imx6sx-sdb.dtsi
index 7d7d679945d2..5506a8258816 100644
--- a/arch/arm/boot/dts/imx6sx-sdb.dtsi
+++ b/arch/arm/boot/dts/imx6sx-sdb.dtsi
@@ -140,6 +140,20 @@
regulator-max-microvolt = <5000000>;
};
+ reg_can_en: regulator-can-en {
+ compatible = "regulator-fixed";
+ regulator-name = "can-en";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ reg_can_stby: regulator-can-stby {
+ compatible = "regulator-fixed";
+ regulator-name = "can-stby";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
sound {
compatible = "fsl,imx6sx-sdb-wm8962", "fsl,imx-audio-wm8962";
model = "wm8962-audio";
@@ -207,6 +221,20 @@
status = "okay";
};
+&flexcan1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan1>;
+ xceiver-supply = <®_can_stby>;
+ status = "okay";
+};
+
+&flexcan2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan2>;
+ xceiver-supply = <®_can_stby>;
+ status = "okay";
+};
+
&i2c3 {
clock-frequency = <100000>;
pinctrl-names = "default";
@@ -404,6 +432,20 @@
>;
};
+ pinctrl_flexcan1: flexcan1grp {
+ fsl,pins = <
+ MX6SX_PAD_QSPI1B_DQS__CAN1_TX 0x1b020
+ MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX 0x1b020
+ >;
+ };
+
+ pinctrl_flexcan2: flexcan2grp {
+ fsl,pins = <
+ MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX 0x1b020
+ MX6SX_PAD_QSPI1A_DQS__CAN2_TX 0x1b020
+ >;
+ };
+
pinctrl_gpio_keys: gpio_keysgrp {
fsl,pins = <
MX6SX_PAD_CSI_DATA04__GPIO1_IO_18 0x17059
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH V4 2/3] ARM: dts: imx6sx-sabreauto: add flexcan support
2018-11-28 11:03 [PATCH V4 0/3] ARM: dts: add flexcan support Joakim Zhang
2018-11-28 11:03 ` [PATCH V4 1/3] ARM: dts: imx6sx-sdb: " Joakim Zhang
@ 2018-11-28 11:03 ` Joakim Zhang
2018-11-28 11:03 ` [PATCH V4 3/3] ARM: dts: imx6qdl-sabreauto: " Joakim Zhang
2018-12-05 3:19 ` [PATCH V4 0/3] ARM: dts: " Shawn Guo
3 siblings, 0 replies; 5+ messages in thread
From: Joakim Zhang @ 2018-11-28 11:03 UTC (permalink / raw)
To: mkl@pengutronix.de, shawnguo@kernel.org, s.hauer@pengutronix.de
Cc: kernel@pengutronix.de, Fabio Estevam, devicetree@vger.kernel.org,
robh+dt@kernel.org, dl-linux-imx, Aisheng DONG, Joakim Zhang
From: Aisheng Dong <aisheng.dong@nxp.com>
The CAN transceiver on MX6SX Sabreauto board seems in sleep mode by default
after power up the board. User has to press the wakeup key on ARD baseboard
before using the transceiver, or it may not work properly when power up the
board at the first time(warm reset does not have such issue).
This patch operates the wake pin too besides stby/en pins by chaining them
together in regulator mode.
Signed-off-by: Aisheng Dong <aisheng.dong@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
---
ChangeLog:
V1->V4:
*no change.
---
arch/arm/boot/dts/imx6sx-sabreauto.dts | 57 ++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/arch/arm/boot/dts/imx6sx-sabreauto.dts b/arch/arm/boot/dts/imx6sx-sabreauto.dts
index 841a27f3198f..8f3319e7692f 100644
--- a/arch/arm/boot/dts/imx6sx-sabreauto.dts
+++ b/arch/arm/boot/dts/imx6sx-sabreauto.dts
@@ -36,6 +36,35 @@
gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
+
+ reg_can_wake: regulator-can-wake {
+ compatible = "regulator-fixed";
+ regulator-name = "can-wake";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&max7310_b 7 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ reg_can_en: regulator-can-en {
+ compatible = "regulator-fixed";
+ regulator-name = "can-en";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&max7310_b 5 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ vin-supply = <®_can_wake>;
+ };
+
+ reg_can_stby: regulator-can-stby {
+ compatible = "regulator-fixed";
+ regulator-name = "can-stby";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&max7310_b 4 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ vin-supply = <®_can_en>;
+ };
};
&anaclk2 {
@@ -75,6 +104,20 @@
status = "okay";
};
+&flexcan1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan1>;
+ xceiver-supply = <®_can_stby>;
+ status = "okay";
+};
+
+&flexcan2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan2>;
+ xceiver-supply = <®_can_stby>;
+ status = "okay";
+};
+
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
@@ -149,6 +192,20 @@
>;
};
+ pinctrl_flexcan1: flexcan1grp {
+ fsl,pins = <
+ MX6SX_PAD_QSPI1B_DQS__CAN1_TX 0x1b020
+ MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX 0x1b020
+ >;
+ };
+
+ pinctrl_flexcan2: flexcan2grp {
+ fsl,pins = <
+ MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX 0x1b020
+ MX6SX_PAD_QSPI1A_DQS__CAN2_TX 0x1b020
+ >;
+ };
+
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX6SX_PAD_GPIO1_IO03__I2C2_SDA 0x4001b8b1
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH V4 3/3] ARM: dts: imx6qdl-sabreauto: add flexcan support
2018-11-28 11:03 [PATCH V4 0/3] ARM: dts: add flexcan support Joakim Zhang
2018-11-28 11:03 ` [PATCH V4 1/3] ARM: dts: imx6sx-sdb: " Joakim Zhang
2018-11-28 11:03 ` [PATCH V4 2/3] ARM: dts: imx6sx-sabreauto: " Joakim Zhang
@ 2018-11-28 11:03 ` Joakim Zhang
2018-12-05 3:19 ` [PATCH V4 0/3] ARM: dts: " Shawn Guo
3 siblings, 0 replies; 5+ messages in thread
From: Joakim Zhang @ 2018-11-28 11:03 UTC (permalink / raw)
To: mkl@pengutronix.de, shawnguo@kernel.org, s.hauer@pengutronix.de
Cc: kernel@pengutronix.de, Fabio Estevam, devicetree@vger.kernel.org,
robh+dt@kernel.org, dl-linux-imx, Aisheng DONG, Joakim Zhang
From: Aisheng Dong <aisheng.dong@nxp.com>
The flexcan1 is pin conflict with fec. User would make flexcan1 enabled
with fec disabled to use CAN.
Signed-off-by: Aisheng Dong <aisheng.dong@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
---
V1->V2:
*using SPDX tag for new files and remove pinctrl-assert-gpios property.
V2->V3:
*remove the new files due to a pile of DTS files for a single
development board with pin sharing among different devices not
maintained.
V3->V4:
*remove pinctrl-assert-gpios proverty in V3.
---
arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 47 ++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
index a10f0ad0bfb1..c1111b972b46 100644
--- a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
@@ -101,6 +101,25 @@
enable-active-high;
};
+ reg_can_en: regulator-can-en {
+ compatible = "regulator-fixed";
+ regulator-name = "can-en";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&max7310_b 6 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 = <&max7310_b 5 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ vin-supply = <®_can_en>;
+ };
+
sound-cs42888 {
compatible = "fsl,imx6-sabreauto-cs42888",
"fsl,imx-audio-cs42888";
@@ -279,6 +298,20 @@
status = "okay";
};
+&can1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan1>;
+ xceiver-supply = <®_can_stby>;
+ status = "disabled"; /* pin conflict with fec */
+};
+
+&can2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan2>;
+ xceiver-supply = <®_can_stby>;
+ status = "okay";
+};
+
&gpmi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpmi_nand>;
@@ -494,6 +527,20 @@
>;
};
+ pinctrl_flexcan1: flexcan1grp {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x17059
+ MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x17059
+ >;
+ };
+
+ pinctrl_flexcan2: flexcan2grp {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x17059
+ MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x17059
+ >;
+ };
+
pinctrl_gpio_keys: gpiokeysgrp {
fsl,pins = <
MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x1b0b0
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH V4 0/3] ARM: dts: add flexcan support
2018-11-28 11:03 [PATCH V4 0/3] ARM: dts: add flexcan support Joakim Zhang
` (2 preceding siblings ...)
2018-11-28 11:03 ` [PATCH V4 3/3] ARM: dts: imx6qdl-sabreauto: " Joakim Zhang
@ 2018-12-05 3:19 ` Shawn Guo
3 siblings, 0 replies; 5+ messages in thread
From: Shawn Guo @ 2018-12-05 3:19 UTC (permalink / raw)
To: Joakim Zhang
Cc: mkl@pengutronix.de, s.hauer@pengutronix.de, kernel@pengutronix.de,
Fabio Estevam, devicetree@vger.kernel.org, robh+dt@kernel.org,
dl-linux-imx
On Wed, Nov 28, 2018 at 11:03:45AM +0000, Joakim Zhang wrote:
> This patch series intends to add flexcan support for IMX6 platforms.
>
> Aisheng Dong (3):
> ARM: dts: imx6sx-sdb: add flexcan support
> ARM: dts: imx6sx-sabreauto: add flexcan support
> ARM: dts: imx6qdl-sabreauto: add flexcan support
Applied all, thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-12-05 3:19 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-28 11:03 [PATCH V4 0/3] ARM: dts: add flexcan support Joakim Zhang
2018-11-28 11:03 ` [PATCH V4 1/3] ARM: dts: imx6sx-sdb: " Joakim Zhang
2018-11-28 11:03 ` [PATCH V4 2/3] ARM: dts: imx6sx-sabreauto: " Joakim Zhang
2018-11-28 11:03 ` [PATCH V4 3/3] ARM: dts: imx6qdl-sabreauto: " Joakim Zhang
2018-12-05 3:19 ` [PATCH V4 0/3] ARM: dts: " Shawn Guo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).