From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lokesh Vutla Date: Wed, 18 Jul 2018 13:59:16 +0530 Subject: [U-Boot] [PATCH V2 00/32] i.MX: Add i.MX8QXP support In-Reply-To: <20180718013602.26574-1-peng.fan@nxp.com> References: <20180718013602.26574-1-peng.fan@nxp.com> Message-ID: <07578774-cfd0-5024-688f-72c49c66abe1@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >