From: Jesse Taube <mr.bossman075@gmail.com> To: linux-imx@nxp.com Cc: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, ulf.hansson@linaro.org, aisheng.dong@nxp.com, stefan@agner.ch, linus.walleij@linaro.org, gregkh@linuxfoundation.org, arnd@arndb.de, olof@lixom.net, soc@kernel.org, linux@armlinux.org.uk, abel.vesa@nxp.com, adrian.hunter@intel.com, jirislaby@kernel.org, giulio.benetti@benettiengineering.com, nobuhiro1.iwamatsu@toshiba.co.jp, Mr.Bossman075@gmail.com, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org, linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org Subject: [PATCH v3 00/13] add initial support for the i.MXRTxxxx SoC family starting from i.IMXRT1050 SoC. Date: Thu, 25 Nov 2021 16:14:30 -0500 [thread overview] Message-ID: <20211125211443.1150135-1-Mr.Bossman075@gmail.com> (raw) This patchset contains: - i.MXRT10xx family infrastructure - i.MXRT1050 pinctrl driver adaption - i.MXRT1050 clock driver adaption - i.MXRT1050 sd-card driver adaption - i.MXRT1050 uart driver adaption - i.MXRT1050-evk basic support The i.MXRTxxxx family that could have support by Linux actually spreads from i.MXRT1020 to i.MXRT1170 with the first one supporting 1 USB OTG & 100M ethernet with a cortex-M7@500Mhz up to the latter with i.MXRT1170 with cortex-M7@1Ghz and cortex-M4@400Mhz, 2MB of internal SRAM, 2D GPU, 2x 1Gb and 1x 100Mb ENET. The i.MXRT family is NXP's answer to STM32F7XX, as it uses only simple SDRAM, it gives the chance of a 4 or less layer PCBs. Seeing that these chips are comparable to the STM32F7XXs which have linux ported to them it seems reasonable to add support for them. Giving Linux support to this family should ease the development process, instead of using a RTOS they could use Embedded Linux allowing for more portability, ease of design and will broaden the scope of people using embedded linux. The EVK has very little SDRAM, generally 32MB starting from i.MXRT1020(the lowest P/N), although the i.MXRT1160/70 provide instead 64MB of SDRAM for more functionality. At the moment we do not support XIP for either u-boot or Linux but it should be done in the future. XIP will also save SDRAM. Another interesting fact is the amount of internal SRAM, as the P/N increases the SRAM will reach up to 2MB(some could be for cache and some would be for video). Also, some parts have embed flash of 4MB that can be used for u-boot/Linux, if both correctly sized it will leave the SDRAM free. External flash can be Quad SPI and HyperFlash, so throughput would be decent. The i.MXRT11xx series supports MIPI interface too. The family in general provide CAN bus, audio I/O, 1 or more USB(otg/host), 1 or more 100Mb/1Gb ethernet, camera interface, sd-card. All this can be used for simple GUIs, web-servers, point-of-sale stations, etc. Giulio Benetti (5): ARM: imx: add initial support for i.MXRT10xx family pinctrl: freescale: Add i.MXRT1050 pinctrl driver support dt-bindings: imx: Add clock binding for i.MXRT1050 ARM: dts: imx: add i.MXRT1050-EVK support ARM: imxrt_defconfig: add i.MXRT family defconfig Jesse Taube (8): dt-bindings: pinctrl: add i.MXRT1050 pinctrl binding doc ARM: dts: imxrt1050-pinfunc: Add pinctrl binding header dt-bindings: clock: imx: Add documentation for i.MXRT clock clk: imx: Add initial support for i.MXRT clock driver dt-bindings: serial: fsl-lpuart: add i.MXRT compatible tty: serial: fsl_lpuart: add i.MXRT support dt-bindings: mmc: fsl-imx-esdhc: add i.MXRT compatible string mmc: sdhci-esdhc-imx: Add sdhc support for i.MXRT series .../bindings/clock/imxrt-clock.yaml | 67 ++ .../bindings/mmc/fsl-imx-esdhc.yaml | 1 + .../bindings/pinctrl/fsl,imxrt1050.yaml | 79 ++ .../bindings/serial/fsl-lpuart.yaml | 1 + arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/imxrt1050-evk.dts | 72 ++ arch/arm/boot/dts/imxrt1050-pinfunc.h | 993 ++++++++++++++++++ arch/arm/boot/dts/imxrt1050.dtsi | 165 +++ arch/arm/configs/imxrt_defconfig | 157 +++ arch/arm/mach-imx/Kconfig | 7 + arch/arm/mach-imx/Makefile | 2 + arch/arm/mach-imx/mach-imxrt.c | 19 + drivers/clk/imx/Kconfig | 4 + drivers/clk/imx/Makefile | 1 + drivers/clk/imx/clk-imxrt.c | 156 +++ drivers/mmc/host/sdhci-esdhc-imx.c | 4 + drivers/pinctrl/freescale/Kconfig | 7 + drivers/pinctrl/freescale/Makefile | 1 + drivers/pinctrl/freescale/pinctrl-imxrt1050.c | 349 ++++++ drivers/tty/serial/fsl_lpuart.c | 8 + include/dt-bindings/clock/imxrt1050-clock.h | 73 ++ 21 files changed, 2168 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/imxrt-clock.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,imxrt1050.yaml create mode 100644 arch/arm/boot/dts/imxrt1050-evk.dts create mode 100644 arch/arm/boot/dts/imxrt1050-pinfunc.h create mode 100644 arch/arm/boot/dts/imxrt1050.dtsi create mode 100644 arch/arm/configs/imxrt_defconfig create mode 100644 arch/arm/mach-imx/mach-imxrt.c create mode 100644 drivers/clk/imx/clk-imxrt.c create mode 100644 drivers/pinctrl/freescale/pinctrl-imxrt1050.c create mode 100644 include/dt-bindings/clock/imxrt1050-clock.h -- 2.34.0
WARNING: multiple messages have this Message-ID (diff)
From: Jesse Taube <mr.bossman075@gmail.com> To: linux-imx@nxp.com Cc: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, ulf.hansson@linaro.org, aisheng.dong@nxp.com, stefan@agner.ch, linus.walleij@linaro.org, gregkh@linuxfoundation.org, arnd@arndb.de, olof@lixom.net, soc@kernel.org, linux@armlinux.org.uk, abel.vesa@nxp.com, adrian.hunter@intel.com, jirislaby@kernel.org, giulio.benetti@benettiengineering.com, nobuhiro1.iwamatsu@toshiba.co.jp, Mr.Bossman075@gmail.com, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org, linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org Subject: [PATCH v3 00/13] add initial support for the i.MXRTxxxx SoC family starting from i.IMXRT1050 SoC. Date: Thu, 25 Nov 2021 16:14:30 -0500 [thread overview] Message-ID: <20211125211443.1150135-1-Mr.Bossman075@gmail.com> (raw) This patchset contains: - i.MXRT10xx family infrastructure - i.MXRT1050 pinctrl driver adaption - i.MXRT1050 clock driver adaption - i.MXRT1050 sd-card driver adaption - i.MXRT1050 uart driver adaption - i.MXRT1050-evk basic support The i.MXRTxxxx family that could have support by Linux actually spreads from i.MXRT1020 to i.MXRT1170 with the first one supporting 1 USB OTG & 100M ethernet with a cortex-M7@500Mhz up to the latter with i.MXRT1170 with cortex-M7@1Ghz and cortex-M4@400Mhz, 2MB of internal SRAM, 2D GPU, 2x 1Gb and 1x 100Mb ENET. The i.MXRT family is NXP's answer to STM32F7XX, as it uses only simple SDRAM, it gives the chance of a 4 or less layer PCBs. Seeing that these chips are comparable to the STM32F7XXs which have linux ported to them it seems reasonable to add support for them. Giving Linux support to this family should ease the development process, instead of using a RTOS they could use Embedded Linux allowing for more portability, ease of design and will broaden the scope of people using embedded linux. The EVK has very little SDRAM, generally 32MB starting from i.MXRT1020(the lowest P/N), although the i.MXRT1160/70 provide instead 64MB of SDRAM for more functionality. At the moment we do not support XIP for either u-boot or Linux but it should be done in the future. XIP will also save SDRAM. Another interesting fact is the amount of internal SRAM, as the P/N increases the SRAM will reach up to 2MB(some could be for cache and some would be for video). Also, some parts have embed flash of 4MB that can be used for u-boot/Linux, if both correctly sized it will leave the SDRAM free. External flash can be Quad SPI and HyperFlash, so throughput would be decent. The i.MXRT11xx series supports MIPI interface too. The family in general provide CAN bus, audio I/O, 1 or more USB(otg/host), 1 or more 100Mb/1Gb ethernet, camera interface, sd-card. All this can be used for simple GUIs, web-servers, point-of-sale stations, etc. Giulio Benetti (5): ARM: imx: add initial support for i.MXRT10xx family pinctrl: freescale: Add i.MXRT1050 pinctrl driver support dt-bindings: imx: Add clock binding for i.MXRT1050 ARM: dts: imx: add i.MXRT1050-EVK support ARM: imxrt_defconfig: add i.MXRT family defconfig Jesse Taube (8): dt-bindings: pinctrl: add i.MXRT1050 pinctrl binding doc ARM: dts: imxrt1050-pinfunc: Add pinctrl binding header dt-bindings: clock: imx: Add documentation for i.MXRT clock clk: imx: Add initial support for i.MXRT clock driver dt-bindings: serial: fsl-lpuart: add i.MXRT compatible tty: serial: fsl_lpuart: add i.MXRT support dt-bindings: mmc: fsl-imx-esdhc: add i.MXRT compatible string mmc: sdhci-esdhc-imx: Add sdhc support for i.MXRT series .../bindings/clock/imxrt-clock.yaml | 67 ++ .../bindings/mmc/fsl-imx-esdhc.yaml | 1 + .../bindings/pinctrl/fsl,imxrt1050.yaml | 79 ++ .../bindings/serial/fsl-lpuart.yaml | 1 + arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/imxrt1050-evk.dts | 72 ++ arch/arm/boot/dts/imxrt1050-pinfunc.h | 993 ++++++++++++++++++ arch/arm/boot/dts/imxrt1050.dtsi | 165 +++ arch/arm/configs/imxrt_defconfig | 157 +++ arch/arm/mach-imx/Kconfig | 7 + arch/arm/mach-imx/Makefile | 2 + arch/arm/mach-imx/mach-imxrt.c | 19 + drivers/clk/imx/Kconfig | 4 + drivers/clk/imx/Makefile | 1 + drivers/clk/imx/clk-imxrt.c | 156 +++ drivers/mmc/host/sdhci-esdhc-imx.c | 4 + drivers/pinctrl/freescale/Kconfig | 7 + drivers/pinctrl/freescale/Makefile | 1 + drivers/pinctrl/freescale/pinctrl-imxrt1050.c | 349 ++++++ drivers/tty/serial/fsl_lpuart.c | 8 + include/dt-bindings/clock/imxrt1050-clock.h | 73 ++ 21 files changed, 2168 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/imxrt-clock.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,imxrt1050.yaml create mode 100644 arch/arm/boot/dts/imxrt1050-evk.dts create mode 100644 arch/arm/boot/dts/imxrt1050-pinfunc.h create mode 100644 arch/arm/boot/dts/imxrt1050.dtsi create mode 100644 arch/arm/configs/imxrt_defconfig create mode 100644 arch/arm/mach-imx/mach-imxrt.c create mode 100644 drivers/clk/imx/clk-imxrt.c create mode 100644 drivers/pinctrl/freescale/pinctrl-imxrt1050.c create mode 100644 include/dt-bindings/clock/imxrt1050-clock.h -- 2.34.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-11-25 21:17 UTC|newest] Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-11-25 21:14 Jesse Taube [this message] 2021-11-25 21:14 ` [PATCH v3 00/13] add initial support for the i.MXRTxxxx SoC family starting from i.IMXRT1050 SoC Jesse Taube 2021-11-25 21:14 ` [PATCH v3 01/13] ARM: imx: add initial support for i.MXRT10xx family Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-25 21:14 ` [PATCH v3 02/13] dt-bindings: pinctrl: add i.MXRT1050 pinctrl binding doc Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-29 1:04 ` Rob Herring 2021-11-29 1:04 ` Rob Herring 2021-12-02 1:28 ` Linus Walleij 2021-12-02 1:28 ` Linus Walleij 2021-11-25 21:14 ` [PATCH v3 03/13] ARM: dts: imxrt1050-pinfunc: Add pinctrl binding header Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-29 1:06 ` Rob Herring 2021-11-29 1:06 ` Rob Herring 2021-12-02 1:31 ` Linus Walleij 2021-12-02 1:31 ` Linus Walleij 2021-11-25 21:14 ` [PATCH v3 04/13] pinctrl: freescale: Add i.MXRT1050 pinctrl driver support Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-27 1:43 ` Linus Walleij 2021-11-27 1:43 ` Linus Walleij 2021-11-27 2:24 ` Giulio Benetti 2021-11-27 12:48 ` Fabio Estevam 2021-11-27 12:48 ` Fabio Estevam 2021-12-02 1:31 ` Linus Walleij 2021-12-02 1:31 ` Linus Walleij 2021-11-25 21:14 ` [PATCH v3 05/13] dt-bindings: imx: Add clock binding for i.MXRT1050 Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-28 16:28 ` Rob Herring 2021-11-28 16:28 ` Rob Herring 2021-11-25 21:14 ` [PATCH v3 06/13] dt-bindings: clock: imx: Add documentation for i.MXRT clock Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-28 16:32 ` Rob Herring 2021-11-28 16:32 ` Rob Herring 2021-11-25 21:14 ` [PATCH v3 07/13] clk: imx: Add initial support for i.MXRT clock driver Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-28 20:50 ` Fabio Estevam 2021-11-28 20:50 ` Fabio Estevam 2021-11-28 20:52 ` Jesse Taube 2021-11-28 20:52 ` Jesse Taube 2021-11-28 20:54 ` Fabio Estevam 2021-11-28 20:54 ` Fabio Estevam 2021-11-28 20:59 ` Jesse Taube 2021-11-28 20:59 ` Jesse Taube 2021-11-28 21:01 ` Fabio Estevam 2021-11-28 21:01 ` Fabio Estevam 2021-11-28 22:17 ` Giulio Benetti 2021-11-28 22:17 ` Giulio Benetti 2021-11-25 21:14 ` [PATCH v3 08/13] dt-bindings: serial: fsl-lpuart: add i.MXRT compatible Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-28 16:31 ` Rob Herring 2021-11-28 16:31 ` Rob Herring 2021-11-25 21:14 ` [PATCH v3 09/13] tty: serial: fsl_lpuart: add i.MXRT support Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-28 20:47 ` Fabio Estevam 2021-11-28 20:47 ` Fabio Estevam 2021-11-25 21:14 ` [PATCH v3 10/13] dt-bindings: mmc: fsl-imx-esdhc: add i.MXRT compatible string Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-28 16:32 ` Rob Herring 2021-11-28 16:32 ` Rob Herring 2021-11-30 15:41 ` Ulf Hansson 2021-11-30 15:41 ` Ulf Hansson 2021-11-25 21:14 ` [PATCH v3 11/13] mmc: sdhci-esdhc-imx: Add sdhc support for i.MXRT series Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-28 20:51 ` Fabio Estevam 2021-11-28 20:51 ` Fabio Estevam 2021-11-30 15:41 ` Ulf Hansson 2021-11-30 15:41 ` Ulf Hansson 2021-11-25 21:14 ` [PATCH v3 12/13] ARM: dts: imx: add i.MXRT1050-EVK support Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-28 16:43 ` Rob Herring 2021-11-28 16:43 ` Rob Herring 2021-11-28 17:00 ` Jesse Taube 2021-11-28 17:00 ` Jesse Taube 2021-12-03 0:20 ` Giulio Benetti 2021-12-03 0:20 ` Giulio Benetti 2021-12-03 1:04 ` Giulio Benetti 2021-11-25 21:14 ` [PATCH v3 13/13] ARM: imxrt_defconfig: add i.MXRT family defconfig Jesse Taube 2021-11-25 21:14 ` Jesse Taube 2021-11-25 21:42 ` Arnd Bergmann 2021-11-25 21:42 ` Arnd Bergmann 2021-11-25 22:19 ` Jesse Taube 2021-11-25 22:19 ` Jesse Taube 2021-11-29 1:21 ` Giulio Benetti 2021-11-29 1:21 ` Giulio Benetti 2021-11-29 1:54 ` Jesse Taube 2021-11-29 1:54 ` Jesse Taube
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211125211443.1150135-1-Mr.Bossman075@gmail.com \ --to=mr.bossman075@gmail.com \ --cc=abel.vesa@nxp.com \ --cc=adrian.hunter@intel.com \ --cc=aisheng.dong@nxp.com \ --cc=arnd@arndb.de \ --cc=devicetree@vger.kernel.org \ --cc=festevam@gmail.com \ --cc=giulio.benetti@benettiengineering.com \ --cc=gregkh@linuxfoundation.org \ --cc=jirislaby@kernel.org \ --cc=kernel@pengutronix.de \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-clk@vger.kernel.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-imx@nxp.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mmc@vger.kernel.org \ --cc=linux-serial@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=mturquette@baylibre.com \ --cc=nobuhiro1.iwamatsu@toshiba.co.jp \ --cc=olof@lixom.net \ --cc=robh+dt@kernel.org \ --cc=s.hauer@pengutronix.de \ --cc=sboyd@kernel.org \ --cc=shawnguo@kernel.org \ --cc=soc@kernel.org \ --cc=stefan@agner.ch \ --cc=ulf.hansson@linaro.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.