On Thu, 18 Jul 2019 09:12:02 +0200 Lukasz Majewski <lu...@denx.de> wrote:
> 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. Your patches from the github tree up to [1] seems to not touch the core clock code and extend only clk-* (gate, mux, etc.) files. They are similar to what you have posted previously on top of v4. Two remarks: - Please extract those CCF related github patches, port them on top of master with Stefano's last PR pulled and send to U-Boot mailing list (for final review and testing). - I think that you can extend the sandbox test code [2] for binded clocks [3] - for example to read a clk freq value from such clock. Also test if the logic for "hiding" them works. [1] - https://github.com/MrVan/u-boot/commit/1a9b13178be10d0c6c6834808c36877b5b2dc49f [2] - https://github.com/MrVan/u-boot/commit/a89ca577c8c26aa962664dfe1f8e9fec1dd83f65 [3] - https://github.com/MrVan/u-boot/commit/a088106f1b90b7ef6b7128c2c17671cd4d376aa9 > > > 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: lu...@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: lu...@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: > > > lu...@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: > lu...@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: lu...@denx.de
pgpyTfTQ6YvQV.pgp
Description: OpenPGP digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot