05 Feb, 2021

1 commit

  • i.MX8MQ B2 is using same value in OCOTP_READ_FUSE_DATA like B1, so
    we have to check the ROM verision to distinguish the revision.

    As we have checked the B1 rev for sticky bits work around in
    secure boot. So it won't apply on B2.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit 1ac96bde4920fa3e2a3bb4a79b342ca4f5adb4a5)

    Ye Li
     

16 Nov, 2020

1 commit

  • There are 3 part numbers for 11x11 i.MX8MNano with different core number
    configuration: UltraLite Quad/Dual/Solo

    Comparing with i.MX8MN Lite parts, they have MIPI DSI disabled. So
    checking the MIPI DSI disable fuse to recognize these parts.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit 05af9ac08052c92d011908726534e227db3143c4)

    Ye Li
     

26 Aug, 2020

2 commits


16 Jun, 2020

1 commit

  • iMX8MP has 6 fused parts in each qualification tier, with core, VPU,
    ISP, NPU or DSP fused respectively.

    The configuration tables for enabled modules:
    MIMX8ML8DVNLZAA Quad Core, VPU, NPU, ISP, DSP
    MIMX8ML7DVNLZAA Quad Core, NPU, ISP
    MIMX8ML6DVNLZAA Quad Core, VPU, ISP
    MIMX8ML5DVNLZAA Quad Core, VPU
    MIMX8ML4DVNLZAA Quad Lite
    MIMX8ML3DVNLZAA Dual Core, VPU, NPU, ISP, DSP

    Add the support in u-boot and update kernel DTS to disable nodes for
    fused modules

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit 9f8a807c5984b9d7859e6a70a2807843ab95b3f6)

    Ye Li
     

06 May, 2020

