26 Aug, 2020

2 commits

  • Fix Coverity issue 9006652. In sc_seco_secvio_dgo_config, the data pointer
    is dereferenced earlier than NULL checking. Following the SCFW API, remove
    the NULL checking, always assume the data pointer is valid, because it is
    also a TX parameter.

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

    Ye Li
     
  • Update SCFW API to add sc_seco_v2x_build_info API which can
    get the version and commit of V2X firmware on 8DXL

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

    Ye Li
     

16 Jun, 2020

6 commits

  • Add SCFW API sc_misc_get_boot_container to get current boot container
    set index:
    1 - primary container set.
    2 - secondary container set.

    Note:
    This feature is added by ROM since iMX8QM B0, so it does not support
    iMX8QXP B0.

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

    Ye Li
     
  • Remove the child device binding codes for clk and iomux nodes, because
    the misc uclass has added such operation in post-bind. If we keep the
    codes in scu bind, child devices will be created twices. Find the
    problem by "dm uclass" command.

    uclass 24: clk
    0 * clk @ fce22380, seq 0, (req -1)
    1 clk @ fce23110

    uclass 67: pinctrl
    0 * iomuxc @ fce22470, seq 0, (req -1)
    1 iomuxc @ fce231c0

    After the fix:

    uclass 24: clk
    0 * clk @ fce22380, seq 0, (req -1)

    uclass 67: pinctrl
    0 * iomuxc @ fce22470, seq 0, (req -1)

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

    Ye Li
     
  • Porting the scu api 'sc_misc_get_button_status()' to get the
    ON-OFF button status.

    Test: Get the ON-OFF button status.

    Change-Id: I8e06ef4dc170750fe2dfbeeba7850b5e0dcfc774
    Signed-off-by: Ji Luo

    Ji Luo
     
  • To avoid both A/B slots are marked as unbootable because
    of some random failures, we will need to reset at spl stage
    when current slot load/verify fail but already with flag
    "successful_boot" set.

    imx8q can't be reset via the psci driver because the atf
    is not avaiable at spl stage, porting the sc_pm_reboot()
    scu api so we can do reset at spl stage for imx8qm/imx8qxp
    mek boards.

    Test: reset on imx8qm_mek and imx8qxp_mek.

    Change-Id: Ifa0bdea9393e413942a8a0188a4f937fa0aa9ab8
    Signed-off-by: Ji Luo
    (cherry picked from a5c5748101c383bc3afb424a3ef2689ab2664846)

    Ji Luo
     
  • Currently it's not possible to use UUU to program ECC words. U-Boot is
    asking for a second confirmation when programming ECC covered words.
    Introduce a environment variable "force_prog_ecc", if the env is set
    to "y" or "1", then the ecc fuse checking is skipped.

    In uuu usage, just set this variable in uuu script, then there is no
    second confirmation needed.

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

    Ye Li
     
  • SCFW has fixed a overflow issue in sc_rm_is_pad_owned API. This
    requires u-boot to update API implementation, since it will cause
    compatible issue. Otherwise all pad checking will have problem and
    cause pad setting not continue.

    Due to the compatible issue, the new u-boot only works with new
    SCFW (API version: 1.21).

    old scfw + old u-boot: API overflow issue
    old scfw + new u-boot, or new scfw + old u-boot: API compatible issue
    new scfw + new u-boot: Working

    Signed-off-by: Ye Li
    Reviewed-by : Jason Liu

    (cherry picked from commit e84fb02056fe50146856320b96de909dad4c0058)

    Ye Li
     

06 May, 2020

7 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 a module to configure the tamper and secure violation of
    the SNVS using the SCU API.

    The module also adds some commands:
    - snvs_cfg: Configure the SNVS HP and LP registers
    - snvs_dgo_cfg: Configure the SNVS DGO bloc if present (8QXP)
    - tamper_pin_cfg: Change the configuration of the tamper pins
    - snvs_clear_status: Allow to write to LPSR and LPTDSR to clear status bits

    Signed-off-by: Franck LENORMAND
    (cherry picked from commit 75aa7f2254f0883aa14568ac32702b1ca15367e4)
    Signed-off-by: Ye Li
    (cherry picked from commit 2f3804bdfe29a3c134a1753d6fa92881ea3e2b30)

    Franck LENORMAND
     
  • SECO provides APIs to support CAAM manufacturing protection:

    - sc_seco_get_mp_key()
    - sc_seco_get_mp_sign()
    - sc_seco_update_mpmr()

    Add SCFW APIs support.

    Signed-off-by: Breno Lima
    (cherry picked from commit 18def97fc07fec226f2e1342f2008bf449c453c2)

    Breno Lima
     
  • Sync SCFW API to version 1.6, commit b3c575a62b0e2
    Current codes have wrong definitions for SC_MISC_SECO_AUTH_SECO_FW,
    SC_MISC_SECO_AUTH_HDMI_TX_FW and SC_MISC_SECO_AUTH_HDMI_RX_FW and
    cause HDP firmware authentication failed.

    Signed-off-by: Ye Li

    Ye Li
     
  • When power on some sources in Video system, current timeout 10ms is
    too short and returns before SCU response. So increase the timeout
    to 1s.

    Signed-off-by: Ye Li
    (cherry picked from commit f9be201c9e20520a9362d5fcb2524c0cbfffb425)

    Ye Li
     
  • Add a common iMX MU driver in misc uclass to communicate with M4.
    The MU message format is defined to use 4 words as below, the driver
    will use all 4 TR/RR in MU to pass one message

    |WORD 0 | WORD 1 | WORD 2 | WORD 3 |
    |SEQ | TYPE | PAYLOAD ADDRESS | PAYLOAD LENGTH |

    - SEQ:
    A sequence id starts from 0 and increases for each request message

    - TYPE:
    0x1: Request. Message sent from AP will set to this value.
    0x2: Response. Message responded from M4 set to this value.
    0x3: MU A side is ready.
    0x4: MU B side is ready.

    - PAYLOAD ADDRESS:
    A pointer to the memory address where the uplayer message is stored

    - PAYLOAD LENGTH:
    The uplayer message length

    Signed-off-by: Ye Li
    (cherry picked from commit aba0e51cc397e1d98be950f9c15619de06ebf782)
    (cherry picked from commit 57c95d6476052a052f026f8e4d7c98bd05792a1f)

    Ye Li
     
  • Add the second ECC fuse area for 8QM which is different with 8QXP

    Signed-off-by: Ye Li

    Ye Li
     

26 Feb, 2020

1 commit


11 Feb, 2020

2 commits


10 Feb, 2020

1 commit


07 Feb, 2020

2 commits

  • At present driver model supports the IRQ uclass but there is no way to
    request a particular interrupt for a driver.

    Add a mechanism, similar to clock and reset, to read the interrupts
    required by a device from the device tree and to request those interrupts.

    U-Boot itself does not have interrupt-driven handlers, so just provide a
    means to read and clear an interrupt. This can be useful to handle
    peripherals which must use an interrupt to determine when data is
    available, for example.

    Bring over the basic binding file as well, from Linux v5.4. Note that the
    older binding is not supported in U-Boot; the newer 'special form' must be
    used.

    Add a simple test of the new functionality.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     
  • There can be different types of interrupt controllers in a system and some
    drivers may need to distinguish between these. In general this can be
    handled using the device tree by adding the interrupt information to
    device nodes.

    However on x86 devices we have interrupt controllers which are not tied
    to any particular device and not really used in U-Boot. These still need
    to be inited, so a convenient method is to give each controller a type
    and allow a particular controller type to be probed.

    Add support for this in sandbox along with a test.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng
    [bmeng: remove the new bland line at EOF of test/dm/irq.c]
    Signed-off-by: Bin Meng

    Simon Glass
     

06 Feb, 2020

4 commits


18 Jan, 2020

2 commits


09 Jan, 2020

1 commit


08 Jan, 2020

1 commit


18 Dec, 2019

1 commit


17 Dec, 2019

4 commits


15 Dec, 2019

4 commits

  • Add a simple sandbox test for this uclass.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     
  • Update this uclass to support the needs of the Apollo Lake ITSS. It
    supports four operations.

    Move the uclass into a separate directory so that sandbox can use it too.
    Add a new Kconfig to control it and enable this on x86.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     
  • Add a sandbox driver and PCI-device emulator for p2sb. Also add a test
    which uses a simple 'adder' driver to test the p2sb functionality.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     
  • The Primary-to-Sideband bus (P2SB) is used to access various peripherals
    through memory-mapped I/O in a large chunk of PCI space. The space is
    segmented into different channels and peripherals are accessed by
    device-specific means within those channels. Devices should be added in
    the device tree as subnodes of the p2sb.

    This adds a uclass and enables it for sandbox.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     

11 Dec, 2019

1 commit

  • Chromium EC commands can be up to 16-bits, so using a uint8_t here can
    cause truncation. Update to use a uint instead.

    It looks like this should likely have been done as a part of
    9fea76f5d30264dc08ac591a7a89427b8441555b, but this function was skipped
    for some reason.

    Signed-off-by: Michael Auchter
    Cc: Simon Glass
    Reviewed-by: Simon Glass

    Michael Auchter
     

03 Dec, 2019

1 commit