From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peng Fan Date: Fri, 27 Jul 2018 07:54:36 +0000 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: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi All, I plan to send out V3 early next week. QXP BETA2 has been external released, so there will be update in README including link to scfw images. Paste the link here first: https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx-sc-firmware-0.7.bin, use mx8qx-mek-scfw-tcm.bin for b0 chip. Troy, Fabio, Stefano, I would like to still keep CONFIG_IMX8, not CONFIG_MX8. Do you have concerns? Thanks, Peng. > -----Original Message----- > From: Peng Fan > Sent: 2018年7月18日 9:36 > To: sbabic at denx.de; Fabio Estevam > Cc: u-boot at lists.denx.de; dl-linux-imx ; Peng Fan > > Subject: [PATCH V2 00/32] i.MX: Add i.MX8QXP support > > 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-p > rocessors/i.mx-applications-processors/i.mx-8-processors/i.mx-8x-family-arm-co > rtex-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/ 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 > > -- > 2.14.1