[U-Boot] [i.MX8MM+CCF 00/41] i.MX8MM + CCF
Lukasz Majewski
lukma at denx.de
Mon May 6 09:55:02 UTC 2019
On Mon, 6 May 2019 09:08:46 +0000
Peng Fan <peng.fan at nxp.com> wrote:
> Hi Frieder,
>
> > Subject: Re: [U-Boot] [i.MX8MM+CCF 00/41] i.MX8MM + CCF
> >
> > On 06.05.19 09:57, Frieder Schrempf wrote:
> > > Hi Peng,
> > >
> > > I'm trying to add support for a board with i.MX8MM. First I
> > > applied Lukasz's CCF patches and your patches to U-Boot 2019.04
> > > and tried to build imx8mm_evk config. But I'm getting build
> > > errors (see below).
>
> Thanks for trying. There was no build error, might be some new change,
> I'll fix that in new version patchset.
>
> >
> > The build works if I enable the OTP fuse driver and disable I2C
> > support. In clock_imx8mm.c enable_i2c_clk() seems to be missing, or
> > maybe the i2c driver needs to use the new clock framework now?
>
> I have the i2c mxc driver adapted to this new framework, clock is ok,
> but i2c probe not work as expected, I am still trying to find out
> what's wrong.
>
> >
> > >
> > > Are there any other patches needed?
> > > What things are still missing to get i.MX8MM running in U-Boot?
> >
> > It seems like this still needs a bit of work. I also see some
> > CONFIG options defined in the headers, that should be moved to
> > defconfig.
>
> I'll clean up those in new version. Since this patchset depends on
> Lukasz's CCF, so I expect Lukasz's new version patchset, then I'll
> post new version.
>
> Lukasz,
>
> There are a few CCF fixes that need you to check, or you could take
> those into your patches.
Till the end of today I will review your patches. As I did not received
any more feedback regarding last posted patches - I will add the cached
clock stuff and repost them.
(I'm out of office from 09.05 - 14.05, so I want to repost my patches
by then to not block the development).
>
> Thanks,
> Peng.
>
> >
> > >
> > > Thanks,
> > > Frieder
> > >
> > > | aarch64-ktn-linux-ld.bfd: cmd/built-in.o: in function `do_fuse':
> > > | /home/frieder/repos/u-boot/cmd/fuse.c:68: undefined reference to
> > > `fuse_read'
> > > |
> > > aarch64-ktn-linux-ld.bfd: /home/frieder/repos/u-boot/cmd/fuse.c:86:
> > > undefined reference to `fuse_sense' |
> > > aarch64-ktn-linux-ld.bfd: /home/frieder/repos/u-boot/cmd/fuse.c:105:
> > > undefined reference to `fuse_prog' |
> > > aarch64-ktn-linux-ld.bfd: /home/frieder/repos/u-boot/cmd/fuse.c:119:
> > > undefined reference to `fuse_override' |
> > > aarch64-ktn-linux-ld.bfd: drivers/i2c/built-in.o: in function
> > > `mxc_i2c_probe':
> > > | /home/frieder/repos/u-boot/drivers/i2c/mxc_i2c.c:824: undefined
> > > reference to `enable_i2c_clk' | aarch64-ktn-linux-ld.bfd:
> > > /home/frieder/repos/u-boot/drivers/i2c/mxc_i2c.c:853: undefined
> > > reference to `enable_i2c_clk'
> > >
> > >
> > > On 30.04.19 12:17, Peng Fan wrote:
> > >> This patch set is based Lukasz V3 CCF patchset, [PATCH v3 00/11]
> > >> clk: Port Linux common clock framework [CCF] to U-boot (tag:
> > >> 5.0-rc3)
> > >> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> > hub.com%2Flmajewski%2Fu-boot-dfu%2Fcommits%2FCCF-v3&data=02
> > %7C01%
> > >>
> > 7Cpeng.fan%40nxp.com%7C92e3d4126a6a485ca3e808d6d1fc8fcb%7C686ea
> > 1d3bc2
> > >>
> > b4c6fa92cd99c5c301635%7C0%7C0%7C636927280011703542&sdata=
> > 5hIVJtM6
> > >> PZOy2o3NywWIrI7Ogmgjjz%2B92S1tdFTmTso%3D&reserved=0
> > >>
> > >> Added a few fixes to Lukasz's v3 patchset.
> > >> Introduced clk-gate/composite
> > >> Added set rate support
> > >> Per my understanding, U-Boot CCF will not support mux reparent,
> > >> and support rate prograte setting to parent automatically. So
> > >> new clk feature added follow this rule.
> > >>
> > >> There are many warnings when importing linux ccf code, I did not
> > >> modify them all.
> > >>
> > >> The rest patches are for i.MX8MM, part of legacy clk code are
> > >> still kept, because we are hard to enable CCF at very early
> > >> stage, we set malloc space to DRAM when dram initialized in spl
> > >> stage, so we have limited SRAM for uclass dm and dm clk, so keep
> > >> the DRAM PLL related setting with legacy clk code which use
> > >> small ram.
> > >>
> > >> The u-boot-spl.bin now is about 100KB without ddr firmware,usb
> > >> stack and hab, so really large......
> > >> I am thinking what we could do to shrink the size, welcome any
> > >> suggestions.
> > >>
> > >> Not expect this patchset could be merged, because of the
> > >> CCF/clock code change, but since the clock part blocks i.MX8MM
> > >> upstream, just would like to speed up the development with
> > >> community and move on.
> > >>
> > >> Peng Fan (40):
> > >> clk: correct get clk_x pointer
> > >> clk: fixed-factor: fix get clk_fixed_factor
> > >> clk: introduce clk_dev_binded
> > >> clk: use clk_dev_binded
> > >> clk-provider: sync more clk flags from Linux Kernel
> > >> cmd: clk: print err value when clk_get_rate failed
> > >> clk: mux: add set parent support
> > >> clk: export mux/divider ops
> > >> clk: add clk-gate support
> > >> divider set rate supporrt
> > >> clk: fixed_rate: export clk_fixed_rate
> > >> clk: fixed_rate: add pre reloc flag
> > >> clk: imx: import clk heplers
> > >> clk: imx: gate2 add set rate
> > >> linux: compat: guard PAGE_SIZE
> > >> drivers: core: use strcmp when find device by name
> > >> ddr: imx8m: fix ddr firmware location when enable SPL OF
> > >> 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 pll14xx driver
> > >> clk: add composite clk support
> > >> clk: imx: add i.MX8MM composite clk support
> > >> clk: imx: add i.MX8MM clk driver
> > >> imx: add i.MX8MM EVK board support
> > >>
> > >> Ye Li (1):
> > >> imx8m: Configure trustzone region 0 for non-secure access
> > >>
> > >> arch/arm/dts/Makefile |
> > 3 +-
> > >> 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/include/asm/arch-imx/cpu.h |
> > 6 +
> > >> arch/arm/include/asm/arch-imx8m/clock.h | 493
> > +----
> > >> arch/arm/include/asm/arch-imx8m/clock_imx8mm.h | 387
> > ++++
> > >> 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/mach-imx/iomux-v3.h | 4
> > +
> > >> arch/arm/include/asm/mach-imx/sys_proto.h | 8 +
> > >> arch/arm/mach-imx/cpu.c |
> > 12 +
> > >> arch/arm/mach-imx/imx8m/Kconfig |
> > 17 +-
> > >> arch/arm/mach-imx/imx8m/Makefile |
> > 4 +-
> > >> arch/arm/mach-imx/imx8m/clock_imx8mm.c | 2
> > 92 +++
> > >> .../arm/mach-imx/imx8m/{clock.c => clock_imx8mq.c} | 5 +-
> > >> arch/arm/mach-imx/imx8m/clock_slice.c | 461
> > +++++
> > >> arch/arm/mach-imx/imx8m/soc.c |
> > 112 +-
> > >> arch/arm/mach-imx/spl.c |
> > 8 +
> > >> board/freescale/imx8mm_evk/Kconfig | 1
> > 2 +
> > >> board/freescale/imx8mm_evk/MAINTAINERS |
> > 6 +
> > >> board/freescale/imx8mm_evk/Makefile | 1
> > 2 +
> > >> board/freescale/imx8mm_evk/imx8mm_evk.c | 9
> > 0 +
> > >> board/freescale/imx8mm_evk/lpddr4_timing.c | 1980
> > >> ++++++++++++++++++++
> > >> board/freescale/imx8mm_evk/spl.c | 21
> > 6 +++
> > >> cmd/clk.c
> > | 2 +
> > >> configs/imx8mm_evk_defconfig |
> > 52 +
> > >> drivers/clk/Kconfig |
> > 14 +
> > >> drivers/clk/Makefile |
> > 3 +-
> > >> drivers/clk/clk-composite.c | 165
> > ++
> > >> drivers/clk/clk-divider.c | 92
> > +-
> > >> drivers/clk/clk-fixed-factor.c | 2 +-
> > >> drivers/clk/clk-gate.c | 1
> > 51 ++
> > >> drivers/clk/clk-mux.c |
> > 76 +-
> > >> drivers/clk/clk.c |
> > 8 +
> > >> drivers/clk/clk_fixed_rate.c | 9
> > +-
> > >> drivers/clk/imx/Kconfig |
> > 9 +
> > >> drivers/clk/imx/Makefile |
> > 1 +
> > >> drivers/clk/imx/clk-composite-8m.c | 170
> > ++
> > >> drivers/clk/imx/clk-gate2.c | 15
> > +-
> > >> drivers/clk/imx/clk-imx8mm.c | 4
> > 15 ++++
> > >> drivers/clk/imx/clk-pfd.c |
> > 2 +-
> > >> drivers/clk/imx/clk-pll14xx.c | 377
> > ++++
> > >> drivers/clk/imx/clk-pllv3.c | 2
> > +-
> > >> drivers/clk/imx/clk.h |
> > 106 ++
> > >> drivers/core/uclass.c |
> > 2 +-
> > >> drivers/ddr/imx/imx8m/helper.c | 1
> > 2 +-
> > >> drivers/serial/Kconfig |
> > 2 +-
> > >> include/clk.h
> > | 9 +
> > >> include/configs/imx8mm_evk.h | 1
> > 99 ++
> > >> include/dt-bindings/clock/imx8mm-clock.h | 244
> > +++
> > >> include/linux/clk-provider.h | 74
> > +
> > >> include/linux/compat.h |
> > 2 +
> > >> 55 files changed, 8728 insertions(+), 494 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/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/mach-imx/imx8m/clock_imx8mm.c
> > >> rename arch/arm/mach-imx/imx8m/{clock.c => clock_imx8mq.c}
> > (99%)
> > >> 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 configs/imx8mm_evk_defconfig
> > >> create mode 100644 drivers/clk/clk-composite.c
> > >> create mode 100644 drivers/clk/clk-gate.c
> > >> create mode 100644 drivers/clk/imx/clk-composite-8m.c
> > >> create mode 100644 drivers/clk/imx/clk-imx8mm.c
> > >> create mode 100644 drivers/clk/imx/clk-pll14xx.c
> > >> create mode 100644 include/configs/imx8mm_evk.h
> > >> create mode 100644 include/dt-bindings/clock/imx8mm-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
-------------- 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/20190506/4b77d175/attachment.sig>
More information about the U-Boot
mailing list