[U-Boot] [PATCH V2 00/32] i.MX: Add i.MX8QXP support
Lokesh Vutla
lokeshvutla at ti.com
Wed Jul 18 08:29:16 UTC 2018
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://www.nxp.com/products/processors-and-microcontrollers/applications-processors/i.mx-applications-processors/i.mx-8-processors/i.mx-8x-family-arm-cortex-a35-3d-graphics-4k-video-dsp-error-correcting-code-on-ddr:i.MX8X
>
> 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?
Thanks and regards,
Lokesh
> 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
>
More information about the U-Boot
mailing list