summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts
diff options
context:
space:
mode:
authorDong Aisheng <aisheng.dong@freescale.com>2015-12-15 20:10:15 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:24:01 +0800
commit6fa94d069390c2bd17801c794132eac15daa41c0 (patch)
treeba2b243646060f65788f51db1e474a502b97e62c /arch/arm/boot/dts
parent733923afaa0dd50f5afb561da13d7704eb5abead (diff)
MLK-12016-1 dts: imx6sx-sdb: add flexcan support
CAN transceiver is different on RevA and RevB board. It's active high on RevA while active low on Rev B. Signed-off-by: Dong Aisheng <aisheng.dong@freescale.com>
Diffstat (limited to 'arch/arm/boot/dts')
-rw-r--r--arch/arm/boot/dts/imx6sx-sdb-reva.dts14
-rw-r--r--arch/arm/boot/dts/imx6sx-sdb.dts7
-rw-r--r--arch/arm/boot/dts/imx6sx-sdb.dtsi44
3 files changed, 65 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/imx6sx-sdb-reva.dts b/arch/arm/boot/dts/imx6sx-sdb-reva.dts
index 5a49d95d772d..b5cabf97fcaf 100644
--- a/arch/arm/boot/dts/imx6sx-sdb-reva.dts
+++ b/arch/arm/boot/dts/imx6sx-sdb-reva.dts
@@ -10,6 +10,20 @@
/ {
model = "Freescale i.MX6 SoloX SDB RevA Board";
+
+ regulators {
+ /* Transceiver EN/STBY is active high on RevA board */
+ reg_can_en: regulator@9 {
+ gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ reg_can_stby: regulator@10 {
+ gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ vin-supply = <&reg_can_en>;
+ };
+ };
};
&cpu0 {
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dts b/arch/arm/boot/dts/imx6sx-sdb.dts
index 9e98f62ff1be..6372f56373bf 100644
--- a/arch/arm/boot/dts/imx6sx-sdb.dts
+++ b/arch/arm/boot/dts/imx6sx-sdb.dts
@@ -10,6 +10,13 @@
/ {
model = "Freescale i.MX6 SoloX SDB RevB Board";
+
+ regulators {
+ /* Transceiver EN/STBY is active low on RevB board */
+ reg_can_stby: regulator@10 {
+ gpio = <&gpio4 27 GPIO_ACTIVE_LOW>;
+ };
+ };
};
&cpu0 {
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dtsi b/arch/arm/boot/dts/imx6sx-sdb.dtsi
index 914a0bef1485..75471c328d90 100644
--- a/arch/arm/boot/dts/imx6sx-sdb.dtsi
+++ b/arch/arm/boot/dts/imx6sx-sdb.dtsi
@@ -171,6 +171,22 @@
regulator-always-on;
enable-active-high;
};
+
+ reg_can_en: regulator@9 {
+ compatible = "regulator-fixed";
+ reg = <9>;
+ regulator-name = "can-en";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ reg_can_stby: regulator@10 {
+ compatible = "regulator-fixed";
+ reg = <10>;
+ regulator-name = "can-stby";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
};
sound {
@@ -289,6 +305,20 @@
status = "okay";
};
+&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";
+};
+
&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
@@ -762,6 +792,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