mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 00/42] Add i.MX8M support
@ 2020-02-17 12:45 Sascha Hauer
  2020-02-17 12:45 ` [PATCH 01/42] ARM: i.MX8: Move iomux header to make space for i.MX8MM Sascha Hauer
                   ` (41 more replies)
  0 siblings, 42 replies; 43+ messages in thread
From: Sascha Hauer @ 2020-02-17 12:45 UTC (permalink / raw)
  To: Barebox List

This series adds support for the i.MX8MM SoC and the i.MX8MM EVK board.

Much of the work in this series is getting i.MX8 vs. i.MX8MQ vs. i.MX8MM
straight. We don't have any i.MX8 support yet, we only have i.MX8M, so
everything previously named imx8_ has to be named imx8m[qm]_. Much of
the stuff named imx8mq_ works for all (known) i.MX8M SoCs, so is better
named imx8m_.

One nice thing introduced with this series is support for loading a
barebox image after having loaded the PBL to SRAM. This makes it
possible to do the SDRAM configuration in C code and still upload the
full barebox image after that. So far this xload mechanism was only
possible with booting from SD or SPI NOR flash.

Sascha Hauer (42):
  ARM: i.MX8: Move iomux header to make space for i.MX8MM
  ARM: i.MX8M: Add base addresses common to i.MX8M
  ARM: i.MX8M: add and use imx8mq_setup_pad()
  ARM: i.MX: Drop iomux argument from mx7_setup_pad()
  ARM: i.MX8M: Add iomux header for i.MX8MM
  ARM: i.MX8M: Add imx8mm-regs.h
  ARM: i.MX8M: Add ARCH_IMX8M symbol
  ARM: i.MX: esdctl: rename functions to imx8m_*
  ARM: i.MX8M: Use imx8mq.c for other i.MX8M as well
  ARM: i.MX8M: rename imx8_* bootsource functions to imx8mq_*
  ARM: i.MX8M: Detect serial downloader mode correctly
  HAB: i.MX8M: rename imx8_* functions to imx8m_*
  ARM: i.MX8M: rename i.MX8M specific function
  ARM: i.MX8M: rename functions to be i.MX8M specific
  mci: imx-esdhc-pbl: Add instance 2 for i.MX8MM
  USB: gadget: fsl_udc: move register definitions to header file
  usb: gadget: fsl_udc: Add PBL image loading support
  usb: gadget: fsl_udc: Fix warnings on 64bit compilation
  usb: imx: Add i.MX8mm support
  serial: imx: Add imx8mm compatible
  mci: imx-esdhc: Add i.MX8mm support
  I2C: i.MX: Add early i2c support for i.MX8M
  clk: imx: Add pll14xx support
  clk: imx: Add imx8m_clk_composite_critical
  clk: imx: Add imx8mm clk driver
  ARM: i.MX: Add SoC namespace to imx7/8m CCM defines
  Add some CCM defines for i.MX8M
  ARM: i.MX8M: rename imx8-ccm-regs.h to imx8m-ccm-regs.h
  ARM: i.MX8M: Add some lowlevel clock functions
  ARM: i.MX7: Add and use function for early UART clock setup
  ARM: i.MX8M: Add and use function for early UART clock setup
  iomux: Add i.MX8MM support
  mfd: Add Rohm bd71837 header file
  scripts: imx-usb-loader: Add 2nd stage loading support
  scripts: imx-usb-loader: Add i.MX8MM support
  ARM: i.MX8MQ boards: Add missing includes
  ARM: i.MX8M: Add DDR controller support
  ARM: i.MX8M: Add TF-A loading support for i.MX8MM
  ARM: i.MX8M: Add i.MX8MM support
  scripts: imx-image: Add i.MX8MM support
  ARM: i.MX: Add i.MX8MM EVK board support
  ARM: i.MX: update imx_v8_defconfig for i.MX8MM

 Documentation/boards/imx/nxp-imx8mm-evk.rst   |   71 +
 arch/arm/boards/Makefile                      |    1 +
 .../boards/freescale-mx7-sabresd/lowlevel.c   |   12 +-
 arch/arm/boards/nxp-imx8mm-evk/Makefile       |    2 +
 arch/arm/boards/nxp-imx8mm-evk/board.c        |   81 +
 .../flash-header-imx8mm-evk.imxcfg            |    5 +
 arch/arm/boards/nxp-imx8mm-evk/lowlevel.c     |  184 ++
 .../arm/boards/nxp-imx8mm-evk/lpddr4-timing.c | 1976 +++++++++++++++++
 arch/arm/boards/nxp-imx8mq-evk/ddr.h          |    9 +-
 arch/arm/boards/nxp-imx8mq-evk/lowlevel.c     |   25 +-
 arch/arm/boards/phytec-som-imx8mq/ddr.h       |    7 +-
 .../boards/phytec-som-imx8mq/ddrphy_train.c   |    1 -
 arch/arm/boards/phytec-som-imx8mq/lowlevel.c  |   25 +-
 arch/arm/boards/zii-imx7d-dev/lowlevel.c      |   12 +-
 arch/arm/boards/zii-imx8mq-dev/ddr.h          |    9 +-
 arch/arm/boards/zii-imx8mq-dev/lowlevel.c     |   25 +-
 arch/arm/configs/imx_v8_defconfig             |   18 +-
 arch/arm/dts/Makefile                         |    1 +
 arch/arm/dts/imx8mm-evk.dts                   |   62 +
 arch/arm/mach-imx/Kconfig                     |   21 +-
 arch/arm/mach-imx/Makefile                    |    4 +-
 arch/arm/mach-imx/atf.c                       |   26 +-
 arch/arm/mach-imx/boot.c                      |   42 +-
 arch/arm/mach-imx/cpu_init.c                  |   14 +-
 arch/arm/mach-imx/esdctl.c                    |   30 +-
 arch/arm/mach-imx/imx-bbu-internal.c          |    4 +-
 arch/arm/mach-imx/imx.c                       |    4 +
 arch/arm/mach-imx/imx8-ddrc.c                 |   91 -
 arch/arm/mach-imx/imx8m.c                     |  279 +++
 arch/arm/mach-imx/imx8mq.c                    |  111 -
 arch/arm/mach-imx/include/mach/atf.h          |    9 +-
 arch/arm/mach-imx/include/mach/debug_ll.h     |    4 +-
 arch/arm/mach-imx/include/mach/esdctl.h       |    1 +
 arch/arm/mach-imx/include/mach/generic.h      |   22 +-
 .../arm/mach-imx/include/mach/imx7-ccm-regs.h |   45 +-
 .../arm/mach-imx/include/mach/imx8-ccm-regs.h |   15 -
 arch/arm/mach-imx/include/mach/imx8-ddrc.h    |   66 -
 .../mach-imx/include/mach/imx8m-ccm-regs.h    |   57 +
 arch/arm/mach-imx/include/mach/imx8m-regs.h   |   37 +
 arch/arm/mach-imx/include/mach/imx8mm-regs.h  |   46 +
 arch/arm/mach-imx/include/mach/imx8mq-regs.h  |    2 +
 arch/arm/mach-imx/include/mach/imx8mq.h       |   13 +-
 .../arm/mach-imx/include/mach/imx_cpu_types.h |    1 +
 arch/arm/mach-imx/include/mach/iomux-mx7.h    |    4 +-
 arch/arm/mach-imx/include/mach/iomux-mx8m.h   |   27 +
 arch/arm/mach-imx/include/mach/iomux-mx8mm.h  |  701 ++++++
 .../mach/{iomux-mx8.h => iomux-mx8mq.h}       |   24 +-
 arch/arm/mach-imx/include/mach/xload.h        |    2 +-
 drivers/clk/imx/Makefile                      |    3 +
 drivers/clk/imx/clk-imx8mm.c                  |  577 +++++
 drivers/clk/imx/clk-pll14xx.c                 |  446 ++++
 drivers/clk/imx/clk.h                         |   47 +
 drivers/ddr/Kconfig                           |    1 +
 drivers/ddr/Makefile                          |    1 +
 drivers/ddr/imx8m/Kconfig                     |    7 +
 drivers/ddr/imx8m/Makefile                    |    7 +
 drivers/ddr/imx8m/ddr_init.c                  |  211 ++
 drivers/ddr/imx8m/ddrphy_csr.c                |  732 ++++++
 drivers/ddr/imx8m/ddrphy_train.c              |  112 +
 drivers/ddr/imx8m/ddrphy_utils.c              |  306 +++
 drivers/ddr/imx8m/helper.c                    |   86 +
 drivers/hab/habv4.c                           |   12 +-
 drivers/i2c/busses/i2c-imx-early.c            |   12 +
 drivers/mci/imx-esdhc-pbl.c                   |   23 +-
 drivers/mci/imx-esdhc.c                       |    1 +
 drivers/pinctrl/imx-iomux-v3.c                |    2 +
 drivers/serial/serial_imx.c                   |    3 +
 drivers/usb/Makefile                          |    2 +-
 drivers/usb/gadget/Kconfig                    |    3 +
 drivers/usb/gadget/Makefile                   |    1 +
 drivers/usb/gadget/fsl_udc.c                  |  394 +---
 drivers/usb/gadget/fsl_udc_pbl.c              |  210 ++
 drivers/usb/imx/chipidea-imx.c                |    2 +
 firmware/Kconfig                              |    3 +
 firmware/Makefile                             |    1 +
 images/Makefile.imx                           |    6 +
 include/i2c/i2c-early.h                       |    1 +
 include/mfd/bd71837.h                         |  103 +
 include/soc/fsl/fsl_udc.h                     |  383 ++++
 include/soc/imx8m/clk-early.h                 |    7 +
 include/soc/imx8m/ddr.h                       |  407 ++++
 include/soc/imx8m/lpddr4_define.h             |   97 +
 scripts/imx/imx-usb-loader.c                  |   54 +-
 scripts/imx/imx.c                             |    1 +
 84 files changed, 7652 insertions(+), 840 deletions(-)
 create mode 100644 Documentation/boards/imx/nxp-imx8mm-evk.rst
 create mode 100644 arch/arm/boards/nxp-imx8mm-evk/Makefile
 create mode 100644 arch/arm/boards/nxp-imx8mm-evk/board.c
 create mode 100644 arch/arm/boards/nxp-imx8mm-evk/flash-header-imx8mm-evk.imxcfg
 create mode 100644 arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
 create mode 100644 arch/arm/boards/nxp-imx8mm-evk/lpddr4-timing.c
 create mode 100644 arch/arm/dts/imx8mm-evk.dts
 delete mode 100644 arch/arm/mach-imx/imx8-ddrc.c
 create mode 100644 arch/arm/mach-imx/imx8m.c
 delete mode 100644 arch/arm/mach-imx/imx8mq.c
 delete mode 100644 arch/arm/mach-imx/include/mach/imx8-ccm-regs.h
 delete mode 100644 arch/arm/mach-imx/include/mach/imx8-ddrc.h
 create mode 100644 arch/arm/mach-imx/include/mach/imx8m-ccm-regs.h
 create mode 100644 arch/arm/mach-imx/include/mach/imx8m-regs.h
 create mode 100644 arch/arm/mach-imx/include/mach/imx8mm-regs.h
 create mode 100644 arch/arm/mach-imx/include/mach/iomux-mx8m.h
 create mode 100644 arch/arm/mach-imx/include/mach/iomux-mx8mm.h
 rename arch/arm/mach-imx/include/mach/{iomux-mx8.h => iomux-mx8mq.h} (98%)
 create mode 100644 drivers/clk/imx/clk-imx8mm.c
 create mode 100644 drivers/clk/imx/clk-pll14xx.c
 create mode 100644 drivers/ddr/imx8m/Kconfig
 create mode 100644 drivers/ddr/imx8m/Makefile
 create mode 100644 drivers/ddr/imx8m/ddr_init.c
 create mode 100644 drivers/ddr/imx8m/ddrphy_csr.c
 create mode 100644 drivers/ddr/imx8m/ddrphy_train.c
 create mode 100644 drivers/ddr/imx8m/ddrphy_utils.c
 create mode 100644 drivers/ddr/imx8m/helper.c
 create mode 100644 drivers/usb/gadget/fsl_udc_pbl.c
 create mode 100644 include/mfd/bd71837.h
 create mode 100644 include/soc/fsl/fsl_udc.h
 create mode 100644 include/soc/imx8m/clk-early.h
 create mode 100644 include/soc/imx8m/ddr.h
 create mode 100644 include/soc/imx8m/lpddr4_define.h