5 commits

  • Add soc id in cpu codes and conditionals.
    Also add support for v2x container on 8DXL.

    Signed-off-by: Ye Li
    Signed-off-by: Teo Hall
    (cherry picked from commit 35691a6b85c3240b0e3b9f9a8da9fc6328bf92d8)

    Teo Hall
     
  • Add REVC informaiton.

    Signed-off-by: Frank Li
    (cherry picked from commit c7231f2c7a5c1dc754b5fb9bf05941141877a0ec)
    (cherry picked from commit 9a33170a4f4ff2ad2ab0d87e74e722a0e833abaa)

    Frank Li
     
  • According to datasheet, there are totally 6 variant parts for imx8mn:
    Quad, Dual, Solo with core number changed.
    QuadLite, DualLite, SoloLite with core number changed and GPU disabled.

    Add the support for these variant parts
    1. Recognize the variant parts according to fuse
    2. Power down disabled cores
    3. Remove the cores node and disable GPU node from kernel DTB before
    entering kernel.
    4. Since the mscale dummy id has been used out, increase one more bit
    (bit 8) for cpu id.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit 144bd9ce223ead71e1726bea510242a3166f66ce)
    (cherry picked from commit 380370b5460cb3f5284828fe0aabc7cca29c3bcd)

    Ye Li
     
  • iMX8MQ has two variant versions: iMX8MD and iMX8MQLite. Add dummy CPU ID
    for these two, and check the fuses to get correct versions.

    Signed-off-by: Ye Li
    (cherry picked from commit 58b77b541311d4b1d7db787cc769a7ad23ecbc79)
    (cherry picked from commit a01c2144b5b97b62cb07be01487600116150af9d)

    Ye Li
     
  • Since commit 8891410c729b ("MLK-19848 mx6dq: Fix chip version issue for
    rev1.3") it's not possible to call the HAB API functions on i.MX6DQ
    SoC Rev 1.3:

    Authenticate image from DDR location 0x12000000...
    undefined instruction
    pc : [] lr : []
    reloc pc : [] lr : []
    sp : 8ef444a8 ip : 126e8068 fp : 8ff59aa8
    r10: 8ffd51e4 r9 : 8ef50eb0 r8 : 006e8000
    r7 : 00000000 r6 : 126ea01f r5 : 0000002b r4 : 126e8000
    r3 : 412c00dd r2 : 00000001 r1 : 00000001 r0 : 00000063
    Flags: nzCv IRQs off FIQs off Mode SVC_32
    Resetting CPU ...

    resetting ...

    The hab.h code is defining the HAB API base address according to the
    old SoC revision number, thus failing when calling the HAB API
    authenticate_image() function.

    Fix this issue by using mx6dq rev 1.3 instead of mx6dq rev 1.5.

    Signed-off-by: Breno Lima
    Reviewed-by: Ye Li
    (cherry picked from commit adc4d93e6e1726f111e86ca74fb76215215dbc86)
    (cherry picked from commit a4300029173afb872b7e7e38d191ca5528da7fed)

    Breno Lima
     

08 Jan, 2020

1 commit


05 Nov, 2019

1 commit


08 Oct, 2019

2 commits


25 Apr, 2019

1 commit


01 Jan, 2019

2 commits


22 Oct, 2018

2 commits

  • print_cpuinfo() in board init code requires uclass CPU driver,
    add it to be able to display CPU info when CONFIG_DISPLAY_CPUINFO
    option is enabled. CPU node in DT will have to include 'clocks'
    and 'u-boot,dm-pre-reloc' properties for generic print_cpuinfo()
    to work as expected. The driver outputs info for i.MX8QXP Rev A
    and Rev B CPUs.

    Signed-off-by: Anatolij Gustschin
    Cc: Stefano Babic
    Reviewed-by: Peng Fan

    Anatolij Gustschin
     
  • Add i.MX8 cpu type and is_imx8/is_imx8qxp help macros.

    Signed-off-by: Peng Fan
    Cc: Stefano Babic

    Peng Fan
     

07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

04 Feb, 2018

1 commit


06 Jun, 2017

1 commit


17 Mar, 2017

1 commit

  • Implement soc level functions to get cpu rev, reset cause, enable cache,
    etc. We will disable the wdog and init clocks in s_init at very early u-boot
    phase.

    Since the we are seeking the way to get chip id for mx7ulp, the get_cpu_rev
    is hard coded to a fixed value. This may change in future.

    Reuse some code in imx-common.

    Signed-off-by: Peng Fan
    Signed-off-by: Ye Li
    Cc: Stefano Babic

    Peng Fan
     

16 Dec, 2016

1 commit


04 Oct, 2016

1 commit


09 Mar, 2016

1 commit


30 Oct, 2015

1 commit


13 Sep, 2015

2 commits


02 Sep, 2015

2 commits

  • Since we need to support runtime check for different drivers, we need
    to add get_cpu_rev for vf610, otherwise there will be build errors.

    This patch introduces a dummy CPU id which is not read from chip
    silicon. Later when we can get the real id from chip, can fix the
    value of MXC_CPU_VF610 then.

    Signed-off-by: Peng Fan
    Suggested-by: Stefano Babic
    Cc: Stefano Babic
    Acked-by: Stefano Babic

    Peng Fan
     
  • Add cpu types for i.MX2/3.

    Signed-off-by: Peng Fan
    Cc: Stefano Babic
    Reviewed-by: Stefano Babic

    Peng Fan
     

02 Aug, 2015

2 commits

  • Add MXC_CPU_MX6UL for i.MX6UL CPU type which is got at runtime from
    DIGPROG register. But the value has been occupied by MXC_CPU_MX6D which
    is not real id from DIGPROG register, so change i.MX6D to value 0x67 which
    was not occupied.

    Signed-off-by: Peng Fan
    Signed-off-by: Ye.Li

    Peng Fan
     
  • Add cpu type for i.MX6QP/DP.

    This patch also fix is_mx6dqp(), since get_cpu_rev can return MXC_CPU_MX6QP
    and MXC_CPU_MX6DP, we should use:
    (is_cpu_type(MXC_CPU_MX6QP) || is_cpu_type(MXC_CPU_MX6DP)).

    Signed-off-by: Peng Fan
    Acked-by: Stefano Babic

    Peng Fan
     

17 Feb, 2015

1 commit


20 Nov, 2014

1 commit


10 Jul, 2014

1 commit


11 Feb, 2014

2 commits