mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Andrey Smirnov <andrew.smirnov@gmail.com>
To: barebox@lists.infradead.org
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
Subject: [PATCH v2 00/48] ARM: i.MX8MQ and EVK support
Date: Sat, 26 May 2018 13:44:03 -0700	[thread overview]
Message-ID: <20180526204451.16530-1-andrew.smirnov@gmail.com> (raw)

Everyone:

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

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.

  - Barebox-to-generated code (above) "adapter" header file is
    exptected to be board specific to be able to handle changes to
    what new versions of i.MX8M DDR Tool produces

  - Currently it is assumed that DDR PHY fimware is board specific too
    and is expected to be placed into board folder as a pre-requisite
    (can't be distributed with Barebox due to a restrictive EULA)

Feedback is wellcome!

Thanks,
Andrey Smirnov

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

Andrey Smirnov (34):
  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
  scripts/imx: Add trivial i.MX8 support
  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
  ARM: lib64: Make string functions aware of MMU configuration
  ARM: mmu: Make use of dsb() and isb() helpers
  ARM: cache: Remove unused cache ops struct
  ARM: no-mmu: Disable building for ARMv8
  ARM: interrupts64: Include ESR value in exception traceback
  ARM: mmu64: Trivial code simplification
  ARM: mmu64: Make use of create_table()
  ARM: mmu64: Convert flags in arch_remap_range()
  ARM: include: dma: Add missing no-MMU stubs
  ARM: Introduce imx_v8_defconfig

Sascha Hauer (14):
  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
  ARM: i.MX8: Add i.MX8mq EVK support

 Documentation/boards/imx.rst                  |   12 +-
 Documentation/boards/imx/nxp-imx8mq-evk.rst   |  124 ++
 arch/arm/Kconfig                              |    7 +
 arch/arm/boards/Makefile                      |    1 +
 arch/arm/boards/nxp-imx8mq-evk/.gitignore     |    1 +
 arch/arm/boards/nxp-imx8mq-evk/Makefile       |   10 +
 arch/arm/boards/nxp-imx8mq-evk/board.c        |   44 +
 arch/arm/boards/nxp-imx8mq-evk/ddr.h          |  559 +++++++++
 arch/arm/boards/nxp-imx8mq-evk/ddr_init.c     |  223 ++++
 arch/arm/boards/nxp-imx8mq-evk/ddrphy_train.c | 1026 +++++++++++++++++
 .../flash-header-imx8mq-evk.imxcfg            |    4 +
 arch/arm/boards/nxp-imx8mq-evk/lowlevel.c     |   81 ++
 arch/arm/configs/imx_v8_defconfig             |   95 ++
 arch/arm/cpu/Kconfig                          |    1 +
 arch/arm/cpu/Makefile                         |    2 +-
 arch/arm/cpu/cache.c                          |    1 -
 arch/arm/cpu/interrupts_64.c                  |    3 +-
 arch/arm/cpu/mmu_64.c                         |   25 +-
 arch/arm/cpu/mmu_64.h                         |    4 +-
 arch/arm/dts/Makefile                         |    1 +
 arch/arm/dts/imx8mq-evk.dts                   |  444 +++++++
 arch/arm/dts/imx8mq-pinfunc.h                 |  623 ++++++++++
 arch/arm/dts/imx8mq.dtsi                      |  624 ++++++++++
 arch/arm/include/asm/dma.h                    |   11 +
 arch/arm/include/asm/syscounter.h             |   24 +
 arch/arm/include/asm/system.h                 |   24 +
 arch/arm/lib64/Makefile                       |    2 +-
 arch/arm/lib64/memcpy.S                       |    6 +-
 arch/arm/lib64/memset.S                       |    4 +-
 arch/arm/lib64/string.c                       |   22 +
 arch/arm/mach-imx/Kconfig                     |   15 +-
 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    |   35 +
 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/ocotp.c                     |   10 +
 arch/arm/mach-imx/xload-esdhc.c               |  124 +-
 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/pinctrl/imx-iomux-v3.c                |   56 +-
 drivers/serial/serial_imx.c                   |    5 +-
 images/Makefile.imx                           |    7 +
 include/clock.h                               |   68 +-
 include/dt-bindings/clock/imx8mq-clock.h      |  629 ++++++++++
 include/linux/iopoll.h                        |   69 ++
 include/serial/imx-uart.h                     |    5 +
 include/string.h                              |    3 +
 lib/string.c                                  |   18 +-
 scripts/Makefile.lib                          |   23 +
 scripts/imx/imx.c                             |    1 +
 74 files changed, 7172 insertions(+), 213 deletions(-)
 create mode 100644 Documentation/boards/imx/nxp-imx8mq-evk.rst
 create mode 100644 arch/arm/boards/nxp-imx8mq-evk/.gitignore
 create mode 100644 arch/arm/boards/nxp-imx8mq-evk/Makefile
 create mode 100644 arch/arm/boards/nxp-imx8mq-evk/board.c
 create mode 100644 arch/arm/boards/nxp-imx8mq-evk/ddr.h
 create mode 100644 arch/arm/boards/nxp-imx8mq-evk/ddr_init.c
 create mode 100644 arch/arm/boards/nxp-imx8mq-evk/ddrphy_train.c
 create mode 100644 arch/arm/boards/nxp-imx8mq-evk/flash-header-imx8mq-evk.imxcfg
 create mode 100644 arch/arm/boards/nxp-imx8mq-evk/lowlevel.c
 create mode 100644 arch/arm/configs/imx_v8_defconfig
 create mode 100644 arch/arm/dts/imx8mq-evk.dts
 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/lib64/string.c
 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 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

             reply	other threads:[~2018-05-26 20:45 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-26 20:44 Andrey Smirnov [this message]
2018-05-26 20:44 ` [PATCH v2 01/48] ARM: i.MX: xload: Fix compiler warning Andrey Smirnov
2018-05-27  7:28   ` Sam Ravnborg
2018-05-28  1:03     ` Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 02/48] ARM: i.MX: compile arm32 specific errata only for CPU32 Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 03/48] ARM: Add i.MX8 support Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 04/48] aarch64: Add i.MX8 debug UART support Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 05/48] Include our own include/dt-bindings Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 06/48] mci: imx-esdhc: use dma mapping functions Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 07/48] net: fec_imx: remove unnecessary DMA sync ops Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 08/48] net: fec_imx: Use dma mapping functions Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 09/48] net: fec_imx: Make use of IS_ALIGNED Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 10/48] clock: Add i.MX8MQ clock driver Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 11/48] serial: i.MX: Add i.MX8 support Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 12/48] mmc: i.MX esdhc: " Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 13/48] gpio: i.MX: Add i.MX8mq support Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 14/48] ARM: i.MX: ocotp: Add i.MX8MQ support Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 15/48] ARM: i.MX: Split shared CCM code into a separate file Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 16/48] ARM: i.MX: Add IOMUX pad constants for i.MX8 Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 17/48] scripts/imx: Add trivial i.MX8 support Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 18/48] ARM: i.MX: Add basic CCM constants for i.MX8 Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 19/48] ARM: Add constants and helpers for system counter interface Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 20/48] clocksource: armv8-timer: Convert explicit assembly into helpers Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 21/48] ARM: i.MX8: Initialize system counter Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 22/48] ARM: i.MX: boot: Fix address casting on 64-bit platforms Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 23/48] ARM: boot: Add trivial i.MX8 support Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 24/48] ARM: i.MX: xload-esdhc: Rework to make code be less i.MX6-specific Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 25/48] ARM: i.MX: xload-esdhc: Allow custom buffer address, device offset Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 26/48] ARM: i.MX: xload-esdhc: Add support for i.MX8 Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 27/48] pinctrl: i.MX: " Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 28/48] Documentation: imx: Change block size for 'dd' to 1024 Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 29/48] Documentation: i.MX: Add missing <soctype> Andrey Smirnov
2018-05-28 15:23   ` Sascha Hauer
2018-05-28 18:02     ` Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 30/48] clocksource: armv8-timer: Make armv8_clocksource_read() static Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 31/48] clocksource: armv8-timer: Make use of postcore_platform_driver() Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 32/48] Port <linux/iopoll.h> from U-Boot Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 33/48] common/clock: Move delay and timeout functions to clock.h Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 34/48] clock: Use udelay() to implement mdelay() Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 35/48] ARM: i.MX8: Add DDRC PHY and DDR CTL base addresses Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 36/48] ARM: i.MX8: Add DDRC PHY support code Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 37/48] ARM: Specify HAVE_PBL_IMAGE for CPU_64 Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 38/48] ARM: lib64: Make string functions aware of MMU configuration Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 39/48] ARM: mmu: Make use of dsb() and isb() helpers Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 40/48] ARM: cache: Remove unused cache ops struct Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 41/48] ARM: no-mmu: Disable building for ARMv8 Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 42/48] ARM: interrupts64: Include ESR value in exception traceback Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 43/48] ARM: mmu64: Trivial code simplification Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 44/48] ARM: mmu64: Make use of create_table() Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 45/48] ARM: mmu64: Convert flags in arch_remap_range() Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 46/48] ARM: include: dma: Add missing no-MMU stubs Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 47/48] ARM: i.MX8: Add i.MX8mq EVK support Andrey Smirnov
2018-05-28 15:51   ` Sascha Hauer
2018-05-28 18:04     ` Andrey Smirnov
2018-05-28 16:04   ` Sascha Hauer
2018-05-28 18:07     ` Andrey Smirnov
2018-05-26 20:44 ` [PATCH v2 48/48] ARM: Introduce imx_v8_defconfig Andrey Smirnov

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=20180526204451.16530-1-andrew.smirnov@gmail.com \
    --to=andrew.smirnov@gmail.com \
    --cc=barebox@lists.infradead.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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox