linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Add support Boundary Device Nitrogen8MP Universal SMARC Carrier Board
@ 2024-10-18  9:09 Bhavin Sharma
  2024-10-18  9:09 ` [PATCH 1/2] arm64: dts: imx8mp: Add " Bhavin Sharma
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Bhavin Sharma @ 2024-10-18  9:09 UTC (permalink / raw)
  To: shawnguo, krzk+dt, robh
  Cc: Bhavin Sharma, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Peng Fan, Hugo Villeneuve,
	Hiago De Franco, Joao Paulo Goncalves, Alexander Stein,
	Mathieu Othacehe, Michael Walle, Gregor Herburger, Max Merchel,
	Tim Harvey, devicetree, linux-kernel, imx, linux-arm-kernel

Add initial support for Nitrogen8MP Universal SMARC Carrier Board with
Nitrogen8MP SMARC System on Module.

Bhavin Sharma (2):
  arm64: dts: imx8mp: Add Boundary Device Nitrogen8MP Universal SMARC
    Carrier Board
  dt-bindings: arm: fsl: Add Boundary Device Nitrogen8MP Universal SMARC
    Carrier Board

 .../devicetree/bindings/arm/fsl.yaml          |   6 +
 arch/arm64/boot/dts/freescale/Makefile        |   1 +
 .../freescale/imx8mp-nitrogen-smarc-som.dtsi  | 349 ++++++++++++++++++
 .../imx8mp-nitrogen-smarc-universal-board.dts |  17 +
 4 files changed, 373 insertions(+)
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts

-- 
2.43.0



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] arm64: dts: imx8mp: Add Boundary Device Nitrogen8MP Universal SMARC Carrier Board
  2024-10-18  9:09 [PATCH 0/2] Add support Boundary Device Nitrogen8MP Universal SMARC Carrier Board Bhavin Sharma
@ 2024-10-18  9:09 ` Bhavin Sharma
  2024-10-22  6:10   ` Bhavin Sharma
  2024-10-22  6:51   ` Shawn Guo
  2024-10-18  9:09 ` [PATCH 2/2] dt-bindings: arm: fsl: " Bhavin Sharma
  2024-10-18 12:52 ` [PATCH 0/2] Add support " Rob Herring (Arm)
  2 siblings, 2 replies; 7+ messages in thread
From: Bhavin Sharma @ 2024-10-18  9:09 UTC (permalink / raw)
  To: shawnguo, krzk+dt, robh
  Cc: Bhavin Sharma, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Peng Fan,
	Joao Paulo Goncalves, Hiago De Franco, Hugo Villeneuve,
	Michael Walle, Alexander Stein, Mathieu Othacehe,
	Gregor Herburger, Max Merchel, Tim Harvey, devicetree,
	linux-kernel, imx, linux-arm-kernel

Adds the DTSI file for the Nitrogen8MP SMARC System on Module which
is delivered with the Nitrogen8MP Universal SMARC Carrier Board.

Initial support includes:
- Serial console
- eMMC
- SD card

Signed-off-by: Bhavin Sharma <bhavin.sharma@siliconsignals.io>
---
 arch/arm64/boot/dts/freescale/Makefile        |   1 +
 .../freescale/imx8mp-nitrogen-smarc-som.dtsi  | 349 ++++++++++++++++++
 .../imx8mp-nitrogen-smarc-universal-board.dts |  17 +
 3 files changed, 367 insertions(+)
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts

diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 9d3df8b218a2..c7f4cf51dc14 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -173,6 +173,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-icore-mx8mp-edimm2.2.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-msc-sm2s-ep1.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-navqp.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-nitrogen-smarc-universal-board.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk.dtb
 imx8mp-phyboard-pollux-rdk-no-eth-dtbs += imx8mp-phyboard-pollux-rdk.dtb imx8mp-phycore-no-eth.dtbo
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk-no-eth.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
new file mode 100644
index 000000000000..89f820ddad54
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
@@ -0,0 +1,349 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2023 Boundary Devices
+ * Copyright 2024 Silicon Signals Pvt. Ltd.
+ *
+ * Author : Bhavin Sharma <bhavin.sharma@siliconsignals.io>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/leds/common.h>
+#include "imx8mp.dtsi"
+
+/ {
+        model = "Boundary Device Nitrogen8MP SMARC SoM";
+        compatible = "boundary,imx8mp-nitrogen-smarc-som", "fsl,imx8mp";
+
+	chosen {
+        	stdout-path = &uart2;
+	};
+	
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_led>;
+
+		led-0 {
+			function = LED_FUNCTION_POWER;
+			gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+	reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
+	        compatible = "regulator-fixed";
+	        regulator-name = "VSD_3V3";
+	        regulator-min-microvolt = <3300000>;
+	        regulator-max-microvolt = <3300000>;
+	        gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
+	        enable-active-high;
+	};
+};
+
+&A53_0 {
+        cpu-supply = <&buck2>;
+};
+
+&A53_1 {
+        cpu-supply = <&buck2>;
+};
+
+&A53_2 {
+        cpu-supply = <&buck2>;
+};
+
+&A53_3 {
+        cpu-supply = <&buck2>;
+};
+
+&i2c1 {
+        clock-frequency = <400000>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_i2c1>;
+        status = "okay";
+
+        pmic@25 {
+                compatible = "nxp,pca9450c";
+                reg = <0x25>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_pmic>;
+		interrupt-parent = <&gpio1>;
+		interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
+
+                regulators {
+                        buck1: BUCK1 {
+                                regulator-name = "BUCK1";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <2187500>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                                regulator-ramp-delay = <3125>;
+                        };
+
+                        buck2: BUCK2 {
+                                regulator-name = "BUCK2";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <2187500>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                                regulator-ramp-delay = <3125>;
+                                nxp,dvs-run-voltage = <950000>;
+                                nxp,dvs-standby-voltage = <850000>;
+                        };
+
+                        buck4: BUCK4 {
+                                regulator-name = "BUCK4";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <3400000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        buck5: BUCK5 {
+                                regulator-name = "BUCK5";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <3400000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        buck6: BUCK6 {
+                                regulator-name = "BUCK6";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <3400000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo1: LDO1 {
+                                regulator-name = "LDO1";
+                                regulator-min-microvolt = <1600000>;
+                                regulator-max-microvolt = <3300000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo2: LDO2 {
+                                regulator-name = "LDO2";
+                                regulator-min-microvolt = <800000>;
+                                regulator-max-microvolt = <1150000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo3: LDO3 {
+                                regulator-name = "LDO3";
+                                regulator-min-microvolt = <800000>;
+                                regulator-max-microvolt = <3300000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo4: LDO4 {
+                                regulator-name = "LDO4";
+                                regulator-min-microvolt = <800000>;
+                                regulator-max-microvolt = <3300000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo5: LDO5 {
+                                regulator-name = "LDO5";
+                                regulator-min-microvolt = <1800000>;
+                                regulator-max-microvolt = <3300000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+                };
+        };
+};
+
+&i2c6 {
+        clock-frequency = <100000>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_i2c6>;
+        status = "okay";
+
+	mcp23018: gpio@20 {
+	        compatible = "microchip,mcp23018";
+	        gpio-controller;
+	        #gpio-cells = <0x2>;
+	        reg = <0x20>;
+	        interrupts-extended = <&gpio4 22 IRQ_TYPE_LEVEL_LOW>;
+	        interrupt-controller;
+	        #interrupt-cells = <0x2>;
+	        microchip,irq-mirror;
+	        pinctrl-names = "default";
+	        pinctrl-0 = <&pinctrl_mcp23018>;
+	        reset-gpios = <&gpio4 27 GPIO_ACTIVE_LOW>;
+	};
+};
+
+/* Console */
+&uart2 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_uart2>;
+        status = "okay";
+};
+
+/* eMMC */
+&usdhc1 {
+        pinctrl-names = "default", "state_100mhz", "state_200mhz";
+        pinctrl-0 = <&pinctrl_usdhc1>;
+        pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
+        pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
+        bus-width = <8>;
+        non-removable;
+        status = "okay";
+};
+
+/* SD-card */
+&usdhc2 {
+        pinctrl-names = "default", "state_100mhz", "state_200mhz";
+        pinctrl-0 = <&pinctrl_usdhc2>;
+        pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
+        pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
+        cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
+        vmmc-supply = <&reg_usdhc2_vmmc>;
+        bus-width = <4>;
+        status = "okay";
+};
+
+&wdog1 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_wdog>;
+        fsl,ext-reset-output;
+        status = "okay";
+};
+	
+&iomuxc {
+
+	pinctrl_gpio_led: gpioledgrp {
+	        fsl,pins = <
+	                MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10                     	0x19
+	        >;
+	};
+	
+	pinctrl_i2c1: i2c1grp {
+		fsl,pins = <
+			MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL					0x400001c3
+			MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA					0x400001c3
+		>;
+	};
+
+	pinctrl_i2c6: i2c6grp {
+	        fsl,pins = <
+	                MX8MP_IOMUXC_SAI5_RXFS__I2C6_SCL            			0x400001c3
+	                MX8MP_IOMUXC_SAI5_RXC__I2C6_SDA                 		0x400001c3
+	        >;
+	};
+	
+	pinctrl_mcp23018: mcp23018grp {
+	        fsl,pins = <
+        	        MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22            			0x1c0
+                	MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27             			0x100
+        	>;
+	};
+	
+	pinctrl_pmic: pmicgrp {
+		fsl,pins = <
+			MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14				0x1c0
+		>;
+	};
+
+	pinctrl_uart2: uart2grp {
+	        fsl,pins = <
+	                MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX                            0x40
+	                MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX                            0x40
+	        >;
+	};
+        
+        pinctrl_usdhc1: usdhc1grp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        			0x10
+                        MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        			0x150
+                        MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    			0x150
+                        MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    			0x150
+                        MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    			0x150
+                        MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    			0x150
+                        MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4    			0x150
+                        MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5    			0x150
+                        MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6    			0x150
+                        MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7    			0x150
+                        MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE  			0x10
+                        MX8MP_IOMUXC_SD1_RESET_B__USDHC1_RESET_B 			0x140
+                >;
+        };
+
+        pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        			0x14
+                        MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        			0x154
+                        MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    			0x154
+                        MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    			0x154
+                        MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    			0x154
+                        MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    			0x154
+                        MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4    			0x154
+                        MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5    			0x154
+                        MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6    			0x154
+                        MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7    			0x154
+                        MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE  			0x14
+                >;
+        };
+
+        pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        			0x12
+                        MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        			0x152
+                        MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    			0x152
+                        MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    			0x152
+                        MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    			0x152
+                        MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    			0x152
+                        MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4    			0x152
+                        MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5    			0x152
+                        MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6    			0x152
+                        MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7    			0x152
+                        MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE  			0x12
+                >;
+        };
+
+	pinctrl_usdhc2: usdhc2grp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                                0x190
+                        MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD                                0x1d0
+                        MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0                            0x1d0
+                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1                            0x1d0
+                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2                            0x1d0
+                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3                            0x1d0
+                >;
+        };
+
+        pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                                0x194
+                        MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD                                0x1d4
+                        MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0                            0x1d4
+                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1                            0x1d4
+                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2                            0x1d4
+                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3                            0x1d4
+                >;
+        };
+
+        pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                                0x196
+                        MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD                                0x1d6
+                        MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0                            0x1d6
+                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1                            0x1d6
+                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2                            0x1d6
+                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3                            0x1d6
+                >;
+	};
+
+	pinctrl_wdog: wdoggrp {
+		fsl,pins = <
+			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B				0x140
+		>;
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts
new file mode 100644
index 000000000000..4a08fa38dcde
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2023 Boundary Devices
+ * Copyright 2024 Silicon Signals Pvt. Ltd.
+ *
+ * Author : Bhavin Sharma <bhavin.sharma@siliconsignals.io> 
+ */
+
+/dts-v1/;
+
+#include "imx8mp-nitrogen-smarc-som.dtsi"
+
+/ {
+	model = "Boundary Device Nitrogen8MP Universal SMARC Carrier Board";
+	compatible = "boundary,imx8mp-nitrogen-smarc-universal-board", 
+			"boundary,imx8mp-nitrogen-smarc-som", "fsl,imx8mp";
+};
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] dt-bindings: arm: fsl: Add Boundary Device Nitrogen8MP Universal SMARC Carrier Board
  2024-10-18  9:09 [PATCH 0/2] Add support Boundary Device Nitrogen8MP Universal SMARC Carrier Board Bhavin Sharma
  2024-10-18  9:09 ` [PATCH 1/2] arm64: dts: imx8mp: Add " Bhavin Sharma
@ 2024-10-18  9:09 ` Bhavin Sharma
  2024-10-18 13:45   ` Rob Herring (Arm)
  2024-10-18 12:52 ` [PATCH 0/2] Add support " Rob Herring (Arm)
  2 siblings, 1 reply; 7+ messages in thread
From: Bhavin Sharma @ 2024-10-18  9:09 UTC (permalink / raw)
  To: shawnguo, krzk+dt, robh
  Cc: Bhavin Sharma, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Peng Fan, Hiago De Franco,
	Joao Paulo Goncalves, Hugo Villeneuve, Alexander Stein,
	Mathieu Othacehe, Michael Walle, Gregor Herburger, Max Merchel,
	Tim Harvey, devicetree, linux-kernel, imx, linux-arm-kernel

Adds support for the Nitrogen8MP SMARC System on Module and
the Nitrogen8MP Universal SMARC Carrier Board.

Signed-off-by: Bhavin Sharma <bhavin.sharma@siliconsignals.io>
---
 Documentation/devicetree/bindings/arm/fsl.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index b39a7e031177..58979c030519 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -1097,6 +1097,12 @@ properties:
           - const: avnet,sm2s-imx8mp              # SM2S-IMX8PLUS SoM
           - const: fsl,imx8mp
 
+      - description: Boundary Device Nitrogen8MP Universal SMARC Carrier Board
+        items:
+          - const: boundary,imx8mp-nitrogen-smarc-universal-board
+          - const: boundary,imx8mp-nitrogen-smarc-som
+          - const: fsl,imx8mp
+
       - description: i.MX8MP DHCOM based Boards
         items:
           - enum:
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/2] Add support Boundary Device Nitrogen8MP Universal SMARC Carrier Board
  2024-10-18  9:09 [PATCH 0/2] Add support Boundary Device Nitrogen8MP Universal SMARC Carrier Board Bhavin Sharma
  2024-10-18  9:09 ` [PATCH 1/2] arm64: dts: imx8mp: Add " Bhavin Sharma
  2024-10-18  9:09 ` [PATCH 2/2] dt-bindings: arm: fsl: " Bhavin Sharma
