[U-Boot] [PATCH V2 00/32] i.MX: Add i.MX8QXP support

Peng Fan peng.fan at nxp.com
Wed Jul 18 12:47:22 UTC 2018



> -----Original Message-----
> From: Peter Robinson [mailto:pbrobinson at gmail.com]
> Sent: 2018年7月18日 20:44
> To: Peng Fan <peng.fan at nxp.com>
> Cc: Lokesh Vutla <lokeshvutla at ti.com>; sbabic at denx.de; Fabio Estevam
> <fabio.estevam at nxp.com>; u-boot at lists.denx.de; dl-linux-imx
> <linux-imx at nxp.com>
> Subject: Re: [U-Boot] [PATCH V2 00/32] i.MX: Add i.MX8QXP support
> 
> >> On Wednesday 18 July 2018 07:05 AM, Peng Fan wrote:
> >> > This patchset is to upstream i.MX8QXP and mek board support, with
> >> > some drivers update to support i.MX8QXP. The information about the
> >> > processor could be found
> >> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> >> > www
> >> > .nxp.com%2Fproducts%2Fprocessors-and-microcontrollers%2Fapplication
> >> > s-p
> >> > rocessors%2Fi.mx-applications-processors%2Fi.mx-8-processors%2Fi.mx
> >> > -8x
> >> > -family-arm-cortex-a35-3d-graphics-4k-video-dsp-error-correcting-co
> >> > de-
> >> >
> >>
> on-ddr%3Ai.MX8X&data=02%7C01%7Cpeng.fan%40nxp.com%7C6d7cd47
> >> a195849
> >> >
> >>
> c095ba08d5ec88ba4d%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7
> >> C636674
> >> >
> >>
> 994349559376&sdata=1W0nb9VUQkwcnpKup2GXnD5tBOLe27xF1iMBhpg
> >> vCkw%3D&
> >> > amp;reserved=0
> >> >
> >> > The architecture of i.MX8QXP is different from i.MX6/7/8M, inside
> >> > i.MX8QXP, there is a dedicated processor(SCU) used for
> >> > power/clock/pin/
> >>
> >> Out of curiosity, How is the firmware loaded to this SCU? Who is
> >> responsible for loading the firmware?
> >
> > It is ROM code loading the firmware.
> 
> Is it loading it from ROM too or a filesystem somewhere? If the later is it
> published somewhere? Is it open?

ROM will load the firmware stored on storage media. Currently no opensource available.

Regards,
Peng.