-- 
2.25.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

end of thread, other threads:[~2020-02-17 12:48 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-17 12:45 [PATCH 00/42] Add i.MX8M support Sascha Hauer
2020-02-17 12:45 ` [PATCH 01/42] ARM: i.MX8: Move iomux header to make space for i.MX8MM Sascha Hauer
2020-02-17 12:45 ` [PATCH 02/42] ARM: i.MX8M: Add base addresses common to i.MX8M Sascha Hauer
2020-02-17 12:45 ` [PATCH 03/42] ARM: i.MX8M: add and use imx8mq_setup_pad() Sascha Hauer
2020-02-17 12:45 ` [PATCH 04/42] ARM: i.MX: Drop iomux argument from mx7_setup_pad() Sascha Hauer
2020-02-17 12:45 ` [PATCH 05/42] ARM: i.MX8M: Add iomux header for i.MX8MM Sascha Hauer
2020-02-17 12:45 ` [PATCH 06/42] ARM: i.MX8M: Add imx8mm-regs.h Sascha Hauer
2020-02-17 12:45 ` [PATCH 07/42] ARM: i.MX8M: Add ARCH_IMX8M symbol Sascha Hauer
2020-02-17 12:45 ` [PATCH 08/42] ARM: i.MX: esdctl: rename functions to imx8m_* Sascha Hauer
2020-02-17 12:45 ` [PATCH 09/42] ARM: i.MX8M: Use imx8mq.c for other i.MX8M as well Sascha Hauer
2020-02-17 12:45 ` [PATCH 10/42] ARM: i.MX8M: rename imx8_* bootsource functions to imx8mq_* Sascha Hauer
2020-02-17 12:45 ` [PATCH 11/42] ARM: i.MX8M: Detect serial downloader mode correctly Sascha Hauer
2020-02-17 12:45 ` [PATCH 12/42] HAB: i.MX8M: rename imx8_* functions to imx8m_* Sascha Hauer
2020-02-17 12:45 ` [PATCH 13/42] ARM: i.MX8M: rename i.MX8M specific function Sascha Hauer
2020-02-17 12:45 ` [PATCH 14/42] ARM: i.MX8M: rename functions to be i.MX8M specific Sascha Hauer
2020-02-17 12:45 ` [PATCH 15/42] mci: imx-esdhc-pbl: Add instance 2 for i.MX8MM Sascha Hauer
2020-02-17 12:45 ` [PATCH 16/42] USB: gadget: fsl_udc: move register definitions to header file Sascha Hauer
2020-02-17 12:45 ` [PATCH 17/42] usb: gadget: fsl_udc: Add PBL image loading support Sascha Hauer
2020-02-17 12:45 ` [PATCH 18/42] usb: gadget: fsl_udc: Fix warnings on 64bit compilation Sascha Hauer
2020-02-17 12:46 ` [PATCH 19/42] usb: imx: Add i.MX8mm support Sascha Hauer
2020-02-17 12:46 ` [PATCH 20/42] serial: imx: Add imx8mm compatible Sascha Hauer
2020-02-17 12:46 ` [PATCH 21/42] mci: imx-esdhc: Add i.MX8mm support Sascha Hauer
2020-02-17 12:46 ` [PATCH 22/42] I2C: i.MX: Add early i2c support for i.MX8M Sascha Hauer
2020-02-17 12:46 ` [PATCH 23/42] clk: imx: Add pll14xx support Sascha Hauer
2020-02-17 12:46 ` [PATCH 24/42] clk: imx: Add imx8m_clk_composite_critical Sascha Hauer
2020-02-17 12:46 ` [PATCH 25/42] clk: imx: Add imx8mm clk driver Sascha Hauer
2020-02-17 12:46 ` [PATCH 26/42] ARM: i.MX: Add SoC namespace to imx7/8m CCM defines Sascha Hauer
2020-02-17 12:46 ` [PATCH 27/42] Add some CCM defines for i.MX8M Sascha Hauer
2020-02-17 12:46 ` [PATCH 28/42] ARM: i.MX8M: rename imx8-ccm-regs.h to imx8m-ccm-regs.h Sascha Hauer
2020-02-17 12:46 ` [PATCH 29/42] ARM: i.MX8M: Add some lowlevel clock functions Sascha Hauer
2020-02-17 12:46 ` [PATCH 30/42] ARM: i.MX7: Add and use function for early UART clock setup Sascha Hauer
2020-02-17 12:46 ` [PATCH 31/42] ARM: i.MX8M: " Sascha Hauer
2020-02-17 12:46 ` [PATCH 32/42] iomux: Add i.MX8MM support Sascha Hauer
2020-02-17 12:46 ` [PATCH 33/42] mfd: Add Rohm bd71837 header file Sascha Hauer
2020-02-17 12:46 ` [PATCH 34/42] scripts: imx-usb-loader: Add 2nd stage loading support Sascha Hauer
2020-02-17 12:46 ` [PATCH 35/42] scripts: imx-usb-loader: Add i.MX8MM support Sascha Hauer
2020-02-17 12:46 ` [PATCH 36/42] ARM: i.MX8MQ boards: Add missing includes Sascha Hauer
2020-02-17 12:46 ` [PATCH 37/42] ARM: i.MX8M: Add DDR controller support Sascha Hauer
2020-02-17 12:46 ` [PATCH 38/42] ARM: i.MX8M: Add TF-A loading support for i.MX8MM Sascha Hauer
2020-02-17 12:46 ` [PATCH 39/42] ARM: i.MX8M: Add i.MX8MM support Sascha Hauer
2020-02-17 12:46 ` [PATCH 40/42] scripts: imx-image: " Sascha Hauer
2020-02-17 12:46 ` [PATCH 41/42] ARM: i.MX: Add i.MX8MM EVK board support Sascha Hauer
2020-02-17 12:46 ` [PATCH 42/42] ARM: i.MX: update imx_v8_defconfig for i.MX8MM Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox