From mboxrd@z Thu Jan 1 00:00:00 1970 From: Giulio Benetti Date: Wed, 4 Dec 2019 18:44:19 +0100 Subject: [PATCH 00/20] Add i.MXRT family support Message-ID: <20191204174439.69934-1-giulio.benetti@benettiengineering.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This patchset add support for i.MXRT family starting from i.MXRT1050 SoC. It provides: - i.MXRT1050 SoC entry - i.MXRT pinctrl driver - i.MXRT serial driver tweaking - i.MXRT sdram controller driver - i.MXRT usdhc driver tweaking - i.MXRT1050-evk initial support It uses all DM clocks all around and it loads correctly a basic Linux zImage. Giulio Benetti (20): armv7m: cache: add mmu_set_region_dcache_behaviour() stub for compatibility spl: fix entry_point equal to load_addr clk: imx: pllv3: register PLLV3 GENERIC and USB as 2 different clocks clk: imx: pllv3: set div_mask differently if PLLV3 is GENERIC or USB clk: imx: pllv3: add enable() support clk: imx: pllv3: add disable() support clk: imx: pllv3: add set_rate() support clk: imx: pllv3: add PLLV3_SYS support clk: imx: pllv3: add support for PLLV3_AV type clk: imx: pfd: add set_rate() clk: imx: add i.IMXRT1050 clk driver pinctrl: add i.MXRT driver ARM: dts: imxrt1050: add dtsi file serial_lpuart: add clock enable if CONFIG_CLK is defined serial_lpuart: add support for i.MXRT ram: add SDRAM driver for i.MXRT SoCs mmc: fsl_esdhc: make if(CONFIG_IS_ENABLED(CLK)) an #if statement mmc: fsl_esdhc: add compatible for fsl, imxrt-usdhc imx: Add basic support for the NXP IMXRT10xx SoC family imx: imxrt1050-evk: Add support for the NXP i.MXRT1050-EVK arch/arm/Kconfig | 10 + arch/arm/Makefile | 4 +- arch/arm/cpu/armv7m/cache.c | 6 + arch/arm/dts/Makefile | 2 + arch/arm/dts/imxrt1050-evk.dts | 209 ++++ arch/arm/dts/imxrt1050.dtsi | 146 +++ arch/arm/include/asm/arch-imxrt/clock.h | 10 + arch/arm/include/asm/arch-imxrt/gpio.h | 19 + arch/arm/include/asm/arch-imxrt/imx-regs.h | 20 + arch/arm/include/asm/arch-imxrt/imxrt.h | 11 + arch/arm/include/asm/arch-imxrt/sys_proto.h | 11 + arch/arm/mach-imx/Makefile | 3 +- arch/arm/mach-imx/imxrt/Kconfig | 21 + arch/arm/mach-imx/imxrt/Makefile | 7 + arch/arm/mach-imx/imxrt/soc.c | 35 + board/freescale/imxrt1050-evk/Kconfig | 22 + board/freescale/imxrt1050-evk/MAINTAINERS | 6 + board/freescale/imxrt1050-evk/Makefile | 6 + board/freescale/imxrt1050-evk/README | 31 + board/freescale/imxrt1050-evk/imximage.cfg | 36 + board/freescale/imxrt1050-evk/imxrt1050-evk.c | 81 ++ common/spl/spl.c | 4 +- configs/imxrt1050-evk_defconfig | 74 ++ drivers/clk/imx/Kconfig | 16 + drivers/clk/imx/Makefile | 2 + drivers/clk/imx/clk-imxrt1050.c | 292 +++++ drivers/clk/imx/clk-pfd.c | 22 + drivers/clk/imx/clk-pllv3.c | 218 +++- drivers/mmc/Kconfig | 2 +- drivers/mmc/fsl_esdhc_imx.c | 41 +- drivers/pinctrl/nxp/Kconfig | 14 + drivers/pinctrl/nxp/Makefile | 1 + drivers/pinctrl/nxp/pinctrl-imxrt.c | 40 + drivers/ram/Kconfig | 8 + drivers/ram/Makefile | 2 + drivers/ram/imxrt_sdram.c | 439 ++++++++ drivers/serial/serial_lpuart.c | 28 +- include/configs/imxrt1050-evk.h | 59 ++ include/dt-bindings/clock/imxrt1050-clock.h | 65 ++ include/dt-bindings/memory/imxrt-sdram.h | 100 ++ include/dt-bindings/pinctrl/pins-imxrt1050.h | 993 ++++++++++++++++++ include/fsl_lpuart.h | 3 +- 42 files changed, 3083 insertions(+), 36 deletions(-) create mode 100644 arch/arm/dts/imxrt1050-evk.dts create mode 100644 arch/arm/dts/imxrt1050.dtsi create mode 100644 arch/arm/include/asm/arch-imxrt/clock.h create mode 100644 arch/arm/include/asm/arch-imxrt/gpio.h create mode 100644 arch/arm/include/asm/arch-imxrt/imx-regs.h create mode 100644 arch/arm/include/asm/arch-imxrt/imxrt.h create mode 100644 arch/arm/include/asm/arch-imxrt/sys_proto.h create mode 100644 arch/arm/mach-imx/imxrt/Kconfig create mode 100644 arch/arm/mach-imx/imxrt/Makefile create mode 100644 arch/arm/mach-imx/imxrt/soc.c create mode 100644 board/freescale/imxrt1050-evk/Kconfig create mode 100644 board/freescale/imxrt1050-evk/MAINTAINERS create mode 100644 board/freescale/imxrt1050-evk/Makefile create mode 100644 board/freescale/imxrt1050-evk/README create mode 100644 board/freescale/imxrt1050-evk/imximage.cfg create mode 100644 board/freescale/imxrt1050-evk/imxrt1050-evk.c create mode 100644 configs/imxrt1050-evk_defconfig create mode 100644 drivers/clk/imx/clk-imxrt1050.c create mode 100644 drivers/pinctrl/nxp/pinctrl-imxrt.c create mode 100644 drivers/ram/imxrt_sdram.c create mode 100644 include/configs/imxrt1050-evk.h create mode 100644 include/dt-bindings/clock/imxrt1050-clock.h create mode 100644 include/dt-bindings/memory/imxrt-sdram.h create mode 100644 include/dt-bindings/pinctrl/pins-imxrt1050.h -- 2.20.1