imx: add latest Boundary Devices boards support
Subsystems (6)
cover imx: add latest Boundary Devices boards support
Hi all,
This series adds support for the following Boundary Devices boards:
- Nitrogen7 (i.MX7)
- Nitrogen6SX (i.MX6SoloX)
- Nitrogen6QP_MAX (i.MX6QP)
The first patches add display and CAN support to i.MX7 device tree. Those two features have been successfully tested on the Nitrogen7. Also the support of CKIL clock has been added in order to use it as slow clock for the WiFi module.
Then the last 3 patches add some missing configurations in order to fully support Boundary platforms using imx_v6_v7_defconfig.
All the patches have been applied/tested on top of Shawn's 'for-next' branch.
Here are some remarks/questions that came during testing:
- Is the pxp v4l2 driver being worked on for mainline inclusion?
- Are the ldb modifications for SoloX being worked on for mainline inclusion?
- Is the WM8960 ASoC machine driver being worked on for mainline inclusion?
- When booting the Nitrogen7, there's backtrace due to clk_pllv3_prepare, does it happen on the sdb too? Note that it doesn't prevent the board to work.
Regards,
Gary
Gary Bisson (9):
ARM: dts: imx7d: add lcdif support
ARM: dts: imx7d: add flexcan support
clk: imx: add ckil clock for i.MX7
ARM: dts: imx: add Boundary Devices Nitrogen7 board
ARM: dts: imx: add Boundary Devices Nitrogen6_MAX QP board
ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
ARM: imx_v6_v7_defconfig: add FT5x06 and TSC2004 touch support
ARM: imx_v6_v7_defconfig: add CONFIG_I2C_MUX_GPIO
ARM: imx_v6_v7_defconfig: add CONFIG_RTC_DRV_M41T80
arch/arm/boot/dts/Makefile | 3 + arch/arm/boot/dts/imx6qp-nitrogen6_max.dts | 55 ++ arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 745 ++++++++++++++++++++++++++ arch/arm/boot/dts/imx7d-nitrogen7.dts | 818 +++++++++++++++++++++++++++++ arch/arm/boot/dts/imx7d.dtsi | 33 ++ arch/arm/configs/imx_v6_v7_defconfig | 4 + drivers/clk/imx/clk-imx7d.c | 3 +- include/dt-bindings/clock/imx7d-clock.h | 3 +- 8 files changed, 1662 insertions(+), 2 deletions(-) create mode 100644 arch/arm/boot/dts/imx6qp-nitrogen6_max.dts create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts create mode 100644 arch/arm/boot/dts/imx7d-nitrogen7.dts
Signature · 1 line
2.7.0
PATCH 1/9 ARM: dts: imx7d: add lcdif support
Add the device node for the i.MX7 eLCDIF interface.
--- arch/arm/boot/dts/imx7d.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+)
arch/arm/boot/dts/imx7d.dtsi +11 -0
@@ -608,6 +608,17 @@ status = "disabled"; }; + lcdif: lcdif at 30730000 { + compatible = "fsl,imx7d-lcdif", "fsl,imx28-lcdif"; + reg = <0x30730000 0x10000>; + interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>, + <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CLK_DUMMY>; + clock-names = "pix", "axi", "disp_axi"; + status = "disabled"; + }; + pwm1: pwm at 30660000 { compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; reg = <0x30660000 0x10000>;
Signature · 1 line
2.7.0
PATCH 2/9 ARM: dts: imx7d: add flexcan support
In reply to Gary BissonAdd the device nodes for the i.MX7 FlexCAN buses.
--- arch/arm/boot/dts/imx7d.dtsi | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
arch/arm/boot/dts/imx7d.dtsi +22 -0
@@ -930,6 +930,28 @@ fsl,num-rx-queues=<3>; status = "disabled"; }; + + flexcan1: can at 30a00000 { + compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; + reg = <0x30a00000 0x10000>; + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CAN1_ROOT_CLK>; + clock-names = "ipg", "per"; + stop-mode = <&gpr 0x10 1 0x10 17>; + status = "disabled"; + }; + + flexcan2: can at 30a10000 { + compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; + reg = <0x30a10000 0x10000>; + interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CAN2_ROOT_CLK>; + clock-names = "ipg", "per"; + stop-mode = <&gpr 0x10 2 0x10 18>; + status = "disabled"; + }; }; }; };
Signature · 1 line
2.7.0
PATCH 3/9 clk: imx: add ckil clock for i.MX7
In reply to Gary BissonAdd the necessary clock to use the ckil on i.MX7.
Inspired from the following patch:
https://github.com/boundarydevices/linux-imx6/commit/b80e8271
--- drivers/clk/imx/clk-imx7d.c | 3 ++- include/dt-bindings/clock/imx7d-clock.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
drivers/clk/imx/clk-imx7d.c +2 -1
@@ -342,7 +342,7 @@ static const char *clko1_sel[] = { "osc", "pll_sys_main_clk",static const char *clko2_sel[] = {"osc" ,"pll_sys_main_240m_clk" ,"pll_sys_pfd0_392m_clk" ,"pll_sys_pfd1_166m_clk" ,"pll_sys_pfd4_clk" , -"pll_audio_main_clk" ,"pll_video_main_clk" ,"osc_32k_clk" , }; +"pll_audio_main_clk" ,"pll_video_main_clk" ,"ckil" , };static const char *lvds1_sel[] = {"pll_arm_main_clk" ,"pll_sys_main_clk" ,"pll_sys_pfd0_392m_clk" ,"pll_sys_pfd1_332m_clk" ,
@@ -382,6 +382,7 @@ static void __init imx7d_clocks_init(struct device_node *ccm_node) clks[IMX7D_CLK_DUMMY ] =imx_clk_fixed ("dummy" ,0 ); clks[IMX7D_OSC_24M_CLK ] =of_clk_get_by_name (ccm_node,"osc" ); + clks[IMX7D_CKIL ] =of_clk_get_by_name (ccm_node,"ckil" ); np =of_find_compatible_node (NULL ,NULL ,"fsl,imx7d-anatop" ); base =of_iomap (np,0 );
include/dt-bindings/clock/imx7d-clock.h +2 -1
@@ -448,5 +448,6 @@#define IMX7D_PLL_DRAM_TEST_DIV 435#define IMX7D_ADC_ROOT_CLK 436#define IMX7D_CLK_ARM 437 -#define IMX7D_CLK_END 438 +#define IMX7D_CKIL 438 +#define IMX7D_CLK_END 439#endif /* __DT_BINDINGS_CLOCK_IMX7D_H */
Signature · 1 line
2.7.0
PATCH 4/9 ARM: dts: imx: add Boundary Devices Nitrogen7 board
In reply to Gary BissonBased on i.MX7 Dual with 1GB of RAM.
https://boundarydevices.com/product/nitrogen7/
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx7d-nitrogen7.dts | 818 ++++++++++++++++++++++++++++++++++ 2 files changed, 819 insertions(+) create mode 100644 arch/arm/boot/dts/imx7d-nitrogen7.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -369,6 +369,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \ imx6ul-14x14-evk.dtb dtb-$(CONFIG_SOC_IMX7D) += \ imx7d-cl-som-imx7.dtb \ + imx7d-nitrogen7.dtb \ imx7d-sbc-imx7.dtb \ imx7d-sdb.dtb dtb-$(CONFIG_SOC_LS1021A) += \
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +818 -0
818 lines not on this page · raw message
Signature · 1 line
2.7.0
PATCH 5/9 ARM: dts: imx: add Boundary Devices Nitrogen6_MAX QP board
In reply to Gary BissonBased on i.MX6 Quad Plus with 4GB of RAM.
https://boundarydevices.com/product/nitrogen6max/
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6qp-nitrogen6_max.dts | 55 ++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 arch/arm/boot/dts/imx6qp-nitrogen6_max.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -356,6 +356,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-udoo.dtb \ imx6q-wandboard.dtb \ imx6q-wandboard-revb1.dtb \ + imx6qp-nitrogen6_max.dtb \ imx6qp-sabreauto.dtb \ imx6qp-sabresd.dtb dtb-$(CONFIG_SOC_IMX6SL) += \
arch/arm/boot/dts/imx6qp-nitrogen6_max.dts new file +55 -0
55 lines not on this page · raw message
Signature · 1 line
2.7.0
PATCH 6/9 ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
In reply to Gary BissonBased on i.MX6 SoloX with 1GB of RAM.
https://boundarydevices.com/product/nit6_solox-imx6/
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 745 +++++++++++++++++++++++++++++++ 2 files changed, 746 insertions(+) create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -363,6 +363,7 @@ dtb-$(CONFIG_SOC_IMX6SL) += \ imx6sl-evk.dtb \ imx6sl-warp.dtb dtb-$(CONFIG_SOC_IMX6SX) += \ + imx6sx-nitrogen6sx.dtb \ imx6sx-sabreauto.dtb \ imx6sx-sdb-reva.dtb \ imx6sx-sdb.dtb
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +745 -0
745 lines not on this page · raw message
Signature · 1 line
2.7.0
PATCH 6/9 ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
Quoted 29 lines · Gary Bisson
Based on i.MX6 SoloX with 1GB of RAM.
https://boundarydevices.com/product/nit6_solox-imx6/
Signed-off-by Gary Bisson <[email protected]>--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 745 +++++++++++++++++++++++++++++++ 2 files changed, 746 insertions(+) create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dtsarch/arm/boot/dts/Makefile +1
-0@@ -363,6 +363,7 @@ dtb-$(CONFIG_SOC_IMX6SL) += \ imx6sl-evk.dtb \ imx6sl-warp.dtb dtb-$(CONFIG_SOC_IMX6SX) += \ + imx6sx-nitrogen6sx.dtb \ imx6sx-sabreauto.dtb \ imx6sx-sdb-reva.dtb \ imx6sx-sdb.dtbarch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +0
-0@@ -0,0 +1,745 @@
[snip]
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts line 167
Quoted 13 lines
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +13
-0+ +//&clks { +// assigned-clocks = <&clks IMX6SX_PLL4_BYPASS_SRC>, +// <&clks IMX6SX_PLL4_BYPASS>, +// <&clks IMX6SX_CLK_CKO>, +// <&clks IMX6SX_CLK_CKO1_SEL>, +// <&clks IMX6SX_CLK_PLL4_POST_DIV>; +// assigned-clock-parents = <&clks IMX6SX_CLK_LVDS2_IN>, +// <&clks IMX6SX_PLL4_BYPASS_SRC>, +// <&clks IMX6SX_CLK_CKO1>, +// <&clks IMX6SX_CLK_CKIL>; +// assigned-clock-rates = <0>, <0>, <0>, <0>, <24576000>; +//};
What does // do above?
--
With best wishes,
Vladimir
PATCH 6/9 ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
Vladimir, All,
Quoted 33 lines · Vladimir Zapolskiy
Quoted 29 lines · Gary Bisson
Based on i.MX6 SoloX with 1GB of RAM.
https://boundarydevices.com/product/nit6_solox-imx6/
Signed-off-by Gary Bisson <[email protected]>--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 745 +++++++++++++++++++++++++++++++ 2 files changed, 746 insertions(+) create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dtsarch/arm/boot/dts/Makefile +1
-0@@ -363,6 +363,7 @@ dtb-$(CONFIG_SOC_IMX6SL) += \ imx6sl-evk.dtb \ imx6sl-warp.dtb dtb-$(CONFIG_SOC_IMX6SX) += \ + imx6sx-nitrogen6sx.dtb \ imx6sx-sabreauto.dtb \ imx6sx-sdb-reva.dtb \ imx6sx-sdb.dtbarch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +0
-0@@ -0,0 +1,745 @@[snip]
Quoted 15 lines
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts line 167
Quoted 13 lines
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +13
-0+ +//&clks { +// assigned-clocks = <&clks IMX6SX_PLL4_BYPASS_SRC>, +// <&clks IMX6SX_PLL4_BYPASS>, +// <&clks IMX6SX_CLK_CKO>, +// <&clks IMX6SX_CLK_CKO1_SEL>, +// <&clks IMX6SX_CLK_PLL4_POST_DIV>; +// assigned-clock-parents = <&clks IMX6SX_CLK_LVDS2_IN>, +// <&clks IMX6SX_PLL4_BYPASS_SRC>, +// <&clks IMX6SX_CLK_CKO1>, +// <&clks IMX6SX_CLK_CKIL>; +// assigned-clock-rates = <0>, <0>, <0>, <0>, <24576000>; +//};What does // do above?
Oops, sorry it is some left over of my debugging.
I also realized my 6qp device tree is missing the disabled pcie. I'll submit a v2 shortly.
Regards,
Gary
PATCH 7/9 ARM: imx_v6_v7_defconfig: add FT5x06 and TSC2004 touch support
In reply to Gary BissonThose two touch controllers are used by Boundary Devices platforms.
--- arch/arm/configs/imx_v6_v7_defconfig | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/configs/imx_v6_v7_defconfig +2 -0
@@ -162,7 +162,9 @@ CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_EGALAX=y CONFIG_TOUCHSCREEN_IMX6UL_TSC=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y CONFIG_TOUCHSCREEN_MC13783=y +CONFIG_TOUCHSCREEN_TSC2004=y CONFIG_TOUCHSCREEN_TSC2007=y CONFIG_TOUCHSCREEN_STMPE=y CONFIG_TOUCHSCREEN_SX8654=y
Signature · 1 line
2.7.0
PATCH 8/9 ARM: imx_v6_v7_defconfig: add CONFIG_I2C_MUX_GPIO
In reply to Gary BissonI2C muxing is used on Nitrogen6_MAX board from Boundary Devices.
--- arch/arm/configs/imx_v6_v7_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/imx_v6_v7_defconfig +1 -0
@@ -180,6 +180,7 @@ CONFIG_SERIAL_FSL_LPUART=y CONFIG_SERIAL_FSL_LPUART_CONSOLE=y # CONFIG_I2C_COMPAT is not set CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX_GPIO=y # CONFIG_I2C_HELPER_AUTO is not set CONFIG_I2C_ALGOPCF=m CONFIG_I2C_ALGOPCA=m
Signature · 1 line
2.7.0
PATCH 9/9 ARM: imx_v6_v7_defconfig: add CONFIG_RTC_DRV_M41T80
In reply to Gary BissonThe rv4168 RTC is used by the following platforms:
- Nitrogen6_MAX (both Quad and Quad Plus versions)
- Nitrogen7
--- arch/arm/configs/imx_v6_v7_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/imx_v6_v7_defconfig +1 -0
@@ -316,6 +316,7 @@ CONFIG_RTC_DRV_DS1307=y CONFIG_RTC_DRV_ISL1208=y CONFIG_RTC_DRV_PCF8523=y CONFIG_RTC_DRV_PCF8563=y +CONFIG_RTC_DRV_M41T80=y CONFIG_RTC_DRV_MC13XXX=y CONFIG_RTC_DRV_MXC=y CONFIG_RTC_DRV_SNVS=y
Signature · 1 line
2.7.0
v2 cover imx: add latest Boundary Devices boards support
In reply to Gary BissonHi all,
This series adds support for the following Boundary Devices boards:
- Nitrogen7 (i.MX7)
- Nitrogen6SX (i.MX6SoloX)
- Nitrogen6QP_MAX (i.MX6QP)
The first patches add display and CAN support to i.MX7 device tree. Those two features have been successfully tested on the Nitrogen7. Also the support of CKIL clock has been added in order to use it as slow clock for the WiFi module.
Then the last 3 patches add some missing configurations in order to fully support Boundary platforms using imx_v6_v7_defconfig.
All the patches have been applied/tested on top of Shawn's 'for-next' branch.
Here are some remarks/questions that came during testing:
- Is the pxp v4l2 driver being worked on for mainline inclusion?
- Are the ldb modifications for SoloX being worked on for mainline inclusion?
- Is the WM8960 ASoC machine driver being worked on for mainline inclusion?
- When booting the Nitrogen7, there's backtrace due to clk_pllv3_prepare, does it happen on the sdb too? Note that it doesn't prevent the board to work.
Changelog v1 -> v2:
- Remove lines commented out from nitrogen6sx dts as suggested by Vladimir
- Disable pcie for nitrogen6qp_max dts
Regards,
Gary
Gary Bisson (9):
ARM: dts: imx7d: add lcdif support
ARM: dts: imx7d: add flexcan support
clk: imx: add ckil clock for i.MX7
ARM: dts: imx: add Boundary Devices Nitrogen7 board
ARM: dts: imx: add Boundary Devices Nitrogen6_MAX QP board
ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
ARM: imx_v6_v7_defconfig: add FT5x06 and TSC2004 touch support
ARM: imx_v6_v7_defconfig: add CONFIG_I2C_MUX_GPIO
ARM: imx_v6_v7_defconfig: add CONFIG_RTC_DRV_M41T80
arch/arm/boot/dts/Makefile | 3 + arch/arm/boot/dts/imx6qp-nitrogen6_max.dts | 59 +++ arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 732 ++++++++++++++++++++++++++ arch/arm/boot/dts/imx7d-nitrogen7.dts | 818 +++++++++++++++++++++++++++++ arch/arm/boot/dts/imx7d.dtsi | 33 ++ arch/arm/configs/imx_v6_v7_defconfig | 4 + drivers/clk/imx/clk-imx7d.c | 3 +- include/dt-bindings/clock/imx7d-clock.h | 3 +- 8 files changed, 1653 insertions(+), 2 deletions(-) create mode 100644 arch/arm/boot/dts/imx6qp-nitrogen6_max.dts create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts create mode 100644 arch/arm/boot/dts/imx7d-nitrogen7.dts
Signature · 1 line
2.7.0
PATCH v2 1/9 ARM: dts: imx7d: add lcdif support
Add the device node for the i.MX7 eLCDIF interface.
---
Changelog v1 -> v2:
- none
--- arch/arm/boot/dts/imx7d.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+)
arch/arm/boot/dts/imx7d.dtsi +11 -0
@@ -608,6 +608,17 @@ status = "disabled"; }; + lcdif: lcdif at 30730000 { + compatible = "fsl,imx7d-lcdif", "fsl,imx28-lcdif"; + reg = <0x30730000 0x10000>; + interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>, + <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CLK_DUMMY>; + clock-names = "pix", "axi", "disp_axi"; + status = "disabled"; + }; + pwm1: pwm at 30660000 { compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; reg = <0x30660000 0x10000>;
Signature · 1 line
2.7.0
PATCH v2 1/9 ARM: dts: imx7d: add lcdif support
Quoted 17 lines · Gary Bisson
Add the device node for the i.MX7 eLCDIF interface.
Signed-off-by Gary Bisson <[email protected]>---
Changelog v1 -> v2:
- none--- arch/arm/boot/dts/imx7d.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+)arch/arm/boot/dts/imx7d.dtsi +0
-0
arch/arm/boot/dts/imx7d.dtsi line 611
Quoted 4 lines
arch/arm/boot/dts/imx7d.dtsi +1
-0@@ -608,6 +608,17 @@ status = "disabled"; }; + lcdif: lcdif at 30730000 {
Please add the node in order of unit-address.
Shawn
Quoted 17 lines
arch/arm/boot/dts/imx7d.dtsi +10
-0+ compatible = "fsl,imx7d-lcdif", "fsl,imx28-lcdif"; + reg = <0x30730000 0x10000>; + interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>, + <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CLK_DUMMY>; + clock-names = "pix", "axi", "disp_axi"; + status = "disabled"; + }; + pwm1: pwm at 30660000 { compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; reg = <0x30660000 0x10000>;Signature · 1 line
2.7.0
PATCH v2 1/9 ARM: dts: imx7d: add lcdif support
Shawn, All,
Quoted 21 lines · Shawn Guo
Quoted 20 lines · Gary Bisson
Add the device node for the i.MX7 eLCDIF interface.
Signed-off-by Gary Bisson <[email protected]>---
Changelog v1 -> v2:
- none--- arch/arm/boot/dts/imx7d.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+)arch/arm/boot/dts/imx7d.dtsi +0
-0@@ -608,6 +608,17 @@ status = "disabled"; };
Quoted 3 lines
arch/arm/boot/dts/imx7d.dtsi line 611
Quoted 1 line
arch/arm/boot/dts/imx7d.dtsi +1
-0+ lcdif: lcdif at 30730000 {Please add the node in order of unit-address.
Sorry I did it alphabetically for some reason, I'll submit a v3 today.
Regards,
Gary
PATCH v2 2/9 ARM: dts: imx7d: add flexcan support
In reply to Gary BissonAdd the device nodes for the i.MX7 FlexCAN buses.
---
Changelog v1 -> v2:
- none
--- arch/arm/boot/dts/imx7d.dtsi | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
arch/arm/boot/dts/imx7d.dtsi +22 -0
@@ -930,6 +930,28 @@ fsl,num-rx-queues=<3>; status = "disabled"; }; + + flexcan1: can at 30a00000 { + compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; + reg = <0x30a00000 0x10000>; + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CAN1_ROOT_CLK>; + clock-names = "ipg", "per"; + stop-mode = <&gpr 0x10 1 0x10 17>; + status = "disabled"; + }; + + flexcan2: can at 30a10000 { + compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; + reg = <0x30a10000 0x10000>; + interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CAN2_ROOT_CLK>; + clock-names = "ipg", "per"; + stop-mode = <&gpr 0x10 2 0x10 18>; + status = "disabled"; + }; }; }; };
Signature · 1 line
2.7.0
PATCH v2 2/9 ARM: dts: imx7d: add flexcan support
Quoted 19 lines · Gary Bisson
Add the device nodes for the i.MX7 FlexCAN buses.
Signed-off-by Gary Bisson <[email protected]>---
Changelog v1 -> v2:
- none--- arch/arm/boot/dts/imx7d.dtsi | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)arch/arm/boot/dts/imx7d.dtsi +0
-0@@ -930,6 +930,28 @@ fsl,num-rx-queues=<3>; status = "disabled";
arch/arm/boot/dts/imx7d.dtsi line 941
Quoted 10 lines
arch/arm/boot/dts/imx7d.dtsi +9
-0}; + + flexcan1: can at 30a00000 { + compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; + reg = <0x30a00000 0x10000>; + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CAN1_ROOT_CLK>; + clock-names = "ipg", "per"; + stop-mode = <&gpr 0x10 1 0x10 17>;
Is this property documented anywhere, or even supported by mainline kernel?
Shawn
Quoted 20 lines
arch/arm/boot/dts/imx7d.dtsi +13
-0+ status = "disabled"; + }; + + flexcan2: can at 30a10000 { + compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; + reg = <0x30a10000 0x10000>; + interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CAN2_ROOT_CLK>; + clock-names = "ipg", "per"; + stop-mode = <&gpr 0x10 2 0x10 18>; + status = "disabled"; + }; }; }; };Signature · 1 line
2.7.0
PATCH v2 2/9 ARM: dts: imx7d: add flexcan support
Shawn, All,
Quoted 25 lines · Shawn Guo
Quoted 24 lines · Gary Bisson
Add the device nodes for the i.MX7 FlexCAN buses.
Signed-off-by Gary Bisson <[email protected]>---
Changelog v1 -> v2:
- none--- arch/arm/boot/dts/imx7d.dtsi | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)arch/arm/boot/dts/imx7d.dtsi +4
-0@@ -930,6 +930,28 @@ fsl,num-rx-queues=<3>; status = "disabled"; }; + + flexcan1: can at 30a00000 { + compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; + reg = <0x30a00000 0x10000>;
Quoted 8 lines
arch/arm/boot/dts/imx7d.dtsi line 941
Quoted 5 lines
arch/arm/boot/dts/imx7d.dtsi +5
-0+ interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CAN1_ROOT_CLK>; + clock-names = "ipg", "per"; + stop-mode = <&gpr 0x10 1 0x10 17>;Is this property documented anywhere, or even supported by mainline kernel?
No you're right this property is only available on NXP kernel:
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt?id=rel_imx_4.1.15_1.0.0_ga#n20
I'll remove it for now, I'll re-order the nodes as well.
Regards,
Gary
PATCH v2 3/9 clk: imx: add ckil clock for i.MX7
In reply to Gary BissonAdd the necessary clock to use the ckil on i.MX7.
Inspired from the following patch:
https://github.com/boundarydevices/linux-imx6/commit/b80e8271
---
Changelog v1 -> v2:
- none
--- drivers/clk/imx/clk-imx7d.c | 3 ++- include/dt-bindings/clock/imx7d-clock.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
drivers/clk/imx/clk-imx7d.c +2 -1
@@ -342,7 +342,7 @@ static const char *clko1_sel[] = { "osc", "pll_sys_main_clk",static const char *clko2_sel[] = {"osc" ,"pll_sys_main_240m_clk" ,"pll_sys_pfd0_392m_clk" ,"pll_sys_pfd1_166m_clk" ,"pll_sys_pfd4_clk" , -"pll_audio_main_clk" ,"pll_video_main_clk" ,"osc_32k_clk" , }; +"pll_audio_main_clk" ,"pll_video_main_clk" ,"ckil" , };static const char *lvds1_sel[] = {"pll_arm_main_clk" ,"pll_sys_main_clk" ,"pll_sys_pfd0_392m_clk" ,"pll_sys_pfd1_332m_clk" ,
@@ -382,6 +382,7 @@ static void __init imx7d_clocks_init(struct device_node *ccm_node) clks[IMX7D_CLK_DUMMY ] =imx_clk_fixed ("dummy" ,0 ); clks[IMX7D_OSC_24M_CLK ] =of_clk_get_by_name (ccm_node,"osc" ); + clks[IMX7D_CKIL ] =of_clk_get_by_name (ccm_node,"ckil" ); np =of_find_compatible_node (NULL ,NULL ,"fsl,imx7d-anatop" ); base =of_iomap (np,0 );
include/dt-bindings/clock/imx7d-clock.h +2 -1
@@ -448,5 +448,6 @@#define IMX7D_PLL_DRAM_TEST_DIV 435#define IMX7D_ADC_ROOT_CLK 436#define IMX7D_CLK_ARM 437 -#define IMX7D_CLK_END 438 +#define IMX7D_CKIL 438 +#define IMX7D_CLK_END 439#endif /* __DT_BINDINGS_CLOCK_IMX7D_H */
Signature · 1 line
2.7.0
PATCH v2 4/9 ARM: dts: imx: add Boundary Devices Nitrogen7 board
In reply to Gary BissonBased on i.MX7 Dual with 1GB of RAM.
https://boundarydevices.com/product/nitrogen7/
---
Changelog v1 -> v2:
- none
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx7d-nitrogen7.dts | 818 ++++++++++++++++++++++++++++++++++ 2 files changed, 819 insertions(+) create mode 100644 arch/arm/boot/dts/imx7d-nitrogen7.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -369,6 +369,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \ imx6ul-14x14-evk.dtb dtb-$(CONFIG_SOC_IMX7D) += \ imx7d-cl-som-imx7.dtb \ + imx7d-nitrogen7.dtb \ imx7d-sbc-imx7.dtb \ imx7d-sdb.dtb dtb-$(CONFIG_SOC_LS1021A) += \
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +818 -0
818 lines not on this page · raw message
Signature · 1 line
2.7.0
PATCH v2 5/9 ARM: dts: imx: add Boundary Devices Nitrogen6_MAX QP board
In reply to Gary BissonBased on i.MX6 Quad Plus with 4GB of RAM.
https://boundarydevices.com/product/nitrogen6max/
---
Changelog v1 -> v2:
- Disable pcie for nitrogen6qp_max dts
-> required for the board to boot normally
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6qp-nitrogen6_max.dts | 59 ++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 arch/arm/boot/dts/imx6qp-nitrogen6_max.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -356,6 +356,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-udoo.dtb \ imx6q-wandboard.dtb \ imx6q-wandboard-revb1.dtb \ + imx6qp-nitrogen6_max.dtb \ imx6qp-sabreauto.dtb \ imx6qp-sabresd.dtb dtb-$(CONFIG_SOC_IMX6SL) += \
arch/arm/boot/dts/imx6qp-nitrogen6_max.dts new file +59 -0
59 lines not on this page · raw message
Signature · 1 line
2.7.0
PATCH v2 6/9 ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
In reply to Gary BissonBased on i.MX6 SoloX with 1GB of RAM.
https://boundarydevices.com/product/nit6_solox-imx6/
---
Changelog v1 -> v2:
- Remove lines commented out from nitrogen6sx dts as suggested by Vladimir
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 732 +++++++++++++++++++++++++++++++ 2 files changed, 733 insertions(+) create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -363,6 +363,7 @@ dtb-$(CONFIG_SOC_IMX6SL) += \ imx6sl-evk.dtb \ imx6sl-warp.dtb dtb-$(CONFIG_SOC_IMX6SX) += \ + imx6sx-nitrogen6sx.dtb \ imx6sx-sabreauto.dtb \ imx6sx-sdb-reva.dtb \ imx6sx-sdb.dtb
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +732 -0
732 lines not on this page · raw message
Signature · 1 line
2.7.0
PATCH v2 7/9 ARM: imx_v6_v7_defconfig: add FT5x06 and TSC2004 touch support
In reply to Gary BissonThose two touch controllers are used by Boundary Devices platforms.
---
Changelog v1 -> v2:
- none
--- arch/arm/configs/imx_v6_v7_defconfig | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/configs/imx_v6_v7_defconfig +2 -0
@@ -162,7 +162,9 @@ CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_EGALAX=y CONFIG_TOUCHSCREEN_IMX6UL_TSC=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y CONFIG_TOUCHSCREEN_MC13783=y +CONFIG_TOUCHSCREEN_TSC2004=y CONFIG_TOUCHSCREEN_TSC2007=y CONFIG_TOUCHSCREEN_STMPE=y CONFIG_TOUCHSCREEN_SX8654=y
Signature · 1 line
2.7.0
PATCH v2 8/9 ARM: imx_v6_v7_defconfig: add CONFIG_I2C_MUX_GPIO
In reply to Gary BissonI2C muxing is used on Nitrogen6_MAX board from Boundary Devices.
---
Changelog v1 -> v2:
- none
--- arch/arm/configs/imx_v6_v7_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/imx_v6_v7_defconfig +1 -0
@@ -180,6 +180,7 @@ CONFIG_SERIAL_FSL_LPUART=y CONFIG_SERIAL_FSL_LPUART_CONSOLE=y # CONFIG_I2C_COMPAT is not set CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX_GPIO=y # CONFIG_I2C_HELPER_AUTO is not set CONFIG_I2C_ALGOPCF=m CONFIG_I2C_ALGOPCA=m
Signature · 1 line
2.7.0
PATCH v2 9/9 ARM: imx_v6_v7_defconfig: add CONFIG_RTC_DRV_M41T80
In reply to Gary BissonThe rv4168 RTC is used by the following platforms:
- Nitrogen6_MAX (both Quad and Quad Plus versions)
- Nitrogen7
---
Changelog v1 -> v2:
- none
--- arch/arm/configs/imx_v6_v7_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/imx_v6_v7_defconfig +1 -0
@@ -316,6 +316,7 @@ CONFIG_RTC_DRV_DS1307=y CONFIG_RTC_DRV_ISL1208=y CONFIG_RTC_DRV_PCF8523=y CONFIG_RTC_DRV_PCF8563=y +CONFIG_RTC_DRV_M41T80=y CONFIG_RTC_DRV_MC13XXX=y CONFIG_RTC_DRV_MXC=y CONFIG_RTC_DRV_SNVS=y
Signature · 1 line
2.7.0
v3 cover imx: add latest Boundary Devices boards support
In reply to Gary BissonHi all,
This series adds support for the following Boundary Devices boards:
- Nitrogen7 (i.MX7)
- Nitrogen6SX (i.MX6SoloX)
- Nitrogen6QP_MAX (i.MX6QP)
The first patches add display and CAN support to i.MX7 device tree. Those two features have been successfully tested on the Nitrogen7. Also the support of CKIL clock has been added in order to use it as slow clock for the WiFi module.
Then the last 3 patches add some missing configurations in order to fully support Boundary platforms using imx_v6_v7_defconfig.
All the patches have been applied/tested on top of Shawn's 'for-next' branch.
Here are some remarks/questions that came during testing:
- Is the pxp v4l2 driver being worked on for mainline inclusion?
- Are the ldb modifications for SoloX being worked on for mainline inclusion?
- Is the WM8960 ASoC machine driver being worked on for mainline inclusion?
- When booting the Nitrogen7, there's backtrace due to clk_pllv3_prepare, does it happen on the sdb too? Note that it doesn't prevent the board to work.
Changes v1 -> v2:
- Remove lines commented out from nitrogen6sx dts as suggested by Vladimir
- Disable pcie for nitrogen6qp_max dts
Changes v2 -> v3:
- Re-order lcdif node by unit-address order
- Re-order flexcan nodes by unit-address order
- Remove flexcan unnecessary stop-mode property
- Fix Nitrogen7 BT UART clock parent
- Fix Nitrogen7 lvdo2 node to be always-on
Regards,
Gary
Gary Bisson (9):
ARM: dts: imx7d: add lcdif support
ARM: dts: imx7d: add flexcan support
clk: imx: add ckil clock for i.MX7
ARM: dts: imx: add Boundary Devices Nitrogen7 board
ARM: dts: imx: add Boundary Devices Nitrogen6_MAX QP board
ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
ARM: imx_v6_v7_defconfig: add FT5x06 and TSC2004 touch support
ARM: imx_v6_v7_defconfig: add CONFIG_I2C_MUX_GPIO
ARM: imx_v6_v7_defconfig: add CONFIG_RTC_DRV_M41T80
arch/arm/boot/dts/Makefile | 3 + arch/arm/boot/dts/imx6qp-nitrogen6_max.dts | 59 +++ arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 732 ++++++++++++++++++++++++++ arch/arm/boot/dts/imx7d-nitrogen7.dts | 819 +++++++++++++++++++++++++++++ arch/arm/boot/dts/imx7d.dtsi | 31 ++ arch/arm/configs/imx_v6_v7_defconfig | 4 + drivers/clk/imx/clk-imx7d.c | 3 +- include/dt-bindings/clock/imx7d-clock.h | 3 +- 8 files changed, 1652 insertions(+), 2 deletions(-) create mode 100644 arch/arm/boot/dts/imx6qp-nitrogen6_max.dts create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts create mode 100644 arch/arm/boot/dts/imx7d-nitrogen7.dts
Signature · 1 line
2.7.0
PATCH v3 1/9 ARM: dts: imx7d: add lcdif support
Add the device node for the i.MX7 eLCDIF interface.
---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- Re-order lcdif node by unit-address order
--- arch/arm/boot/dts/imx7d.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+)
arch/arm/boot/dts/imx7d.dtsi +11 -0
@@ -651,6 +651,17 @@ #pwm-cells = <2>; status = "disabled"; }; + + lcdif: lcdif at 30730000 { + compatible = "fsl,imx7d-lcdif", "fsl,imx28-lcdif"; + reg = <0x30730000 0x10000>; + interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>, + <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CLK_DUMMY>; + clock-names = "pix", "axi", "disp_axi"; + status = "disabled"; + }; }; aips3: aips-bus at 30800000 {
Signature · 1 line
2.7.0
PATCH v3 1/9 ARM: dts: imx7d: add lcdif support
Quoted 3 lines · Gary Bisson
Add the device node for the i.MX7 eLCDIF interface.
Signed-off-by Gary Bisson <[email protected]>
Applied 1 ~ 3, thanks.
PATCH v3 2/9 ARM: dts: imx7d: add flexcan support
In reply to Gary BissonAdd the device nodes for the i.MX7 FlexCAN buses.
---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- Re-order flexcan nodes by unit-address order
- Remove flexcan unnecessary stop-mode property
--- arch/arm/boot/dts/imx7d.dtsi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
arch/arm/boot/dts/imx7d.dtsi +20 -0
@@ -704,6 +704,26 @@ status = "disabled"; }; + flexcan1: can at 30a00000 { + compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; + reg = <0x30a00000 0x10000>; + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CAN1_ROOT_CLK>; + clock-names = "ipg", "per"; + status = "disabled"; + }; + + flexcan2: can at 30a10000 { + compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; + reg = <0x30a10000 0x10000>; + interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX7D_CLK_DUMMY>, + <&clks IMX7D_CAN2_ROOT_CLK>; + clock-names = "ipg", "per"; + status = "disabled"; + }; + i2c1: i2c at 30a20000 { #address-cells = <1>; #size-cells = <0>;
Signature · 1 line
2.7.0
PATCH v3 3/9 clk: imx: add ckil clock for i.MX7
In reply to Gary BissonAdd the necessary clock to use the ckil on i.MX7.
Inspired from the following patch:
https://github.com/boundarydevices/linux-imx6/commit/b80e8271
---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- none
--- drivers/clk/imx/clk-imx7d.c | 3 ++- include/dt-bindings/clock/imx7d-clock.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
drivers/clk/imx/clk-imx7d.c +2 -1
@@ -342,7 +342,7 @@ static const char *clko1_sel[] = { "osc", "pll_sys_main_clk",static const char *clko2_sel[] = {"osc" ,"pll_sys_main_240m_clk" ,"pll_sys_pfd0_392m_clk" ,"pll_sys_pfd1_166m_clk" ,"pll_sys_pfd4_clk" , -"pll_audio_main_clk" ,"pll_video_main_clk" ,"osc_32k_clk" , }; +"pll_audio_main_clk" ,"pll_video_main_clk" ,"ckil" , };static const char *lvds1_sel[] = {"pll_arm_main_clk" ,"pll_sys_main_clk" ,"pll_sys_pfd0_392m_clk" ,"pll_sys_pfd1_332m_clk" ,
@@ -382,6 +382,7 @@ static void __init imx7d_clocks_init(struct device_node *ccm_node) clks[IMX7D_CLK_DUMMY ] =imx_clk_fixed ("dummy" ,0 ); clks[IMX7D_OSC_24M_CLK ] =of_clk_get_by_name (ccm_node,"osc" ); + clks[IMX7D_CKIL ] =of_clk_get_by_name (ccm_node,"ckil" ); np =of_find_compatible_node (NULL ,NULL ,"fsl,imx7d-anatop" ); base =of_iomap (np,0 );
include/dt-bindings/clock/imx7d-clock.h +2 -1
@@ -448,5 +448,6 @@#define IMX7D_PLL_DRAM_TEST_DIV 435#define IMX7D_ADC_ROOT_CLK 436#define IMX7D_CLK_ARM 437 -#define IMX7D_CLK_END 438 +#define IMX7D_CKIL 438 +#define IMX7D_CLK_END 439#endif /* __DT_BINDINGS_CLOCK_IMX7D_H */
Signature · 1 line
2.7.0
PATCH v3 4/9 ARM: dts: imx: add Boundary Devices Nitrogen7 board
In reply to Gary BissonBased on i.MX7 Dual with 1GB of RAM.
https://boundarydevices.com/product/nitrogen7/
---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- Fix Nitrogen7 BT UART clock parent
- Fix Nitrogen7 lvdo2 node to be always-on
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx7d-nitrogen7.dts | 819 ++++++++++++++++++++++++++++++++++ 2 files changed, 820 insertions(+) create mode 100644 arch/arm/boot/dts/imx7d-nitrogen7.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -380,6 +380,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \ imx6ul-tx6ul-mainboard.dtb dtb-$(CONFIG_SOC_IMX7D) += \ imx7d-cl-som-imx7.dtb \ + imx7d-nitrogen7.dtb \ imx7d-sbc-imx7.dtb \ imx7d-sdb.dtb dtb-$(CONFIG_SOC_LS1021A) += \
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +819 -0
819 lines not on this page · raw message
Signature · 1 line
2.7.0
PATCH v3 4/9 ARM: dts: imx: add Boundary Devices Nitrogen7 board
Quoted 18 lines · Gary Bisson
Based on i.MX7 Dual with 1GB of RAM.
https://boundarydevices.com/product/nitrogen7/
Signed-off-by Gary Bisson <[email protected]>---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- Fix Nitrogen7 BT UART clock parent
- Fix Nitrogen7 lvdo2 node to be always-on--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx7d-nitrogen7.dts | 819 ++++++++++++++++++++++++++++++++++ 2 files changed, 820 insertions(+) create mode 100644 arch/arm/boot/dts/imx7d-nitrogen7.dts
<snip>
Quoted 4 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +4
-0+/ { + model = "Boundary Devices i.MX7 Nitrogen7 Board"; + compatible = "boundary,imx7d-nitrogen7", "fsl,imx7d"; +
arch/arm/boot/dts/imx7d-nitrogen7.dts line 61
Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ aliases { + fb_lcd = &lcdif; + t_lcd = &t_lcd; + }; + + memory { + reg = <0x80000000 0x40000000>; + }; + + backlight_j9 {
Use hyphen instead of underscore in node name.
Quoted 9 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +9
-0+ compatible = "gpio-backlight"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_backlight_j9>; + gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; + default-on; + }; + + backlight_j20 { + compatible = "pwm-backlight";
arch/arm/boot/dts/imx7d-nitrogen7.dts line 80
Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ pwms = <&pwm1 0 5000000>; + brightness-levels = <0 4 8 16 32 64 128 255>; + default-brightness-level = <6>; + status = "okay"; + }; + + regulators { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>;
DT maintainers do not like this fake "simple-bus". Please put all these fixed regulators directly under root node in the naming schema below.
reg_xxx: regulator-xxx {
...
};Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ + reg_usb_otg1_vbus: regulator at 0 { + compatible = "regulator-fixed"; + reg = <0>; + regulator-name = "usb_otg1_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; + enable-active-high; + };
<snip>
arch/arm/boot/dts/imx7d-nitrogen7.dts line 399
Quoted 8 lines
+&uart3 {
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +7
-0+ pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart3>; + assigned-clocks = <&clks IMX7D_UART3_ROOT_SRC>; + assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>; + control-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; + uart-has-rs485-half-duplex; + rs485-mode = <1>;
The above 3 properties are undefined?
Quoted 36 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +36
-0+ status = "okay"; +}; + +&uart6 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart6>; + assigned-clocks = <&clks IMX7D_UART6_ROOT_SRC>; + assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; + fsl,uart-has-rtscts; + status = "okay"; +}; + +&usbotg1 { + vbus-supply = <®_usb_otg1_vbus>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotg1>; + status = "okay"; +}; + +&usbotg2 { + vbus-supply = <®_usb_otg2_vbus>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotg2>; + dr_mode = "host"; + status = "okay"; +}; + +&usdhc1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc1>; + cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; + vmmc-supply = <&vgen3_reg>; + bus-width = <4>; + fsl,tuning-step = <2>; + wakeup-source; + keep-power-in-suspend;
arch/arm/boot/dts/imx7d-nitrogen7.dts line 445
Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ status = "okay"; +}; + +&usdhc2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc2>; + bus-width = <4>; + non-removable; + vmmc-supply = <®_wlan>; + vqmmc-1-8-v;
Unsupported property?
arch/arm/boot/dts/imx7d-nitrogen7.dts line 451
Quoted 6 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +6
-0+ cap-power-off-card; + keep-power-in-suspend; + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>;
Move these two up to the top of property list.
Quoted 21 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +21
-0+ wlcore: wlcore at 2 { + compatible = "ti,wl1271"; + reg = <2>; + interrupt-parent = <&gpio4>; + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; + ref-clock-frequency = <38400000>; + }; +}; + +&usdhc3 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc3>; + assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>; + assigned-clock-rates = <400000000>; + bus-width = <8>; + fsl,tuning-step = <2>; + non-removable; + status = "okay"; +}; + +&wdog1 {
arch/arm/boot/dts/imx7d-nitrogen7.dts line 482
Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_wdog1>; + status = "okay"; +}; + +&iomuxc { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hog_1 &pinctrl_j2>; + + imx7d-nitrogen7 {
Since commit 5fcdf6a7ed95 (pinctrl: imx: Allow parsing DT without function nodes), we can drop this container code to save one level of indentation.
arch/arm/boot/dts/imx7d-nitrogen7.dts line 495
Quoted 13 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +13
-0+ pinctrl_hog_1: hoggrp-1 { + fsl,pins = < + MX7D_PAD_SD3_RESET_B__GPIO6_IO11 0x5d + MX7D_PAD_GPIO1_IO13__GPIO1_IO13 0x7d + MX7D_PAD_ECSPI2_MISO__GPIO4_IO22 0x7d + >; + }; + + pinctrl_bt_rfkill: btrfkillgrp { + fsl,pins = < + MX7D_PAD_ECSPI2_SS0__GPIO4_IO23 0x7d + >; + };
Drop unused pinctrl entries, and let's add it when needed.
Quoted 13 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +13
-0+ + pinctrl_enet1: enet1grp { + fsl,pins = < + MX7D_PAD_GPIO1_IO10__ENET1_MDIO 0x3 + MX7D_PAD_GPIO1_IO11__ENET1_MDC 0x3 + MX7D_PAD_GPIO1_IO12__CCM_ENET_REF_CLK1 0x3 + MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC 0x71 + MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x71 + MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x71 + MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2 0x71 + MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3 0x71 + MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x71 + MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC 0x71
arch/arm/boot/dts/imx7d-nitrogen7.dts line 518
Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x11 + MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x11 + MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2 0x11 + MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3 0x71 + MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x11 + MX7D_PAD_SD3_STROBE__GPIO6_IO10 0x75 /* Reset */ + >; + }; + + pinctrl_flash: flashgrp {
Ditto
Quoted 9 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +9
-0+ fsl,pins = < + MX7D_PAD_EPDC_DATA00__QSPI_A_DATA0 0x71 + MX7D_PAD_EPDC_DATA01__QSPI_A_DATA1 0x71 + MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x7d + MX7D_PAD_EPDC_DATA03__GPIO2_IO3 0x7d + MX7D_PAD_EPDC_DATA05__QSPI_A_SCLK 0x71 + MX7D_PAD_EPDC_DATA06__GPIO2_IO6 0x71 + >; + };
<snip>
arch/arm/boot/dts/imx7d-nitrogen7.dts line 786
Quoted 5 lines
+&iomuxc_lpsr {
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +4
-0+ pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hog_2>; + + imx7d-nitrogen7 {
Drop this container node.
Shawn
Quoted 37 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +33
-0+ pinctrl_hog_2: hoggrp-2 { + fsl,pins = < + MX7D_PAD_GPIO1_IO02__GPIO1_IO2 0x7d + MX7D_PAD_GPIO1_IO03__CCM_CLKO2 0x7d + >; + }; + + pinctrl_backlight_j9: backlightj9grp { + fsl,pins = < + MX7D_PAD_GPIO1_IO07__GPIO1_IO7 0x7d + >; + }; + + pinctrl_pwm1: pwm1grp { + fsl,pins = < + MX7D_PAD_GPIO1_IO01__PWM1_OUT 0x7d + >; + }; + + pinctrl_usbotg1: usbotg1grp { + fsl,pins = < + MX7D_PAD_GPIO1_IO04__USB_OTG1_OC 0x7d + MX7D_PAD_GPIO1_IO05__GPIO1_IO5 0x14 + >; + }; + + pinctrl_wdog1: wdog1grp { + fsl,pins = < + MX7D_PAD_GPIO1_IO00__WDOD1_WDOG_B 0x75 + >; + }; + }; +};Signature · 1 line
2.7.0
PATCH v3 4/9 ARM: dts: imx: add Boundary Devices Nitrogen7 board
HI Shawn,
Quoted 22 lines · Shawn Guo
Quoted 18 lines · Gary Bisson
Based on i.MX7 Dual with 1GB of RAM.
https://boundarydevices.com/product/nitrogen7/
Signed-off-by Gary Bisson <[email protected]>---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- Fix Nitrogen7 BT UART clock parent
- Fix Nitrogen7 lvdo2 node to be always-on--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx7d-nitrogen7.dts | 819 ++++++++++++++++++++++++++++++++++ 2 files changed, 820 insertions(+) create mode 100644 arch/arm/boot/dts/imx7d-nitrogen7.dts<snip>
Quoted 16 lines
Quoted 4 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +4
-0+/ { + model = "Boundary Devices i.MX7 Nitrogen7 Board"; + compatible = "boundary,imx7d-nitrogen7", "fsl,imx7d"; +arch/arm/boot/dts/imx7d-nitrogen7.dts line 61
Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ aliases { + fb_lcd = &lcdif; + t_lcd = &t_lcd; + }; + + memory { + reg = <0x80000000 0x40000000>; + }; + + backlight_j9 {Use hyphen instead of underscore in node name.
Sorry I forgot about that.
Quoted 23 lines
Quoted 9 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +9
-0+ compatible = "gpio-backlight"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_backlight_j9>; + gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; + default-on; + }; + + backlight_j20 { + compatible = "pwm-backlight";arch/arm/boot/dts/imx7d-nitrogen7.dts line 80
Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ pwms = <&pwm1 0 5000000>; + brightness-levels = <0 4 8 16 32 64 128 255>; + default-brightness-level = <6>; + status = "okay"; + }; + + regulators { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>;DT maintainers do not like this fake "simple-bus". Please put all these fixed regulators directly under root node in the naming schema below.
Quoted 3 lines
reg_xxx: regulator-xxx {
...
};Ok, good to know, will be fixed in v4.
Quoted 22 lines
Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ + reg_usb_otg1_vbus: regulator at 0 { + compatible = "regulator-fixed"; + reg = <0>; + regulator-name = "usb_otg1_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; + enable-active-high; + };<snip>
arch/arm/boot/dts/imx7d-nitrogen7.dts line 399
Quoted 8 lines
+&uart3 {
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +7
-0+ pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart3>; + assigned-clocks = <&clks IMX7D_UART3_ROOT_SRC>; + assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>; + control-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; + uart-has-rs485-half-duplex; + rs485-mode = <1>;
Quoted 1 line
The above 3 properties are undefined?
You're right, the mainline i.MX UART driver doesn't have those.
Quoted 40 lines
Quoted 40 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +40
-0+ status = "okay"; +}; + +&uart6 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart6>; + assigned-clocks = <&clks IMX7D_UART6_ROOT_SRC>; + assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; + fsl,uart-has-rtscts; + status = "okay"; +}; + +&usbotg1 { + vbus-supply = <®_usb_otg1_vbus>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotg1>; + status = "okay"; +}; + +&usbotg2 { + vbus-supply = <®_usb_otg2_vbus>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotg2>; + dr_mode = "host"; + status = "okay"; +}; + +&usdhc1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc1>; + cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; + vmmc-supply = <&vgen3_reg>; + bus-width = <4>; + fsl,tuning-step = <2>; + wakeup-source; + keep-power-in-suspend; + status = "okay"; +}; + +&usdhc2 {
Quoted 8 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts line 445
Quoted 6 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +6
-0+ pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc2>; + bus-width = <4>; + non-removable; + vmmc-supply = <®_wlan>; + vqmmc-1-8-v;Unsupported property?
Same here.
Quoted 8 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts line 451
Quoted 6 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +6
-0+ cap-power-off-card; + keep-power-in-suspend; + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>;Move these two up to the top of property list.
Ok.
Quoted 27 lines
Quoted 27 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +27
-0+ wlcore: wlcore at 2 { + compatible = "ti,wl1271"; + reg = <2>; + interrupt-parent = <&gpio4>; + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; + ref-clock-frequency = <38400000>; + }; +}; + +&usdhc3 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc3>; + assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>; + assigned-clock-rates = <400000000>; + bus-width = <8>; + fsl,tuning-step = <2>; + non-removable; + status = "okay"; +}; + +&wdog1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_wdog1>; + status = "okay"; +}; + +&iomuxc {
Quoted 8 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts line 482
Quoted 4 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +4
-0+ pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hog_1 &pinctrl_j2>; + + imx7d-nitrogen7 {Since commit
5fcdf6a7ed95(pinctrl: imx: Allow parsing DT without function nodes), we can drop this container code to save one level of indentation.
Great, that will remove all the over 80 lines with checkpatch.
Quoted 14 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts line 495
Quoted 13 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +13
-0+ pinctrl_hog_1: hoggrp-1 { + fsl,pins = < + MX7D_PAD_SD3_RESET_B__GPIO6_IO11 0x5d + MX7D_PAD_GPIO1_IO13__GPIO1_IO13 0x7d + MX7D_PAD_ECSPI2_MISO__GPIO4_IO22 0x7d + >; + }; + + pinctrl_bt_rfkill: btrfkillgrp { + fsl,pins = < + MX7D_PAD_ECSPI2_SS0__GPIO4_IO23 0x7d + >; + };
Quoted 1 line
Drop unused pinctrl entries, and let's add it when needed.
Ok, makes sense.
Quoted 38 lines
Quoted 13 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +13
-0+ + pinctrl_enet1: enet1grp { + fsl,pins = < + MX7D_PAD_GPIO1_IO10__ENET1_MDIO 0x3 + MX7D_PAD_GPIO1_IO11__ENET1_MDC 0x3 + MX7D_PAD_GPIO1_IO12__CCM_ENET_REF_CLK1 0x3 + MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC 0x71 + MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x71 + MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x71 + MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2 0x71 + MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3 0x71 + MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x71 + MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC 0x71arch/arm/boot/dts/imx7d-nitrogen7.dts line 518
Quoted 10 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +10
-0+ MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x11 + MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x11 + MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2 0x11 + MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3 0x71 + MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x11 + MX7D_PAD_SD3_STROBE__GPIO6_IO10 0x75 /* Reset */ + >; + }; + + pinctrl_flash: flashgrp {Ditto
Quoted 9 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +9
-0+ fsl,pins = < + MX7D_PAD_EPDC_DATA00__QSPI_A_DATA0 0x71 + MX7D_PAD_EPDC_DATA01__QSPI_A_DATA1 0x71 + MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x7d + MX7D_PAD_EPDC_DATA03__GPIO2_IO3 0x7d + MX7D_PAD_EPDC_DATA05__QSPI_A_SCLK 0x71 + MX7D_PAD_EPDC_DATA06__GPIO2_IO6 0x71 + >; + };<snip>
Quoted 7 lines
arch/arm/boot/dts/imx7d-nitrogen7.dts line 786
Quoted 5 lines
+&iomuxc_lpsr {
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +4
-0+ pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hog_2>; + + imx7d-nitrogen7 {Drop this container node.
I'll submit a v4 shortly. I'll also make sure to do the same on the 6SX device tree.
Regards,
Gary
PATCH v4 1/1 ARM: dts: imx: add Boundary Devices Nitrogen7 board
In reply to Gary BissonBased on i.MX7 Dual with 1GB of RAM.
https://boundarydevices.com/product/nitrogen7/
---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- Fix Nitrogen7 BT UART clock parent
- Fix Nitrogen7 lvdo2 node to be always-on
Changes v3 -> v4:
- Use hyphen instead of underscore for backlight node names
- Remove fake "simple-bus" for regulators declaration
- Remove non existant rs485 properties
- Remove non existant vqmmc-1-8v property
- Remove unused pinctrl entries (rfkill, flash, pcie, usdhc, sai)
- Remove pinctrl unnecessary container node
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx7d-nitrogen7.dts | 745 ++++++++++++++++++++++++++++++++++ 2 files changed, 746 insertions(+) create mode 100644 arch/arm/boot/dts/imx7d-nitrogen7.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -381,6 +381,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \ imx6ul-tx6ul-mainboard.dtb dtb-$(CONFIG_SOC_IMX7D) += \ imx7d-cl-som-imx7.dtb \ + imx7d-nitrogen7.dtb \ imx7d-sbc-imx7.dtb \ imx7d-sdb.dtb dtb-$(CONFIG_SOC_LS1021A) += \
arch/arm/boot/dts/imx7d-nitrogen7.dts new file +745 -0
745 lines not on this page · raw message
Signature · 1 line
2.7.0
Shawn Guo
AppliedPATCH v4 1/1 ARM: dts: imx: add Boundary Devices Nitrogen7 board
Quoted 5 lines · Gary Bisson
Based on i.MX7 Dual with 1GB of RAM.
https://boundarydevices.com/product/nitrogen7/
Signed-off-by Gary Bisson <[email protected]>
Applied, thanks.
PATCH v3 5/9 ARM: dts: imx: add Boundary Devices Nitrogen6_MAX QP board
In reply to Gary BissonBased on i.MX6 Quad Plus with 4GB of RAM.
https://boundarydevices.com/product/nitrogen6max/
---
Changes v1 -> v2:
- Disable pcie for nitrogen6qp_max dts
-> required for the board to boot normally
Changes v2 -> v3:
- none
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6qp-nitrogen6_max.dts | 59 ++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 arch/arm/boot/dts/imx6qp-nitrogen6_max.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -364,6 +364,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-udoo.dtb \ imx6q-wandboard.dtb \ imx6q-wandboard-revb1.dtb \ + imx6qp-nitrogen6_max.dtb \ imx6qp-sabreauto.dtb \ imx6qp-sabresd.dtb dtb-$(CONFIG_SOC_IMX6SL) += \
arch/arm/boot/dts/imx6qp-nitrogen6_max.dts new file +59 -0
59 lines not on this page · raw message
Signature · 1 line
2.7.0
Shawn Guo
AppliedPATCH v3 5/9 ARM: dts: imx: add Boundary Devices Nitrogen6_MAX QP board
Quoted 5 lines · Gary Bisson
Based on i.MX6 Quad Plus with 4GB of RAM.
https://boundarydevices.com/product/nitrogen6max/
Signed-off-by Gary Bisson <[email protected]>
Applied, thanks.
PATCH v3 6/9 ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
In reply to Gary BissonBased on i.MX6 SoloX with 1GB of RAM.
https://boundarydevices.com/product/nit6_solox-imx6/
---
Changes v1 -> v2:
- Remove lines commented out from nitrogen6sx dts as suggested by Vladimir Changes v2 -> v3:
- none
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 732 +++++++++++++++++++++++++++++++ 2 files changed, 733 insertions(+) create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -371,6 +371,7 @@ dtb-$(CONFIG_SOC_IMX6SL) += \ imx6sl-evk.dtb \ imx6sl-warp.dtb dtb-$(CONFIG_SOC_IMX6SX) += \ + imx6sx-nitrogen6sx.dtb \ imx6sx-sabreauto.dtb \ imx6sx-sdb-reva.dtb \ imx6sx-sdb.dtb
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +732 -0
732 lines not on this page · raw message
Signature · 1 line
2.7.0
PATCH v4 1/1 ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
Based on i.MX6 SoloX with 1GB of RAM.
https://boundarydevices.com/product/nit6_solox-imx6/
---
Changes v1 -> v2:
- Remove lines commented out from nitrogen6sx dts as suggested by Vladimir Changes v2 -> v3:
- none
Changes v3 -> v4:
- Use hyphen instead of underscore for backlight node name
- Remove fake "simple-bus" for regulators declaration
- Remove non existant vqmmc-1-8v property
- Remove unused pinctrl entries (rfkill, lvds)
- Remove pinctrl unnecessary container node
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 706 +++++++++++++++++++++++++++++++ 2 files changed, 707 insertions(+) create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -371,6 +371,7 @@ dtb-$(CONFIG_SOC_IMX6SL) += \ imx6sl-evk.dtb \ imx6sl-warp.dtb dtb-$(CONFIG_SOC_IMX6SX) += \ + imx6sx-nitrogen6sx.dtb \ imx6sx-sabreauto.dtb \ imx6sx-sdb-reva.dtb \ imx6sx-sdb.dtb
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +706 -0
706 lines not on this page · raw message
Signature · 1 line
2.7.0
PATCH v4 1/1 ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
On Thu, Apr 07, 2016 at 03:52:48PM +0200, Gary Bisson wrote:
<snip>
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts line 156
Quoted 13 lines
+&ecspi1 {
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +12
-0+ fsl,spi-num-chipselects = <1>; + cs-gpios = <&gpio2 16 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ecspi1>; + status = "okay"; + + flash: m25p80 at 0 { + compatible = "microchip,sst25vf016b"; + spi-max-frequency = <20000000>; + reg = <0>; + #address-cells = <1>; + #size-cells = <1>;
Have a new line between properties and sub-nodes.
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts line 159
Quoted 3 lines
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +3
-0+ partition at 0 { + label = "U-Boot"; + reg = <0x0 0xC0000>;
Please use lowercase for all hex values in device tree source.
Review
Quoted 2 lines
(quoted diff) +2
-0+ read-only; + };
Have a new line between nodes.
Quoted 15 lines
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +15
-0+ partition at C0000 { + label = "env"; + reg = <0xC0000 0x2000>; + read-only; + }; + partition at C2000 { + label = "Kernel"; + reg = <0xC2000 0x11e000>; + }; + partition at 1E0000 { + label = "M4"; + reg = <0x1E0000 0x20000>; + }; + }; +};
<snip>
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts line 307
Quoted 2 lines
+&ssi1 {
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +1
-0+ fsl,mode = "i2s-master";
Take a look at Documentation/devicetree/bindings/sound/fsl,ssi.txt. fsl,mode is only for AC97 interface now.
Quoted 2 lines
(quoted diff) +2
-0+ status = "okay"; +};
<snip>
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts line 358
Quoted 7 lines
+&usdhc2 {
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +6
-0+ pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc2>; + bus-width = <4>; + cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; + keep-power-in-suspend; + enable-sdio-wakeup;
Use wakeup-source instead, as enable-sdio-wakeup is deprecated. See details in bindings/power/wakeup-source.txt.
Quoted 5 lines
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +5
-0+ status = "okay"; +}; + +&usdhc3 { + #address-cells = <1>;
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts line 373
Quoted 10 lines
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +10
-0+ #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc3>; + bus-width = <4>; + non-removable; + keep-power-in-suspend; + vmmc-supply = <®_wlan>; + cap-power-off-card; + cap-sdio-irq; + vqmmc-1-8-v;
Your change log says this non-existent property is removed.
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts line 381
Quoted 8 lines
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +8
-0+ status = "okay"; + + brcmf: bcrmf at 1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + interrupt-parent = <&gpio7>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; + };
Have a new line between nodes.
Shawn
Quoted 8 lines
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +8
-0+ wlcore: wlcore at 2 { + compatible = "ti,wl1271"; + reg = <2>; + interrupt-parent = <&gpio7>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; + ref-clock-frequency = <38400000>; + }; +};
PATCH v5 1/1 ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
In reply to Gary BissonBased on i.MX6 SoloX with 1GB of RAM.
https://boundarydevices.com/product/nit6_solox-imx6/
---
Changes v1 -> v2:
- Remove lines commented out from nitrogen6sx dts as suggested by Vladimir Changes v2 -> v3:
- none
Changes v3 -> v4:
- Use hyphen instead of underscore for backlight node name
- Remove fake "simple-bus" for regulators declaration
- Remove non existant vqmmc-1-8v property
- Remove unused pinctrl entries (rfkill, lvds)
- Remove pinctrl unnecessary container node
Changes v4 -> v5:
- Remove non existant vqmmc-1-8v for real
- Add new line between properties and sub-nodes
- Use lowercase for all hexadecimal values
- Remove unnecessary fsl,mode of ssi node
- Remove deprecated keep-power-in-suspend
Thanks for all your feedback!
Regards,
Gary
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 709 +++++++++++++++++++++++++++++++ 2 files changed, 710 insertions(+) create mode 100644 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -371,6 +371,7 @@ dtb-$(CONFIG_SOC_IMX6SL) += \ imx6sl-evk.dtb \ imx6sl-warp.dtb dtb-$(CONFIG_SOC_IMX6SX) += \ + imx6sx-nitrogen6sx.dtb \ imx6sx-sabreauto.dtb \ imx6sx-sdb-reva.dtb \ imx6sx-sdb.dtb
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts new file +709 -0
709 lines not on this page · raw message
Signature · 1 line
2.7.0
Shawn Guo
AppliedPATCH v5 1/1 ARM: dts: imx: add Boundary Devices Nitrogen6_SoloX board
Quoted 5 lines · Gary Bisson
Based on i.MX6 SoloX with 1GB of RAM.
https://boundarydevices.com/product/nit6_solox-imx6/
Signed-off-by Gary Bisson <[email protected]>
Applied, thanks.
PATCH v3 7/9 ARM: imx_v6_v7_defconfig: add FT5x06 and TSC2004 touch support
In reply to Gary BissonThose two touch controllers are used by Boundary Devices platforms.
---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- none
--- arch/arm/configs/imx_v6_v7_defconfig | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/configs/imx_v6_v7_defconfig +2 -0
@@ -162,7 +162,9 @@ CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_EGALAX=y CONFIG_TOUCHSCREEN_IMX6UL_TSC=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y CONFIG_TOUCHSCREEN_MC13783=y +CONFIG_TOUCHSCREEN_TSC2004=y CONFIG_TOUCHSCREEN_TSC2007=y CONFIG_TOUCHSCREEN_STMPE=y CONFIG_TOUCHSCREEN_SX8654=y
Signature · 1 line
2.7.0
PATCH v3 7/9 ARM: imx_v6_v7_defconfig: add FT5x06 and TSC2004 touch support
Quoted 3 lines · Gary Bisson
Those two touch controllers are used by Boundary Devices platforms.
Signed-off-by Gary Bisson <[email protected]>
Applied 7 ~ 9, thanks.
PATCH v3 8/9 ARM: imx_v6_v7_defconfig: add CONFIG_I2C_MUX_GPIO
In reply to Gary BissonI2C muxing is used on Nitrogen6_MAX board from Boundary Devices.
---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- none
--- arch/arm/configs/imx_v6_v7_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/imx_v6_v7_defconfig +1 -0
@@ -180,6 +180,7 @@ CONFIG_SERIAL_FSL_LPUART=y CONFIG_SERIAL_FSL_LPUART_CONSOLE=y # CONFIG_I2C_COMPAT is not set CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX_GPIO=y # CONFIG_I2C_HELPER_AUTO is not set CONFIG_I2C_ALGOPCF=m CONFIG_I2C_ALGOPCA=m
Signature · 1 line
2.7.0
PATCH v3 9/9 ARM: imx_v6_v7_defconfig: add CONFIG_RTC_DRV_M41T80
In reply to Gary BissonThe rv4168 RTC is used by the following platforms:
- Nitrogen6_MAX (both Quad and Quad Plus versions)
- Nitrogen7
---
Changes v1 -> v2:
- none
Changes v2 -> v3:
- none
--- arch/arm/configs/imx_v6_v7_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/imx_v6_v7_defconfig +1 -0
@@ -316,6 +316,7 @@ CONFIG_RTC_DRV_DS1307=y CONFIG_RTC_DRV_ISL1208=y CONFIG_RTC_DRV_PCF8523=y CONFIG_RTC_DRV_PCF8563=y +CONFIG_RTC_DRV_M41T80=y CONFIG_RTC_DRV_MC13XXX=y CONFIG_RTC_DRV_MXC=y CONFIG_RTC_DRV_SNVS=y
Signature · 1 line
2.7.0