[U-Boot] [PATCH 00/52] Support i.MX8MM/N

Lukasz Majewski lukma at denx.de
Thu Jul 18 07:12:02 UTC 2019


Hi Peng,

> Hi Lukasz, Stefano,
> 
> > > >  
> > > > > > Subject: Re: [U-Boot] [PATCH 00/52] Support i.MX8MM/N  
> [....]
> > > >
> > > > The v5 of CCF has been posted ~2 weeks ago (with you on CC)
> > > > with a high chance to be pulled by Stefano after the merge
> > > > window opens.
> > > >
> > > > When we accept the "legacy" clock approach we will stuck with
> > > > it for a long time.
> > > >
> > > > What approach is took by the Linux kernel? CCF or any other
> > > > one?  
> > >
> > > I am not against CCF. I tried CCF and enabled on i.MX8MM in my
> > > last patchset. But I have to add lots of code based on your
> > > version, that introduces complexity for now.  
> > 
> > You will have to add this complexity anyway after people start
> > demanding new clocks for IPs which they need to enable.
> > 
> > Moreover, the CCF v5 was posted 2 weeks ago - wasn't it enough time
> > for applying your patches from v4?  
> 
> I have converted back to CCF for i.MX8MM/N. Pushed code
> to https://github.com/MrVan/u-boot/commits/imx8mmn-ccf
> 
> Since there are 65 patches in my patchset, I not post to maillist.
> 
> Please see whether you have some general comments or not.

I will try to provide some comments today. Thanks for the conversion.

> Then I'll post out to mail list. Hope it could catch this release
> cycle.

Let's be optimistic.