@ 2024-10-18 12:52 ` Rob Herring (Arm)
  2 siblings, 0 replies; 7+ messages in thread
From: Rob Herring (Arm) @ 2024-10-18 12:52 UTC (permalink / raw)
  To: Bhavin Sharma
  Cc: shawnguo, Sascha Hauer, Peng Fan, krzk+dt, linux-kernel,
	Hiago De Franco, linux-arm-kernel, Max Merchel, Fabio Estevam,
	Alexander Stein, Tim Harvey, Mathieu Othacehe,
	Joao Paulo Goncalves, imx, Hugo Villeneuve, Michael Walle,
	Gregor Herburger, Conor Dooley, devicetree,
	Pengutronix Kernel Team


On Fri, 18 Oct 2024 14:39:26 +0530, Bhavin Sharma wrote:
> Add initial support for Nitrogen8MP Universal SMARC Carrier Board with
> Nitrogen8MP SMARC System on Module.
> 
> Bhavin Sharma (2):
>   arm64: dts: imx8mp: Add Boundary Device Nitrogen8MP Universal SMARC
>     Carrier Board
>   dt-bindings: arm: fsl: Add Boundary Device Nitrogen8MP Universal SMARC
>     Carrier Board
> 
>  .../devicetree/bindings/arm/fsl.yaml          |   6 +
>  arch/arm64/boot/dts/freescale/Makefile        |   1 +
>  .../freescale/imx8mp-nitrogen-smarc-som.dtsi  | 349 ++++++++++++++++++
>  .../imx8mp-nitrogen-smarc-universal-board.dts |  17 +
>  4 files changed, 373 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts
> 
> --
> 2.43.0
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y freescale/imx8mp-nitrogen-smarc-universal-board.dtb' for 20241018091023.29286-1-bhavin.sharma@siliconsignals.io:

arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dtb: /soc@0/bus@30800000/i2c@30ae0000/gpio@20: failed to match any schema with compatible: ['microchip,mcp23018']







^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] dt-bindings: arm: fsl: Add Boundary Device Nitrogen8MP Universal SMARC Carrier Board
  2024-10-18  9:09 ` [PATCH 2/2] dt-bindings: arm: fsl: " Bhavin Sharma
@ 2024-10-18 13:45   ` Rob Herring (Arm)
  0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring (Arm) @ 2024-10-18 13:45 UTC (permalink / raw)
  To: Bhavin Sharma
  Cc: devicetree, linux-kernel, Hiago De Franco, Fabio Estevam,
	Conor Dooley, Peng Fan, Max Merchel, linux-arm-kernel,
	Michael Walle, Pengutronix Kernel Team, Joao Paulo Goncalves,
	Hugo Villeneuve, krzk+dt, imx, Tim Harvey, Alexander Stein,
	shawnguo, Gregor Herburger, Mathieu Othacehe, Sascha Hauer


On Fri, 18 Oct 2024 14:39:28 +0530, Bhavin Sharma wrote:
> Adds support for the Nitrogen8MP SMARC System on Module and
> the Nitrogen8MP Universal SMARC Carrier Board.
> 
> Signed-off-by: Bhavin Sharma <bhavin.sharma@siliconsignals.io>
> ---
>  Documentation/devicetree/bindings/arm/fsl.yaml | 6 ++++++
>  1 file changed, 6 insertions(+)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] arm64: dts: imx8mp: Add Boundary Device Nitrogen8MP Universal SMARC Carrier Board
  2024-10-18  9:09 ` [PATCH 1/2] arm64: dts: imx8mp: Add " Bhavin Sharma
@ 2024-10-22  6:10   ` Bhavin Sharma
  2024-10-22  6:51   ` Shawn Guo
  1 sibling, 0 replies; 7+ messages in thread
From: Bhavin Sharma @ 2024-10-22  6:10 UTC (permalink / raw)
  To: shawnguo@kernel.org, krzk+dt@kernel.org, robh@kernel.org
  Cc: Conor Dooley, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, Peng Fan, Joao Paulo Goncalves, Hiago De Franco,
	Hugo Villeneuve, Michael Walle, Alexander Stein, Mathieu Othacehe,
	Gregor Herburger, Max Merchel, Tim Harvey,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org


Hi everyone,

>Adds the DTSI file for the Nitrogen8MP SMARC System on Module which
>is delivered with the Nitrogen8MP Universal SMARC Carrier Board.
>
>Initial support includes:
>- Serial console
>- eMMC
>- SD card

Any comments ?

Best Regards
Bhavin

>Signed-off-by: Bhavin Sharma <bhavin.sharma@siliconsignals.io>
>---
 >arch/arm64/boot/dts/freescale/Makefile        |   1 +
 >.../freescale/imx8mp-nitrogen-smarc-som.dtsi  | 349 ++++++++++++++++++
 >.../imx8mp-nitrogen-smarc-universal-board.dts |  17 +
 >3 files changed, 367 insertions(+)
 >create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
 >create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts




________________________________________
From: Bhavin Sharma
Sent: Friday, October 18, 2024 2:41 PM
To: shawnguo@kernel.org <shawnguo@kernel.org>; krzk+dt@kernel.org <krzk+dt@kernel.org>; robh@kernel.org <robh@kernel.org>
Cc: Bhavin Sharma <bhavin.sharma@siliconsignals.io>; Conor Dooley <conor+dt@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>; Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam <festevam@gmail.com>; Peng Fan <peng.fan@nxp.com>; Joao Paulo Goncalves <joao.goncalves@toradex.com>; Hiago De Franco <hiago.franco@toradex.com>; Hugo Villeneuve <hvilleneuve@dimonoff.com>; Michael Walle <mwalle@kernel.org>; Alexander Stein <alexander.stein@ew.tq-group.com>; Mathieu Othacehe <m.othacehe@gmail.com>; Gregor Herburger <gregor.herburger@ew.tq-group.com>; Max Merchel <Max.Merchel@ew.tq-group.com>; Tim Harvey <tharvey@gateworks.com>; devicetree@vger.kernel.org <devicetree@vger.kernel.org>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; imx@lists.linux.dev <imx@lists.linux.dev>; linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>
Subject: [PATCH 1/2] arm64: dts: imx8mp: Add Boundary Device Nitrogen8MP Universal SMARC Carrier Board
 
Adds the DTSI file for the Nitrogen8MP SMARC System on Module which
is delivered with the Nitrogen8MP Universal SMARC Carrier Board.

Initial support includes:
- Serial console
- eMMC
- SD card

Signed-off-by: Bhavin Sharma <bhavin.sharma@siliconsignals.io>
---
 arch/arm64/boot/dts/freescale/Makefile        |   1 +
 .../freescale/imx8mp-nitrogen-smarc-som.dtsi  | 349 ++++++++++++++++++
 .../imx8mp-nitrogen-smarc-universal-board.dts |  17 +
 3 files changed, 367 insertions(+)
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts

diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 9d3df8b218a2..c7f4cf51dc14 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -173,6 +173,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-icore-mx8mp-edimm2.2.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-msc-sm2s-ep1.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-navqp.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-nitrogen-smarc-universal-board.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk.dtb
 imx8mp-phyboard-pollux-rdk-no-eth-dtbs += imx8mp-phyboard-pollux-rdk.dtb imx8mp-phycore-no-eth.dtbo
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk-no-eth.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
new file mode 100644
index 000000000000..89f820ddad54
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
@@ -0,0 +1,349 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2023 Boundary Devices
+ * Copyright 2024 Silicon Signals Pvt. Ltd.
+ *
+ * Author : Bhavin Sharma <bhavin.sharma@siliconsignals.io>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/leds/common.h>
+#include "imx8mp.dtsi"
+
+/ {
+        model = "Boundary Device Nitrogen8MP SMARC SoM";
+        compatible = "boundary,imx8mp-nitrogen-smarc-som", "fsl,imx8mp";
+
+       chosen {
+                stdout-path = &uart2;
+       };
+      
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_led>;
+
+               led-0 {
+                       function = LED_FUNCTION_POWER;
+                       gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "heartbeat";
+               };
+       };
+
+       reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
+               compatible = "regulator-fixed";
+               regulator-name = "VSD_3V3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+};
+
+&A53_0 {
+        cpu-supply = <&buck2>;
+};
+
+&A53_1 {
+        cpu-supply = <&buck2>;
+};
+
+&A53_2 {
+        cpu-supply = <&buck2>;
+};
+
+&A53_3 {
+        cpu-supply = <&buck2>;
+};
+
+&i2c1 {
+        clock-frequency = <400000>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_i2c1>;
+        status = "okay";
+
+        pmic@25 {
+                compatible = "nxp,pca9450c";
+                reg = <0x25>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_pmic>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
+
+                regulators {
+                        buck1: BUCK1 {
+                                regulator-name = "BUCK1";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <2187500>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                                regulator-ramp-delay = <3125>;
+                        };
+
+                        buck2: BUCK2 {
+                                regulator-name = "BUCK2";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <2187500>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                                regulator-ramp-delay = <3125>;
+                                nxp,dvs-run-voltage = <950000>;
+                                nxp,dvs-standby-voltage = <850000>;
+                        };
+
+                        buck4: BUCK4 {
+                                regulator-name = "BUCK4";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <3400000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        buck5: BUCK5 {
+                                regulator-name = "BUCK5";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <3400000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        buck6: BUCK6 {
+                                regulator-name = "BUCK6";
+                                regulator-min-microvolt = <600000>;
+                                regulator-max-microvolt = <3400000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo1: LDO1 {
+                                regulator-name = "LDO1";
+                                regulator-min-microvolt = <1600000>;
+                                regulator-max-microvolt = <3300000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo2: LDO2 {
+                                regulator-name = "LDO2";
+                                regulator-min-microvolt = <800000>;
+                                regulator-max-microvolt = <1150000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo3: LDO3 {
+                                regulator-name = "LDO3";
+                                regulator-min-microvolt = <800000>;
+                                regulator-max-microvolt = <3300000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo4: LDO4 {
+                                regulator-name = "LDO4";
+                                regulator-min-microvolt = <800000>;
+                                regulator-max-microvolt = <3300000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+
+                        ldo5: LDO5 {
+                                regulator-name = "LDO5";
+                                regulator-min-microvolt = <1800000>;
+                                regulator-max-microvolt = <3300000>;
+                                regulator-boot-on;
+                                regulator-always-on;
+                        };
+                };
+        };
+};
+
+&i2c6 {
+        clock-frequency = <100000>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_i2c6>;
+        status = "okay";
+
+       mcp23018: gpio@20 {
+               compatible = "microchip,mcp23018";
+               gpio-controller;
+               #gpio-cells = <0x2>;
+               reg = <0x20>;
+               interrupts-extended = <&gpio4 22 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-controller;
+               #interrupt-cells = <0x2>;
+               microchip,irq-mirror;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_mcp23018>;
+               reset-gpios = <&gpio4 27 GPIO_ACTIVE_LOW>;
+       };
+};
+
+/* Console */
+&uart2 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_uart2>;
+        status = "okay";
+};
+
+/* eMMC */
+&usdhc1 {
+        pinctrl-names = "default", "state_100mhz", "state_200mhz";
+        pinctrl-0 = <&pinctrl_usdhc1>;
+        pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
+        pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
+        bus-width = <8>;
+        non-removable;
+        status = "okay";
+};
+
+/* SD-card */
+&usdhc2 {
+        pinctrl-names = "default", "state_100mhz", "state_200mhz";
+        pinctrl-0 = <&pinctrl_usdhc2>;
+        pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
+        pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
+        cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
+        vmmc-supply = <&reg_usdhc2_vmmc>;
+        bus-width = <4>;
+        status = "okay";
+};
+
+&wdog1 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_wdog>;
+        fsl,ext-reset-output;
+        status = "okay";
+};
+      
+&iomuxc {
+
+       pinctrl_gpio_led: gpioledgrp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10                       0x19
+               >;
+       };
+      
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL                                 0x400001c3
+                       MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA                                 0x400001c3
+               >;
+       };
+
+       pinctrl_i2c6: i2c6grp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_SAI5_RXFS__I2C6_SCL                                  0x400001c3
+                       MX8MP_IOMUXC_SAI5_RXC__I2C6_SDA                           0x400001c3
+               >;
+       };
+      
+       pinctrl_mcp23018: mcp23018grp {
+               fsl,pins = <
+                        MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22                                 0x1c0
+                        MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27                               0x100
+                >;
+       };
+      
+       pinctrl_pmic: pmicgrp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14                             0x1c0
+               >;
+       };
+
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX                            0x40
+                       MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX                            0x40
+               >;
+       };
+       
+        pinctrl_usdhc1: usdhc1grp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK                                0x10
+                        MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD                                0x150
+                        MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0                            0x150
+                        MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1                            0x150
+                        MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2                            0x150
+                        MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3                            0x150
+                        MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4                            0x150
+                        MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5                            0x150
+                        MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6                            0x150
+                        MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7                            0x150
+                        MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE                          0x10
+                        MX8MP_IOMUXC_SD1_RESET_B__USDHC1_RESET_B                        0x140
+                >;
+        };
+
+        pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK                                0x14
+                        MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD                                0x154
+                        MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0                            0x154
+                        MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1                            0x154
+                        MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2                            0x154
+                        MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3                            0x154
+                        MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4                            0x154
+                        MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5                            0x154
+                        MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6                            0x154
+                        MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7                            0x154
+                        MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE                          0x14
+                >;
+        };
+
+        pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK                                0x12
+                        MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD                                0x152
+                        MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0                            0x152
+                        MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1                            0x152
+                        MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2                            0x152
+                        MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3                            0x152
+                        MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4                            0x152
+                        MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5                            0x152
+                        MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6                            0x152
+                        MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7                            0x152
+                        MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE                          0x12
+                >;
+        };
+
+       pinctrl_usdhc2: usdhc2grp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                                0x190
+                        MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD                                0x1d0
+                        MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0                            0x1d0
+                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1                            0x1d0
+                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2                            0x1d0
+                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3                            0x1d0
+                >;
+        };
+
+        pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                                0x194
+                        MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD                                0x1d4
+                        MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0                            0x1d4
+                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1                            0x1d4
+                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2                            0x1d4
+                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3                            0x1d4
+                >;
+        };
+
+        pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
+                fsl,pins = <
+                        MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                                0x196
+                        MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD                                0x1d6
+                        MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0                            0x1d6
+                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1                            0x1d6
+                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2                            0x1d6
+                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3                            0x1d6
+                >;
+       };
+
+       pinctrl_wdog: wdoggrp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B                           0x140
+               >;
+       };
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts
new file mode 100644
index 000000000000..4a08fa38dcde
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2023 Boundary Devices
+ * Copyright 2024 Silicon Signals Pvt. Ltd.
+ *
+ * Author : Bhavin Sharma <bhavin.sharma@siliconsignals.io>
+ */
+
+/dts-v1/;
+
+#include "imx8mp-nitrogen-smarc-som.dtsi"
+
+/ {
+       model = "Boundary Device Nitrogen8MP Universal SMARC Carrier Board";
+       compatible = "boundary,imx8mp-nitrogen-smarc-universal-board",
+                       "boundary,imx8mp-nitrogen-smarc-som", "fsl,imx8mp";
+};
--
2.43.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] arm64: dts: imx8mp: Add Boundary Device Nitrogen8MP Universal SMARC Carrier Board
  2024-10-18  9:09 ` [PATCH 1/2] arm64: dts: imx8mp: Add " Bhavin Sharma
  2024-10-22  6:10   ` Bhavin Sharma
@ 2024-10-22  6:51   ` Shawn Guo
  1 sibling, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2024-10-22  6:51 UTC (permalink / raw)
  To: Bhavin Sharma
  Cc: shawnguo, krzk+dt, robh, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Peng Fan,
	Joao Paulo Goncalves, Hiago De Franco, Hugo Villeneuve,
	Michael Walle, Alexander Stein, Mathieu Othacehe,
	Gregor Herburger, Max Merchel, Tim Harvey, devicetree,
	linux-kernel, imx, linux-arm-kernel

On Fri, Oct 18, 2024 at 02:39:27PM +0530, Bhavin Sharma wrote:
> Adds the DTSI file for the Nitrogen8MP SMARC System on Module which
> is delivered with the Nitrogen8MP Universal SMARC Carrier Board.
> 
> Initial support includes:
> - Serial console
> - eMMC
> - SD card
> 
> Signed-off-by: Bhavin Sharma <bhavin.sharma@siliconsignals.io>
> ---
>  arch/arm64/boot/dts/freescale/Makefile        |   1 +
>  .../freescale/imx8mp-nitrogen-smarc-som.dtsi  | 349 ++++++++++++++++++
>  .../imx8mp-nitrogen-smarc-universal-board.dts |  17 +
>  3 files changed, 367 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts
> 
> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> index 9d3df8b218a2..c7f4cf51dc14 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -173,6 +173,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-icore-mx8mp-edimm2.2.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-msc-sm2s-ep1.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-navqp.dtb
> +dtb-$(CONFIG_ARCH_MXC) += imx8mp-nitrogen-smarc-universal-board.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk.dtb
>  imx8mp-phyboard-pollux-rdk-no-eth-dtbs += imx8mp-phyboard-pollux-rdk.dtb imx8mp-phycore-no-eth.dtbo
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk-no-eth.dtb
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
> new file mode 100644
> index 000000000000..89f820ddad54
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-som.dtsi
> @@ -0,0 +1,349 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2023 Boundary Devices
> + * Copyright 2024 Silicon Signals Pvt. Ltd.
> + *
> + * Author : Bhavin Sharma <bhavin.sharma@siliconsignals.io>
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/leds/common.h>
> +#include "imx8mp.dtsi"
> +
> +/ {
> +        model = "Boundary Device Nitrogen8MP SMARC SoM";
> +        compatible = "boundary,imx8mp-nitrogen-smarc-som", "fsl,imx8mp";

Use tab instead of space for indent.

It appears there are quite many such cases in this patch.

> +
> +	chosen {
> +        	stdout-path = &uart2;
> +	};
> +	
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_led>;
> +
> +		led-0 {
> +			function = LED_FUNCTION_POWER;
> +			gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +	};
> +
> +	reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
> +	        compatible = "regulator-fixed";
> +	        regulator-name = "VSD_3V3";
> +	        regulator-min-microvolt = <3300000>;
> +	        regulator-max-microvolt = <3300000>;
> +	        gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
> +	        enable-active-high;
> +	};
> +};
> +
> +&A53_0 {
> +        cpu-supply = <&buck2>;
> +};
> +
> +&A53_1 {
> +        cpu-supply = <&buck2>;
> +};
> +
> +&A53_2 {
> +        cpu-supply = <&buck2>;
> +};
> +
> +&A53_3 {
> +        cpu-supply = <&buck2>;
> +};
> +
> +&i2c1 {
> +        clock-frequency = <400000>;
> +        pinctrl-names = "default";
> +        pinctrl-0 = <&pinctrl_i2c1>;
> +        status = "okay";
> +
> +        pmic@25 {
> +                compatible = "nxp,pca9450c";
> +                reg = <0x25>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_pmic>;
> +		interrupt-parent = <&gpio1>;
> +		interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
> +
> +                regulators {
> +                        buck1: BUCK1 {
> +                                regulator-name = "BUCK1";
> +                                regulator-min-microvolt = <600000>;
> +                                regulator-max-microvolt = <2187500>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                                regulator-ramp-delay = <3125>;
> +                        };
> +
> +                        buck2: BUCK2 {
> +                                regulator-name = "BUCK2";
> +                                regulator-min-microvolt = <600000>;
> +                                regulator-max-microvolt = <2187500>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                                regulator-ramp-delay = <3125>;
> +                                nxp,dvs-run-voltage = <950000>;
> +                                nxp,dvs-standby-voltage = <850000>;
> +                        };
> +
> +                        buck4: BUCK4 {
> +                                regulator-name = "BUCK4";
> +                                regulator-min-microvolt = <600000>;
> +                                regulator-max-microvolt = <3400000>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                        };
> +
> +                        buck5: BUCK5 {
> +                                regulator-name = "BUCK5";
> +                                regulator-min-microvolt = <600000>;
> +                                regulator-max-microvolt = <3400000>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                        };
> +
> +                        buck6: BUCK6 {
> +                                regulator-name = "BUCK6";
> +                                regulator-min-microvolt = <600000>;
> +                                regulator-max-microvolt = <3400000>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                        };
> +
> +                        ldo1: LDO1 {
> +                                regulator-name = "LDO1";
> +                                regulator-min-microvolt = <1600000>;
> +                                regulator-max-microvolt = <3300000>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                        };
> +
> +                        ldo2: LDO2 {
> +                                regulator-name = "LDO2";
> +                                regulator-min-microvolt = <800000>;
> +                                regulator-max-microvolt = <1150000>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                        };
> +
> +                        ldo3: LDO3 {
> +                                regulator-name = "LDO3";
> +                                regulator-min-microvolt = <800000>;
> +                                regulator-max-microvolt = <3300000>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                        };
> +
> +                        ldo4: LDO4 {
> +                                regulator-name = "LDO4";
> +                                regulator-min-microvolt = <800000>;
> +                                regulator-max-microvolt = <3300000>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                        };
> +
> +                        ldo5: LDO5 {
> +                                regulator-name = "LDO5";
> +                                regulator-min-microvolt = <1800000>;
> +                                regulator-max-microvolt = <3300000>;
> +                                regulator-boot-on;
> +                                regulator-always-on;
> +                        };
> +                };
> +        };
> +};
> +
> +&i2c6 {
> +        clock-frequency = <100000>;
> +        pinctrl-names = "default";
> +        pinctrl-0 = <&pinctrl_i2c6>;
> +        status = "okay";
> +
> +	mcp23018: gpio@20 {
> +	        compatible = "microchip,mcp23018";
> +	        gpio-controller;
> +	        #gpio-cells = <0x2>;
> +	        reg = <0x20>;
> +	        interrupts-extended = <&gpio4 22 IRQ_TYPE_LEVEL_LOW>;
> +	        interrupt-controller;
> +	        #interrupt-cells = <0x2>;
> +	        microchip,irq-mirror;
> +	        pinctrl-names = "default";
> +	        pinctrl-0 = <&pinctrl_mcp23018>;
> +	        reset-gpios = <&gpio4 27 GPIO_ACTIVE_LOW>;
> +	};
> +};
> +
> +/* Console */
> +&uart2 {
> +        pinctrl-names = "default";
> +        pinctrl-0 = <&pinctrl_uart2>;
> +        status = "okay";
> +};
> +
> +/* eMMC */
> +&usdhc1 {
> +        pinctrl-names = "default", "state_100mhz", "state_200mhz";
> +        pinctrl-0 = <&pinctrl_usdhc1>;
> +        pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
> +        pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
> +        bus-width = <8>;
> +        non-removable;
> +        status = "okay";
> +};
> +
> +/* SD-card */
> +&usdhc2 {
> +        pinctrl-names = "default", "state_100mhz", "state_200mhz";
> +        pinctrl-0 = <&pinctrl_usdhc2>;
> +        pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
> +        pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
> +        cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
> +        vmmc-supply = <&reg_usdhc2_vmmc>;
> +        bus-width = <4>;
> +        status = "okay";
> +};
> +
> +&wdog1 {
> +        pinctrl-names = "default";
> +        pinctrl-0 = <&pinctrl_wdog>;
> +        fsl,ext-reset-output;
> +        status = "okay";
> +};
> +	
> +&iomuxc {
> +

Unneeded newline.

Shawn

> +	pinctrl_gpio_led: gpioledgrp {
> +	        fsl,pins = <
> +	                MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10                     	0x19
> +	        >;
> +	};
> +	
> +	pinctrl_i2c1: i2c1grp {
> +		fsl,pins = <
> +			MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL					0x400001c3
> +			MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA					0x400001c3
> +		>;
> +	};
> +
> +	pinctrl_i2c6: i2c6grp {
> +	        fsl,pins = <
> +	                MX8MP_IOMUXC_SAI5_RXFS__I2C6_SCL            			0x400001c3
> +	                MX8MP_IOMUXC_SAI5_RXC__I2C6_SDA                 		0x400001c3
> +	        >;
> +	};
> +	
> +	pinctrl_mcp23018: mcp23018grp {
> +	        fsl,pins = <
> +        	        MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22            			0x1c0
> +                	MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27             			0x100
> +        	>;
> +	};
> +	
> +	pinctrl_pmic: pmicgrp {
> +		fsl,pins = <
> +			MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14				0x1c0
> +		>;
> +	};
> +
> +	pinctrl_uart2: uart2grp {
> +	        fsl,pins = <
> +	                MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX                            0x40
> +	                MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX                            0x40
> +	        >;
> +	};
> +        
> +        pinctrl_usdhc1: usdhc1grp {
> +                fsl,pins = <
> +                        MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        			0x10
> +                        MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        			0x150
> +                        MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    			0x150
> +                        MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    			0x150
> +                        MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    			0x150
> +                        MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    			0x150
> +                        MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4    			0x150
> +                        MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5    			0x150
> +                        MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6    			0x150
> +                        MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7    			0x150
> +                        MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE  			0x10
> +                        MX8MP_IOMUXC_SD1_RESET_B__USDHC1_RESET_B 			0x140
> +                >;
> +        };
> +
> +        pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
> +                fsl,pins = <
> +                        MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        			0x14
> +                        MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        			0x154
> +                        MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    			0x154
> +                        MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    			0x154
> +                        MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    			0x154
> +                        MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    			0x154
> +                        MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4    			0x154
> +                        MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5    			0x154
> +                        MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6    			0x154
> +                        MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7    			0x154
> +                        MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE  			0x14
> +                >;
> +        };
> +
> +        pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
> +                fsl,pins = <
> +                        MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        			0x12
> +                        MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        			0x152
> +                        MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    			0x152
> +                        MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    			0x152
> +                        MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    			0x152
> +                        MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    			0x152
> +                        MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4    			0x152
> +                        MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5    			0x152
> +                        MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6    			0x152
> +                        MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7    			0x152
> +                        MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE  			0x12
> +                >;
> +        };
> +
> +	pinctrl_usdhc2: usdhc2grp {
> +                fsl,pins = <
> +                        MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                                0x190
> +                        MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD                                0x1d0
> +                        MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0                            0x1d0
> +                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1                            0x1d0
> +                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2                            0x1d0
> +                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3                            0x1d0
> +                >;
> +        };
> +
> +        pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
> +                fsl,pins = <
> +                        MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                                0x194
> +                        MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD                                0x1d4
> +                        MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0                            0x1d4
> +                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1                            0x1d4
> +                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2                            0x1d4
> +                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3                            0x1d4
> +                >;
> +        };
> +
> +        pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
> +                fsl,pins = <
> +                        MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                                0x196
> +                        MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD                                0x1d6
> +                        MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0                            0x1d6
> +                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1                            0x1d6
> +                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2                            0x1d6
> +                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3                            0x1d6
> +                >;
> +	};
> +
> +	pinctrl_wdog: wdoggrp {
> +		fsl,pins = <
> +			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B				0x140
> +		>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts
> new file mode 100644
> index 000000000000..4a08fa38dcde
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dts
> @@ -0,0 +1,17 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2023 Boundary Devices
> + * Copyright 2024 Silicon Signals Pvt. Ltd.
> + *
> + * Author : Bhavin Sharma <bhavin.sharma@siliconsignals.io> 
> + */
> +
> +/dts-v1/;
> +
> +#include "imx8mp-nitrogen-smarc-som.dtsi"
> +
> +/ {
> +	model = "Boundary Device Nitrogen8MP Universal SMARC Carrier Board";
> +	compatible = "boundary,imx8mp-nitrogen-smarc-universal-board", 
> +			"boundary,imx8mp-nitrogen-smarc-som", "fsl,imx8mp";
> +};
> -- 
> 2.43.0
> 



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-10-22  6:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-18  9:09 [PATCH 0/2] Add support Boundary Device Nitrogen8MP Universal SMARC Carrier Board Bhavin Sharma
2024-10-18  9:09 ` [PATCH 1/2] arm64: dts: imx8mp: Add " Bhavin Sharma
2024-10-22  6:10   ` Bhavin Sharma
2024-10-22  6:51   ` Shawn Guo
2024-10-18  9:09 ` [PATCH 2/2] dt-bindings: arm: fsl: " Bhavin Sharma
2024-10-18 13:45   ` Rob Herring (Arm)
2024-10-18 12:52 ` [PATCH 0/2] Add support " Rob Herring (Arm)

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).