mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH v3 00/38] ARM: i.MX8MQ and EVK support
@ 2018-06-06 18:43 Andrey Smirnov
  2018-06-06 18:43 ` [PATCH v3 01/38] ARM: i.MX: xload: Fix compiler warning Andrey Smirnov
                   ` (38 more replies)
  0 siblings, 39 replies; 40+ messages in thread
From: Andrey Smirnov @ 2018-06-06 18:43 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Everyone:

Picking up where Sascha left off, this is the next version of the
patchset that adds support for i.MX8MQ EVK board.

This patchest is also availible at:

  https://github.com/ndreys/barebox/tree/imx8m-support-v3

Changes since [v2]:

  - i.MX8 specific eSDHC bootstrap code code fixed to function
    correctly with high capacity SD cards

  - DDR PHY firmware converted to use Sascha's firmware framework and
    be SoC specific (can be shared among different boards)

  - DDR register definitions moved to imx8-ddrc.h as well as cleaned
    up to contain only constants that are being used

  - Incorporated imx-image i.MX8 work done by Sascha as well as extend
    it to create valid AArch64 header

  - Patchset is rebase on latest 'next' branch to accomodate recent
    OCOTP changes

Changes since [v1]:

  - The patchset now allows building 1st stage bootloader that can be
    progammed on SD card and booted standalone

Currently out of scope of this patch (not tested or documented, will
be coming in a follow up series):

  - Integration of ARM Trusted Firmware

  - Booting Linux kernel

Current assumptions (all subject to change, but listed below to be
explicit):

  - DDR initialization code is auto-generated by i.MX8M DDR Tool and
    used as close to as-is as possible.

Feedback is wellcome!

Thanks,
Andrey Smirnov

[v1] http://lists.infradead.org/pipermail/barebox/2018-March/032386.html
[v2] http://lists.infradead.org/pipermail/barebox/2018-May/033149.html

Andrey Smirnov (23):
  net: fec_imx: Make use of IS_ALIGNED
  ARM: i.MX: Split shared CCM code into a separate file
  ARM: i.MX: Add IOMUX pad constants for i.MX8
  ARM: i.MX: Add basic CCM constants for i.MX8
  ARM: Add constants and helpers for system counter interface
  clocksource: armv8-timer: Convert explicit assembly into helpers
  ARM: i.MX8: Initialize system counter
  ARM: i.MX: boot: Fix address casting on 64-bit platforms
  ARM: boot: Add trivial i.MX8 support
  ARM: i.MX: xload-esdhc: Rework to make code be less i.MX6-specific
  ARM: i.MX: xload-esdhc: Allow custom buffer address, device offset
  ARM: i.MX: xload-esdhc: Add support for i.MX8
  pinctrl: i.MX: Add support for i.MX8
  Documentation: imx: Change block size for 'dd' to 1024
  Documentation: i.MX: Add missing <soctype>
  clocksource: armv8-timer: Make armv8_clocksource_read() static
  clocksource: armv8-timer: Make use of postcore_platform_driver()
  Port <linux/iopoll.h> from U-Boot
  common/clock: Move delay and timeout functions to clock.h
  clock: Use udelay() to implement mdelay()
  ARM: i.MX8: Add DDRC PHY and DDR CTL base addresses
  ARM: i.MX8: Add DDRC PHY support code
  ARM: Specify HAVE_PBL_IMAGE for CPU_64

Sascha Hauer (15):
  ARM: i.MX: xload: Fix compiler warning
  ARM: i.MX: compile arm32 specific errata only for CPU32
  ARM: Add i.MX8 support
  aarch64: Add i.MX8 debug UART support
  Include our own include/dt-bindings
  mci: imx-esdhc: use dma mapping functions
  net: fec_imx: remove unnecessary DMA sync ops
  net: fec_imx: Use dma mapping functions
  clock: Add i.MX8MQ clock driver
  serial: i.MX: Add i.MX8 support
  mmc: i.MX esdhc: Add i.MX8 support
  gpio: i.MX: Add i.MX8mq support
  ARM: i.MX: ocotp: Add i.MX8MQ support
  Kbuild: Add $(quote)
  Add builtin firmware support

 Documentation/boards/imx.rst                  |   4 +-
 Makefile                                      |   2 +-
 arch/arm/Kconfig                              |   1 +
 arch/arm/cpu/Kconfig                          |   1 +
 arch/arm/dts/imx8mq-pinfunc.h                 | 623 +++++++++++++++++
 arch/arm/dts/imx8mq.dtsi                      | 624 +++++++++++++++++
 arch/arm/include/asm/syscounter.h             |  24 +
 arch/arm/include/asm/system.h                 |  24 +
 arch/arm/mach-imx/Kconfig                     |   9 +
 arch/arm/mach-imx/Makefile                    |   2 +
 arch/arm/mach-imx/boot.c                      |   8 +-
 arch/arm/mach-imx/cpu_init.c                  |   2 +
 arch/arm/mach-imx/imx.c                       |   4 +
 arch/arm/mach-imx/imx8-ddrc.c                 | 114 ++++
 arch/arm/mach-imx/imx8mq.c                    |  85 +++
 arch/arm/mach-imx/include/mach/ccm.h          |  20 +
 arch/arm/mach-imx/include/mach/debug_ll.h     |  11 +
 arch/arm/mach-imx/include/mach/generic.h      |  15 +
 .../arm/mach-imx/include/mach/imx7-ccm-regs.h |  16 +-
 .../arm/mach-imx/include/mach/imx8-ccm-regs.h |  15 +
 arch/arm/mach-imx/include/mach/imx8-ddrc.h    |  66 ++
 arch/arm/mach-imx/include/mach/imx8mq-regs.h  | 123 ++++
 .../arm/mach-imx/include/mach/imx_cpu_types.h |   1 +
 arch/arm/mach-imx/include/mach/iomux-mx8.h    | 645 ++++++++++++++++++
 arch/arm/mach-imx/include/mach/iomux-v3.h     |   9 +
 arch/arm/mach-imx/include/mach/xload.h        |   2 +-
 arch/arm/mach-imx/xload-esdhc.c               | 121 ++--
 arch/mips/dts/include/dt-bindings             |   1 -
 common/Kconfig                                |   8 +
 common/clock.c                                |  52 --
 drivers/clk/imx/Makefile                      |   3 +
 drivers/clk/imx/clk-frac-pll.c                | 226 ++++++
 drivers/clk/imx/clk-imx8mq.c                  | 580 ++++++++++++++++
 drivers/clk/imx/clk-sccg-pll.c                | 242 +++++++
 drivers/clk/imx/clk.h                         |  27 +
 drivers/clocksource/armv8-timer.c             |  21 +-
 drivers/gpio/gpio-imx.c                       |   3 +
 drivers/mci/imx-esdhc.c                       |  54 +-
 drivers/net/fec_imx.c                         |  19 +-
 drivers/net/fec_imx.h                         |   1 +
 drivers/nvmem/Kconfig                         |   2 +-
 drivers/nvmem/ocotp.c                         |  10 +
 drivers/pinctrl/imx-iomux-v3.c                |  56 +-
 drivers/serial/serial_imx.c                   |   5 +-
 firmware/Kconfig                              |   7 +
 firmware/Makefile                             |  55 ++
 include/clock.h                               |  68 +-
 include/dt-bindings/clock/imx8mq-clock.h      | 629 +++++++++++++++++
 include/firmware.h                            |   8 +
 include/linux/iopoll.h                        |  69 ++
 include/serial/imx-uart.h                     |   5 +
 scripts/Kbuild.include                        |   1 +
 scripts/Makefile.lib                          |   1 +
 53 files changed, 4538 insertions(+), 186 deletions(-)
 create mode 100644 arch/arm/dts/imx8mq-pinfunc.h
 create mode 100644 arch/arm/dts/imx8mq.dtsi
 create mode 100644 arch/arm/include/asm/syscounter.h
 create mode 100644 arch/arm/mach-imx/imx8-ddrc.c
 create mode 100644 arch/arm/mach-imx/imx8mq.c
 create mode 100644 arch/arm/mach-imx/include/mach/ccm.h
 create mode 100644 arch/arm/mach-imx/include/mach/imx8-ccm-regs.h
 create mode 100644 arch/arm/mach-imx/include/mach/imx8-ddrc.h
 create mode 100644 arch/arm/mach-imx/include/mach/imx8mq-regs.h
 create mode 100644 arch/arm/mach-imx/include/mach/iomux-mx8.h
 delete mode 120000 arch/mips/dts/include/dt-bindings
 create mode 100644 drivers/clk/imx/clk-frac-pll.c
 create mode 100644 drivers/clk/imx/clk-imx8mq.c
 create mode 100644 drivers/clk/imx/clk-sccg-pll.c
 create mode 100644 firmware/Kconfig
 create mode 100644 firmware/Makefile
 create mode 100644 include/dt-bindings/clock/imx8mq-clock.h
 create mode 100644 include/linux/iopoll.h

-- 
2.17.0


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

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

end of thread, other threads:[~2018-06-07 12:59 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-06 18:43 [PATCH v3 00/38] ARM: i.MX8MQ and EVK support Andrey Smirnov
2018-06-06 18:43 ` [PATCH v3 01/38] ARM: i.MX: xload: Fix compiler warning Andrey Smirnov
2018-06-06 18:43 ` [PATCH v3 02/38] ARM: i.MX: compile arm32 specific errata only for CPU32 Andrey Smirnov
2018-06-06 18:43 ` [PATCH v3 03/38] ARM: Add i.MX8 support Andrey Smirnov
2018-06-06 18:43 ` [PATCH v3 04/38] aarch64: Add i.MX8 debug UART support Andrey Smirnov
2018-06-06 18:43 ` [PATCH v3 05/38] Include our own include/dt-bindings Andrey Smirnov
2018-06-06 18:43 ` [PATCH v3 06/38] mci: imx-esdhc: use dma mapping functions Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 07/38] net: fec_imx: remove unnecessary DMA sync ops Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 08/38] net: fec_imx: Use dma mapping functions Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 09/38] net: fec_imx: Make use of IS_ALIGNED Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 10/38] clock: Add i.MX8MQ clock driver Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 11/38] serial: i.MX: Add i.MX8 support Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 12/38] mmc: i.MX esdhc: " Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 13/38] gpio: i.MX: Add i.MX8mq support Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 14/38] ARM: i.MX: ocotp: Add i.MX8MQ support Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 15/38] ARM: i.MX: Split shared CCM code into a separate file Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 16/38] ARM: i.MX: Add IOMUX pad constants for i.MX8 Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 17/38] ARM: i.MX: Add basic CCM " Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 18/38] ARM: Add constants and helpers for system counter interface Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 19/38] clocksource: armv8-timer: Convert explicit assembly into helpers Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 20/38] ARM: i.MX8: Initialize system counter Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 21/38] ARM: i.MX: boot: Fix address casting on 64-bit platforms Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 22/38] ARM: boot: Add trivial i.MX8 support Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 23/38] ARM: i.MX: xload-esdhc: Rework to make code be less i.MX6-specific Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 24/38] ARM: i.MX: xload-esdhc: Allow custom buffer address, device offset Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 25/38] ARM: i.MX: xload-esdhc: Add support for i.MX8 Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 26/38] pinctrl: i.MX: " Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 27/38] Documentation: imx: Change block size for 'dd' to 1024 Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 28/38] Documentation: i.MX: Add missing <soctype> Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 29/38] clocksource: armv8-timer: Make armv8_clocksource_read() static Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 30/38] clocksource: armv8-timer: Make use of postcore_platform_driver() Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 31/38] Port <linux/iopoll.h> from U-Boot Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 32/38] common/clock: Move delay and timeout functions to clock.h Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 33/38] clock: Use udelay() to implement mdelay() Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 34/38] ARM: i.MX8: Add DDRC PHY and DDR CTL base addresses Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 35/38] Kbuild: Add $(quote) Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 36/38] Add builtin firmware support Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 37/38] ARM: i.MX8: Add DDRC PHY support code Andrey Smirnov
2018-06-06 18:44 ` [PATCH v3 38/38] ARM: Specify HAVE_PBL_IMAGE for CPU_64 Andrey Smirnov
2018-06-07 12:59 ` [PATCH v3 00/38] ARM: i.MX8MQ and EVK support Andrey Smirnov

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