> 
> >> > pad/resource management/thermal and etc.
> >> >
> >> > V2:
> >> > In this V2 patchset, the SCFW API is replaced by uclass driver
> >> > implementation, but the api name is not changed from scfw api.
> >> > The related macro definitions are kept in different api.h file
> >> > following SCFW API file structure.
> >> >
> >> > Impelemnted scu misc driver to handle the low level communication
> >> > between Acore and SCU.
> >> > Implemented rm/pm/pad/misc protocol code to invoke misc_call for
> >> > different functionality.
> >> > The dm clk/pinctrl/power and others will invokde the protocol api
> >> > to communicate with SCU.
> >> >
> >> > The arch/arm/mach-imx/imx8/clock.c currently is only a dummy file
> >> > to avoid build break for mxc_get_clock.
> >> >
> >> > The i2c patch and common power domain patches are removed from this
> >> > patchset.
> >> >
> >> > The imx8 name still kept, this is because NXP marketing requires to
> >> > use this name for i.MX branding.
> >> >
> >> > Peng Fan (30):
> >> >   dt-bindings: pinctrl: add i.MX8QXP pads definition
> >> >   dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QXP clocks
> >> >     definition
> >> >   dt-bindings: soc: add i.MX8QXP pm and rsrc definition
> >> >   imx8: add scfw macro definition
> >> >   imx: add Kconfig entry for i.MX8QXP
> >> >   arm: build mach-imx for i.MX8
> >> >   misc: add i.MX8 misc driver
> >> >   misc: imx8: add scfw api impementation
> >> >   arm: global_data: add scu_dev for i.MX8
> >> >   imx: boot_mode: Add FLEXSPI boot entry
> >> >   imx8: add imx-regs header file
> >> >   imx8: pins: include i.MX8QXP pin header when CONFIG_IMX8QXP
> defined
> >> >   imx: add i.MX8 cpu type
> >> >   armv8: add cpu core helper functions
> >> >   imx8: add basic cpu support
> >> >   imx8: add boot device detection
> >> >   imx8: implement mmc_get_env_dev
> >> >   imx8: add mmu and dram related functiions
> >> >   imx8: add arch_cpu_init arch_cpu_init_dm
> >> >   imx8: add iomux configuration api
> >> >   imx8: add dummy clock
> >> >   gpio: mxc_gpio: add support for i.MX8
> >> >   pinctrl: Add pinctrl driver for i.MX8
> >> >   power: Add power domain driver for i.MX8
> >> >   clk: imx: add clk driver for i.MX8QXP
> >> >   serial_lpuart: Update lpuart driver to support i.MX8
> >> >   serial: lpuart: support uclass clk api
> >> >   mmc: fsl_esdhc: add uclass clk support
> >> >   arm: dts: introduce dtsi for i.MX8QXP
> >> >   imx: add i.MX8QXP MEK board support
> >> >
> >> > Ye Li (2):
> >> >   serial: lpuart: Enable RX and TX FIFO
> >> >   fsl_esdhc: Update usdhc driver to support i.MX8
> >> >
> >> >  arch/arm/Kconfig                                  |   8 +
> >> >  arch/arm/Makefile                                 |   2 +-
> >> >  arch/arm/dts/Makefile                             |   2 +
> >> >  arch/arm/dts/fsl-imx8-ca35.dtsi                   |  66 ++
> >> >  arch/arm/dts/fsl-imx8dx.dtsi                      | 444
> >> +++++++++++++
> >> >  arch/arm/dts/fsl-imx8dxp.dtsi                     |  11 +
> >> >  arch/arm/dts/fsl-imx8qxp-mek.dts                  | 136 ++++
> >> >  arch/arm/dts/fsl-imx8qxp.dtsi                     |  51 ++
> >> >  arch/arm/include/asm/arch-imx/cpu.h               |   5 +
> >> >  arch/arm/include/asm/arch-imx8/clock.h            |  27 +
> >> >  arch/arm/include/asm/arch-imx8/gpio.h             |  21 +
> >> >  arch/arm/include/asm/arch-imx8/imx-regs.h         |  46 ++
> >> >  arch/arm/include/asm/arch-imx8/imx8-pins.h        |  15 +
> >> >  arch/arm/include/asm/arch-imx8/iomux.h            |  40 ++
> >> >  arch/arm/include/asm/arch-imx8/power-domain.h     |  15 +
> >> >  arch/arm/include/asm/arch-imx8/sci/rpc.h          | 159 +++++
> >> >  arch/arm/include/asm/arch-imx8/sci/sci.h          |  86 +++
> >> >  arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h |  30 +
> >> > arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h  |  57 ++
> >> >  arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h   |  44 ++
> >> >  arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h   |  69 ++
> >> >  arch/arm/include/asm/arch-imx8/sci/types.h        | 220 +++++++
> >> >  arch/arm/include/asm/arch-imx8/sys_proto.h        |  19 +
> >> >  arch/arm/include/asm/armv8/cpu.h                  |  26 +
> >> >  arch/arm/include/asm/global_data.h                |   4 +
> >> >  arch/arm/include/asm/mach-imx/boot_mode.h         |   1 +
> >> >  arch/arm/include/asm/mach-imx/sys_proto.h         |   3 +
> >> >  arch/arm/mach-imx/Makefile                        |   1 +
> >> >  arch/arm/mach-imx/imx8/Kconfig                    |  22 +
> >> >  arch/arm/mach-imx/imx8/Makefile                   |   7 +
> >> >  arch/arm/mach-imx/imx8/clock.c                    |  21 +
> >> >  arch/arm/mach-imx/imx8/cpu.c                      | 544
> >> ++++++++++++++++
> >> >  arch/arm/mach-imx/imx8/iomux.c                    |  43 ++
> >> >  board/freescale/imx8qxp_mek/Kconfig               |  14 +
> >> >  board/freescale/imx8qxp_mek/MAINTAINERS           |   6 +
> >> >  board/freescale/imx8qxp_mek/Makefile              |   7 +
> >> >  board/freescale/imx8qxp_mek/imx8qxp_mek.c         | 152 +++++
> >> >  configs/imx8qxp_mek_defconfig                     |  37 ++
> >> >  drivers/clk/Kconfig                               |   1 +
> >> >  drivers/clk/Makefile                              |   1 +
> >> >  drivers/clk/imx/Kconfig                           |   6 +
> >> >  drivers/clk/imx/Makefile                          |   5 +
> >> >  drivers/clk/imx/clk-imx8.c                        | 212 ++++++
> >> >  drivers/gpio/mxc_gpio.c                           |  30 +-
> >> >  drivers/misc/Makefile                             |   1 +
> >> >  drivers/misc/imx8/Makefile                        |   3 +
> >> >  drivers/misc/imx8/clk.c                           |  93 +++
> >> >  drivers/misc/imx8/misc.c                          |  88 +++
> >> >  drivers/misc/imx8/pad.c                           |  39 ++
> >> >  drivers/misc/imx8/pm.c                            |  38 ++
> >> >  drivers/misc/imx8/rm.c                            |  97 +++
> >> >  drivers/misc/imx8/scu.c                           | 247 +++++++
> >> >  drivers/mmc/fsl_esdhc.c                           |  30 +-
> >> >  drivers/pinctrl/nxp/Kconfig                       |  18 +
> >> >  drivers/pinctrl/nxp/Makefile                      |   2 +
> >> >  drivers/pinctrl/nxp/pinctrl-imx.c                 | 209 +++---
> >> >  drivers/pinctrl/nxp/pinctrl-imx.h                 |  16 +
> >> >  drivers/pinctrl/nxp/pinctrl-imx8.c                |  40 ++
> >> >  drivers/pinctrl/nxp/pinctrl-scu.c                 |  66 ++
> >> >  drivers/power/domain/Kconfig                      |   6 +
> >> >  drivers/power/domain/Makefile                     |   1 +
> >> >  drivers/power/domain/imx8-power-domain.c          | 312
> +++++++++
> >> >  drivers/serial/serial_lpuart.c                    | 126 +++-
> >> >  include/configs/imx8qxp_mek.h                     | 157 +++++
> >> >  include/dt-bindings/clock/imx8qxp-clock.h         | 583
> >> +++++++++++++++++
> >> >  include/dt-bindings/pinctrl/pads-imx8qxp.h        | 757
> >> ++++++++++++++++++++++
> >> >  include/dt-bindings/soc/imx8_pd.h                 | 188 ++++++
> >> >  include/dt-bindings/soc/imx_rsrc.h                | 557
> >> ++++++++++++++++
> >> >  include/fsl_lpuart.h                              |   2 +-
> >> >  69 files changed, 6251 insertions(+), 141 deletions(-)  create
> >> > mode
> >> > 100644 arch/arm/dts/fsl-imx8-ca35.dtsi  create mode 100644
> >> > arch/arm/dts/fsl-imx8dx.dtsi  create mode 100644
> >> > arch/arm/dts/fsl-imx8dxp.dtsi  create mode 100644
> >> > arch/arm/dts/fsl-imx8qxp-mek.dts  create mode 100644
> >> > arch/arm/dts/fsl-imx8qxp.dtsi  create mode 100644
> >> > arch/arm/include/asm/arch-imx8/clock.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/gpio.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/imx-regs.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/imx8-pins.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/iomux.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/power-domain.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/sci/rpc.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/sci/sci.h
> >> >  create mode 100644
> >> > arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h
> >> >  create mode 100644
> >> > arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/sci/types.h
> >> >  create mode 100644 arch/arm/include/asm/arch-imx8/sys_proto.h
> >> >  create mode 100644 arch/arm/include/asm/armv8/cpu.h  create mode
> >> > 100644 arch/arm/mach-imx/imx8/Kconfig  create mode 100644
> >> > arch/arm/mach-imx/imx8/Makefile  create mode 100644
> >> > arch/arm/mach-imx/imx8/clock.c  create mode 100644
> >> > arch/arm/mach-imx/imx8/cpu.c  create mode 100644
> >> > arch/arm/mach-imx/imx8/iomux.c  create mode 100644
> >> > board/freescale/imx8qxp_mek/Kconfig
> >> >  create mode 100644 board/freescale/imx8qxp_mek/MAINTAINERS
> >> >  create mode 100644 board/freescale/imx8qxp_mek/Makefile
> >> >  create mode 100644 board/freescale/imx8qxp_mek/imx8qxp_mek.c
> >> >  create mode 100644 configs/imx8qxp_mek_defconfig  create mode
> >> 100644
> >> > drivers/clk/imx/Kconfig  create mode 100644
> >> > drivers/clk/imx/Makefile create mode 100644
> >> > drivers/clk/imx/clk-imx8.c  create mode 100644
> >> > drivers/misc/imx8/Makefile  create mode 100644
> >> > drivers/misc/imx8/clk.c create mode 100644 drivers/misc/imx8/misc.c
> >> > create mode 100644 drivers/misc/imx8/pad.c  create mode 100644
> >> > drivers/misc/imx8/pm.c create mode 100644 drivers/misc/imx8/rm.c
> >> > create mode 100644 drivers/misc/imx8/scu.c  create mode 100644
> >> > drivers/pinctrl/nxp/pinctrl-imx8.c
> >> >  create mode 100644 drivers/pinctrl/nxp/pinctrl-scu.c  create mode
> >> > 100644 drivers/power/domain/imx8-power-domain.c
> >> >  create mode 100644 include/configs/imx8qxp_mek.h  create mode
> >> 100644
> >> > include/dt-bindings/clock/imx8qxp-clock.h
> >> >  create mode 100644 include/dt-bindings/pinctrl/pads-imx8qxp.h
> >> >  create mode 100644 include/dt-bindings/soc/imx8_pd.h  create mode
> >> > 100644 include/dt-bindings/soc/imx_rsrc.h
> >> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flis
> >
> ts.denx.de%2Flistinfo%2Fu-boot&data=02%7C01%7Cpeng.fan%40nxp.com
> %7
> >
> C9f2bedfae42947a6bfa608d5ecac2095%7C686ea1d3bc2b4c6fa92cd99c5c3016
> 35%7
> >
> C0%7C0%7C636675146382493628&sdata=CQpRxWwd%2FeaQ8BN5%2Fb
> WggNKmJxS4
> > rqWphmVDSW4btW0%3D&reserved=0


More information about the U-Boot mailing list