> 
> Thanks,
> Peng.
> 
> >   
> > >  
> > > >  
> > > > > We might try to switch to CCF again in future,  
> > > >
> > > > I'm a bit skeptical about such statements. It never works like
> > > > that
> > > > - after it is accepted it would become a "legacy code which we
> > > > do need to preserve".  
> > > > > but we hope
> > > > > i.MX8MM/N support could land in upstream soon. It has been
> > > > > pending for months.  
> > > >
> > > > Was the CCF the reason for the i.MX8 not being pulled for so
> > > > long?  
> > >
> > > I am not saying so.
> > >
> > > The first version to support i.MX8MM is in 2019-01-28. Then I
> > > switch to CCF and posted out new version in 2019-4-30.  
> > 
> > Maybe the version posted in 2019-01-28 was just not ready for being
> > pulled?
> > 
> > It happens that the community wants to avoid problems encountered
> > earlier with other SoCs (like i.MX6, i.MX7), so the discussion
> > takes time.
> > 
> > (The similar situation is with other projects too - how many
> > release cycles it takes to add new SoC in Linux? Or new port to
> > glibc?). 
> > > we have many 3rd parties want to use mainline U-Boot, not our
> > > vendor tree.  
> > 
> > There must be a reason that they want the U-Boot mainline. IMHO the
> > main reason for it is that people not only from a single company
> > want to add the code, so they need to discuss (and get the
> > agreement) to avoid stepping in each other's toes.
> > 
> > And the discussion/tests takes time ...
> >   
> > > I hope
> > > i.MX8MM/N could land in the coming merge window,  
> > 
> > This depends solely on the code quality I think.
> >   
> > > introducing more to CCF add risk.  
> > 
> > Risk for not being accepted?
> > 
> > I do see however other risk - the i.MX8 will gain one-off clock
> > support code instead of adopting the CCF just from the outset.
> > 
> >   
> > >
> > > Thanks,
> > > Peng.
> > >  
> > > >  
> > > > >
> > > > > Regards,
> > > > > Peng.
> > > > >  
> > > > > >  
> > > > > > >
> > > > > > > Bai Ping (1):
> > > > > > >   imx8mq: Update the ddrc QoS setting for B1 chip
> > > > > > >
> > > > > > > Jacky Bai (2):
> > > > > > >   driver: ddr: Refine the ddr init driver on imx8m
> > > > > > >   ddr: imx8m: Fix the ddr init hang on imx8mq
> > > > > > >
> > > > > > > Peng Fan (47):
> > > > > > >   linux: compat: guard PAGE_SIZE
> > > > > > >   dm: clk: ignore default settings when node not valid
> > > > > > >   pinctrl: imx: use devfdt_get_addr_size_index
> > > > > > >   i2c: mxc: add CONFIG_CLK support
> > > > > > >   tools: imx8m_image: align spl bin image size
> > > > > > >   ddr: imx8m: fix ddr firmware location when enable SPL OF
> > > > > > >   tools: imx8mimage: fix HDMI/FIT parsing
> > > > > > >   imx8m: add image cfg for i.MX8MM lpddr4
> > > > > > >   imx: add IMX8MQ kconfig entry
> > > > > > >   imx: add IMX8MM kconfig entry
> > > > > > >   imx: imx8mm: add clock bindings header
> > > > > > >   imx: add i.MX8MM cpu type
> > > > > > >   imx: spl: add spl_board_boot_device for i.MX8MM
> > > > > > >   imx8m: update imx-regs for i.MX8MM
> > > > > > >   imx: add get_cpu_rev support for i.MX8MM
> > > > > > >   imx8m: rename clock to clock_imx8mq
> > > > > > >   imx8m: restructure clock.h
> > > > > > >   imx8m: add clk support for i.MX8MM
> > > > > > >   imx8m: soc: probe clk before relocation
> > > > > > >   imx8m: add pin header for i.MX8MM
> > > > > > >   imx: add i.MX8MM PE property
> > > > > > >   imx8m: Fix MMU table issue for OPTEE memory
> > > > > > >   imx8m: set BYPASS ID SWAP to avoid AXI bus errors
> > > > > > >   imx8m: soc: enable SCTR clock before timer init
> > > > > > >   serial: Kconfig: make MXC_UART usable for MX7 and IMX8M
> > > > > > >   clk: imx: add Kconfig entry for i.MX8MM
> > > > > > >   clk: imx: add i.MX8MM clk driver
> > > > > > >   imx: add i.MX8MM EVK board support
> > > > > > >   imx: add i.MX8MN kconfig entry
> > > > > > >   imx8mn: support get_cpu_rev
> > > > > > >   imx8m: add clk support for i.MX8MN
> > > > > > >   imx8mn: set BYPASS ID SWAP to avoid AXI bus errors
> > > > > > >   imx: add i.MX8MN PE property
> > > > > > >   imx8mn: add pin header
> > > > > > >   imx: spl: use spl_board_boot_device for i.MX8MN
> > > > > > >   spl: pass args to board_return_to_bootrom
> > > > > > >   imx: add rom api support
> > > > > > >   imx: cpu: restrict get_boot_device
> > > > > > >   imx8mn: add get_boot_device
> > > > > > >   power: pmic: add SPL_DM_PMIC
> > > > > > >   tools: imx8mimage: add ROM VERSION
> > > > > > >   pinctrl: imx8m: support i.MX8MN
> > > > > > >   tools: imx8m_image: support ddr4 firmware
> > > > > > >   clk: imx: add i.MX8MN clk support
> > > > > > >   imx8m: add i.MX8MN ddr4 image cfg file
> > > > > > >   imx: add dtsi for i.MX8MN
> > > > > > >   imx: add i.MX8MN DDR4 board support
> > > > > > >
> > > > > > > Ye Li (2):
> > > > > > >   imx8m: Configure trustzone region 0 for non-secure
> > > > > > > access ddr: imx8m: Fix ddr4 driver build issue
> > > > > > >
> > > > > > >  arch/arm/dts/Makefile                              |  
> > 4  
> > > > +-  
> > > > > > >  arch/arm/dts/imx8mm-evk-u-boot.dtsi                |
> > > > > > > 92  
> > +  
> > > > > > >  arch/arm/dts/imx8mm-evk.dts                        |  
> > 235  
> > > > +++  
> > > > > > >  arch/arm/dts/imx8mm-pinfunc.h                      |  
> > 629  
> > > > > > +++++++  
> > > > > > >  arch/arm/dts/imx8mm.dtsi                           |  
> > 733  
> > > > > > ++++++++  
> > > > > > >  arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi           |
> > > > > > > 92 + arch/arm/dts/imx8mn-ddr4-evk.dts
> > > > > > > |  
> > 221  
> > > > +++  
> > > > > > >  arch/arm/dts/imx8mn-pinfunc.h                      |  
> > 646  
> > > > > > +++++++  
> > > > > > >  arch/arm/dts/imx8mn.dtsi                           |  
> > 712  
> > > > > > +++++++  
> > > > > > >  arch/arm/include/asm/arch-imx/cpu.h                |
> > > > > > > 7  
> > +  
> > > > > > >  arch/arm/include/asm/arch-imx8m/clock.h            |
> > > > > > > 494  
> > > > +----  
> > > > > > >  arch/arm/include/asm/arch-imx8m/clock_imx8mm.h     |  
> > 465  
> > > > > > +++++  
> > > > > > >  arch/arm/include/asm/arch-imx8m/clock_imx8mq.h     |
> > > > > > > 424  
> > > > +++++  
> > > > > > >  arch/arm/include/asm/arch-imx8m/imx-regs.h         |
> > > > > > > 75  
> > +-  
> > > > > > >  arch/arm/include/asm/arch-imx8m/imx8mm_pins.h      |  
> > 691  
> > > > > > +++++++  
> > > > > > >  arch/arm/include/asm/arch-imx8m/imx8mn_pins.h      |
> > > > > > > 763  
> > > > > > ++++++++  
> > > > > > >  arch/arm/include/asm/mach-imx/iomux-v3.h           |  
> > 4 +  
> > > > > > >  arch/arm/include/asm/mach-imx/mxc_i2c.h            |  
> > 2 +  
> > > > > > >  arch/arm/include/asm/mach-imx/sys_proto.h          |
> > > > > > > 42  
> > +  
> > > > > > >  arch/arm/mach-imx/Kconfig                          |  
> > 4 +  
> > > > > > >  arch/arm/mach-imx/Makefile                         |  
> > 2 +  
> > > > > > >  arch/arm/mach-imx/cpu.c                            |  
> > 16  
> > > > +-  
> > > > > > >  arch/arm/mach-imx/imx8m/Kconfig                    |  
> > 28  
> > > > +-  
> > > > > > >  arch/arm/mach-imx/imx8m/Makefile                   |  
> > 4  
> > > > +-  
> > > > > > >  arch/arm/mach-imx/imx8m/clock_imx8mm.c             |  
> > 707  
> > > > > > +++++++  
> > > > > > >  .../arm/mach-imx/imx8m/{clock.c => clock_imx8mq.c} |
> > > > > > > 7 +- arch/arm/mach-imx/imx8m/clock_slice.c
> > > > > > > |  815  
> > > > > > ++++++++  
> > > > > > >  arch/arm/mach-imx/imx8m/imximage-8mm-lpddr4.cfg    |  
> > 16 +  
> > > > > > >  arch/arm/mach-imx/imx8m/imximage-8mn-ddr4.cfg      |  
> > 17 +  
> > > > > > >  arch/arm/mach-imx/imx8m/soc.c                      |  
> > 162  
> > > > +-  
> > > > > > >  arch/arm/mach-imx/spl.c                            |  
> > 8 +  
> > > > > > >  arch/arm/mach-imx/spl_imx_romapi.c                 |  
> > 292  
> > > > +++  
> > > > > > >  arch/arm/mach-rockchip/rk3288-board-tpl.c          |
> > > > > > > 5  
> > +-  
> > > > > > >  arch/arm/mach-rockchip/rk3368-board-tpl.c          |
> > > > > > > 5  
> > +-  
> > > > > > >  arch/arm/mach-rockchip/rk3399-board-spl.c          |
> > > > > > > 5  
> > +-  
> > > > > > >  arch/arm/mach-rockchip/rk3399-board-tpl.c          |
> > > > > > > 5  
> > +-  
> > > > > > >  board/freescale/imx8mm_evk/Kconfig                 |
> > > > > > > 12  
> > +  
> > > > > > >  board/freescale/imx8mm_evk/MAINTAINERS             |  
> > 6  
> > > > +  
> > > > > > >  board/freescale/imx8mm_evk/Makefile                |  
> > 12 +  
> > > > > > >  board/freescale/imx8mm_evk/imx8mm_evk.c            |  
> > 90  
> > > > +  
> > > > > > >  board/freescale/imx8mm_evk/lpddr4_timing.c         | 1980
> > > > > > > ++++++++++++++++++++
> > > > > > > board/freescale/imx8mm_evk/spl.c                   |
> > > > > > > 216  
> > +++  
> > > > > > > board/freescale/imx8mn_evk/Kconfig                 |   14
> > > > > > > + board/freescale/imx8mn_evk/MAINTAINERS             |
> > > > > > > 6  
> > +  
> > > > > > > board/freescale/imx8mn_evk/Makefile                |   12
> > > > > > > + board/freescale/imx8mn_evk/ddr4_timing.c           |
> > > > > > > 1214 ++++++++++++
> > > > > > > board/freescale/imx8mn_evk/imx8mn_evk.c  
> > > > > > |  
> > > > > > > 85 + board/freescale/imx8mn_evk/spl.c                   |
> > > > > > > 91  
> > > > +  
> > > > > > > board/freescale/imx8mq_evk/lpddr4_timing.c         |   16
> > > > > > > +- common/spl/spl_bootrom.c
> > > > > > > |    7  
> > +-  
> > > > > > > configs/imx8mm_evk_defconfig                       |
> > > > > > > 51  
> > +  
> > > > > > > configs/imx8mn_ddr4_evk_defconfig                  |   55
> > > > > > > + drivers/clk/clk-uclass.c                           |
> > > > > > > 3 + drivers/clk/imx/Kconfig
> > > > > > > |   14 +
> > > > > > > drivers/clk/imx/Makefile                           |    1
> > > > > > > + drivers/clk/imx/clk-imx8mm.c                       |
> > > > > > > 121  
> > ++  
> > > > > > > drivers/ddr/imx/imx8m/Kconfig                      |    6
> > > > > > > + drivers/ddr/imx/imx8m/Makefile                     |
> > > > > > > 4  
> > +-  
> > > > > > > drivers/ddr/imx/imx8m/ddr4_init.c                  |  113
> > > > > > > -- drivers/ddr/imx/imx8m/ddr_init.c                   |
> > > > > > > 168 ++ drivers/ddr/imx/imx8m/ddrphy_utils.c
> > > > > > > |    4 +
> > > > > > > drivers/ddr/imx/imx8m/helper.c                     |   22
> > > > > > > +- drivers/ddr/imx/imx8m/lpddr4_init.c                |
> > > > > > > 188 -- drivers/i2c/mxc_i2c.c
> > > > > > > |   24  
> > +-  
> > > > > > > drivers/pinctrl/nxp/pinctrl-imx.c                  |    4
> > > > > > > +- drivers/pinctrl/nxp/pinctrl-imx8m.c
> > > > > > > |    1 +
> > > > > > > drivers/power/pmic/Kconfig                         |   12
> > > > > > > + drivers/power/pmic/Makefile                        |
> > > > > > > 2  
> > +-  
> > > > > > > drivers/serial/Kconfig                             |    2
> > > > > > > +- include/configs/imx8mm_evk.h                       |
> > > > > > > 200  
> > ++  
> > > > > > > include/configs/imx8mn_evk.h                       |
> > > > > > > 198  
> > ++  
> > > > > > > include/dt-bindings/clock/imx8mm-clock.h           |  244
> > > > > > > +++ include/dt-bindings/clock/imx8mn-clock.h           |
> > > > > > > 215 +++
> > > > > > > include/imximage.h                                 |
> > > > > > > 1  
> > +  
> > > > > > > include/linux/compat.h                             |    2
> > > > > > > + include/power/pmic.h                               |
> > > > > > > 2  
> > +-  
> > > > > > > include/spl.h                                      |
> > > > > > > 3  
> > +-  
> > > > > > > tools/imx8m_image.sh                               |  
> > 15 +-  
> > > > > > > tools/imx8mimage.c                                 |  
> > 31 +-  
> > > > 79  
> > > > > > files  
> > > > > > > changed, 13082 insertions(+), 814 deletions(-) create mode
> > > > > > > 100644 arch/arm/dts/imx8mm-evk-u-boot.dtsi create mode
> > > > > > > 100644 arch/arm/dts/imx8mm-evk.dts create mode 100644
> > > > > > > arch/arm/dts/imx8mm-pinfunc.h create mode 100644
> > > > > > > arch/arm/dts/imx8mm.dtsi create mode 100644
> > > > > > > arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi create mode
> > > > > > > 100644 arch/arm/dts/imx8mn-ddr4-evk.dts create mode 100644
> > > > > > > arch/arm/dts/imx8mn-pinfunc.h create mode 100644
> > > > > > > arch/arm/dts/imx8mn.dtsi create mode 100644
> > > > > > > arch/arm/include/asm/arch-imx8m/clock_imx8mm.h create
> > > > > > > mode  
> > > > 100644  
> > > > > > > arch/arm/include/asm/arch-imx8m/clock_imx8mq.h create
> > > > > > > mode  
> > > > 100644  
> > > > > > > arch/arm/include/asm/arch-imx8m/imx8mm_pins.h create
> > > > > > > mode  
> > > > 100644  
> > > > > > > arch/arm/include/asm/arch-imx8m/imx8mn_pins.h create
> > > > > > > mode  
> > > > 100644  
> > > > > > > arch/arm/mach-imx/imx8m/clock_imx8mm.c rename
> > > > > > > arch/arm/mach-imx/imx8m/{clock.c => clock_imx8mq.c} (99%)
> > > > > > > create  
> > > > > > mode  
> > > > > > > 100644 arch/arm/mach-imx/imx8m/imximage-8mm-lpddr4.cfg
> > > > > > > create  
> > > > > > mode  
> > > > > > > 100644 arch/arm/mach-imx/imx8m/imximage-8mn-ddr4.cfg
> > > > > > > create  
> > > > mode  
> > > > > > > 100644 arch/arm/mach-imx/spl_imx_romapi.c create mode
> > > > > > > 100644 board/freescale/imx8mm_evk/Kconfig create mode
> > > > > > > 100644 board/freescale/imx8mm_evk/MAINTAINERS create mode
> > > > > > > 100644 board/freescale/imx8mm_evk/Makefile create mode
> > > > > > > 100644 board/freescale/imx8mm_evk/imx8mm_evk.c create
> > > > > > > mode 100644 board/freescale/imx8mm_evk/lpddr4_timing.c
> > > > > > > create mode 100644 board/freescale/imx8mm_evk/spl.c
> > > > > > > create mode 100644 board/freescale/imx8mn_evk/Kconfig
> > > > > > > create mode 100644 board/freescale/imx8mn_evk/MAINTAINERS
> > > > > > > create mode 100644 board/freescale/imx8mn_evk/Makefile
> > > > > > > create mode 100644
> > > > > > > board/freescale/imx8mn_evk/ddr4_timing.c create mode
> > > > > > > 100644 board/freescale/imx8mn_evk/imx8mn_evk.c create
> > > > > > > mode 100644 board/freescale/imx8mn_evk/spl.c create mode
> > > > > > > 100644 configs/imx8mm_evk_defconfig create mode 100644
> > > > > > > configs/imx8mn_ddr4_evk_defconfig create mode 100644
> > > > > > > drivers/clk/imx/clk-imx8mm.c delete mode 100644
> > > > > > > drivers/ddr/imx/imx8m/ddr4_init.c create mode 100644
> > > > > > > drivers/ddr/imx/imx8m/ddr_init.c delete mode 100644
> > > > > > > drivers/ddr/imx/imx8m/lpddr4_init.c create mode 100644
> > > > > > > include/configs/imx8mm_evk.h create mode 100644
> > > > > > > include/configs/imx8mn_evk.h create mode 100644
> > > > > > > include/dt-bindings/clock/imx8mm-clock.h create mode
> > > > > > > 100644 include/dt-bindings/clock/imx8mn-clock.h 
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Best regards,
> > > > > >
> > > > > > Lukasz Majewski
> > > > > >
> > > > > > --
> > > > > >
> > > > > > DENX Software Engineering GmbH,      Managing Director:  
> > Wolfgang  
> > > > > > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194
> > > > > > Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax:
> > > > > > (+49)-8142-66989-80 Email: lukma at denx.de  
> > > >
> > > >
> > > >
> > > >
> > > > Best regards,
> > > >
> > > > Lukasz Majewski
> > > >
> > > > --
> > > >
> > > > DENX Software Engineering GmbH,      Managing Director: Wolfgang
> > > > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194
> > > > Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax:
> > > > (+49)-8142-66989-80 Email: lukma at denx.de  
> > 
> > 
> > 
> > 
> > Best regards,
> > 
> > Lukasz Majewski
> > 
> > --
> > 
> > DENX Software Engineering GmbH,      Managing Director: Wolfgang
> > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell,
> > Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> > lukma at denx.de  




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190718/641b56af/attachment.sig>


More information about the U-Boot mailing list