27 Jan, 2021

1 commit

  • We have encountered circumstances when a board design does not include
    pull-up resistors on the external MDIO buses which are not used. This
    leads to the MDIO data line not being pulled-up, thus the MDIO controller
    will always see the line as busy.

    Without a timeout in the MDIO bus driver, the execution is stuck in an
    infinite loop when any access is initiated on that external bus.

    Add a timeout in the driver so that we are protected in this
    circumstance. This is similar to what is being done in the Linux
    xgmac_mdio driver.

    Signed-off-by: Ioana Ciornei

    Ioana Ciornei
     

10 Dec, 2020

2 commits


19 Nov, 2020

2 commits


09 Nov, 2020

1 commit

  • Read PFE ESBC header flash with spi_flash_read API
    - logs as follows,
    Net: SF: Detected s25fs512s with page size 256 Bytes, erase size 256
    KiB, total 64 MiB
    "Synchronous Abort" handler, esr 0x96000210
    elr: 000000008206db44 lr : 0000000082004ea0 (reloc)
    elr: 00000000b7ba6b44 lr : 00000000b7b3dea0
    x0 : 00000000b79407e8 x1 : 0000000040640000
    x2 : 0000000000000050 x3 : 0000000000000000
    x4 : 000000000000000a x5 : 0000000000000050
    x6 : 0000000000000366 x7 : 00000000b7942308
    x8 : 00000000b76407c0 x9 : 0000000000000008
    x10: 0000000000000044 x11: 00000000b7634d1c
    x12: 000000000000004f x13: 0000000000000044
    x14: 00000000b7634d98 x15: 00000000b76407c0
    x16: 0000000000000000 x17: 0000000000000000
    x18: 00000000b7636dd8 x19: 0000000000000000
    x20: 00000000b79407d0 x21: 00000000b79407e8
    x22: 0000000040640000 x23: 00000000b7634e58
    x24: 0000000000000000 x25: 0000000003800000
    x26: 00000000b7bdd000 x27: 0000000000000000
    x28: 0000000000000000 x29: 00000000b7634d10

    Code: d2800003 eb03005f 54000101 d65f03c0 (f8636826)
    Resetting CPU ...

    Signed-off-by: Biwen Li

    Biwen Li
     

29 Oct, 2020

1 commit

  • Fix a bug as belows,
    => gpio status -a
    "Synchronous Abort" handler, esr 0x96000061
    elr: 0000000082047964 lr : 0000000082047960 (reloc)
    elr: 00000000fbd72964 lr : 00000000fbd72960
    x0 : 00000000ffffffff x1 : 000000000000000a
    x2 : 0000000000000020 x3 : 0000000000000001
    x4 : 0000000000000000 x5 : 0000000000000030
    x6 : 0000000000000020 x7 : 0000000000000002
    x8 : 00000000ffffffe0 x9 : 0000000000000008
    x10: 0000000000000010 x11: 0000000000000006
    x12: 000000000001869f x13: 0000000000000230
    x14: 00000000fbc23e9c x15: 00000000ffffffff
    ...
    reseting

    Signed-off-by: Biwen Li

    Biwen Li
     

19 Oct, 2020

2 commits


09 Oct, 2020

1 commit


05 Oct, 2020

1 commit


29 Sep, 2020

12 commits


28 Sep, 2020

2 commits

  • In functiion xhci_bulk_tx(), when buffer cross 64KB boundary, it will
    send request in more than 1 Transfer TRB by chaining them, but then handle
    only 1 event TRB to mark request completed.

    However, on Layerscape platforms (LS1028A, LS1088A, etc), we observe xhci
    controller will generated more than 1 event TRB sometimes, this cause that
    function mishandle event TRB in next round call, then system hang due to
    BUG() checking.

    This patch adds a loop to make sure the event TRB for last Transfer TRB has
    to be handled in time.

    Signed-off-by: Ran Wang

    Ran Wang
     
  • The fdt_size_t has different byte width on arm64 and arm32 platforms.
    Fix the following warning by converting the type of 'cfg_size' to
    'u64' forcedly.
    drivers/pci/pcie_layerscape.c: In function ‘ls_pcie_probe’:
    drivers/pci/pcie_layerscape.c:573:40: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 4 has type ‘fdt_size_t’ {aka ‘long unsigned int’} [-Wformat=]
    573 | printf("PCIe%d: %s Invalid size(0x%llx) for resource \"config\",expected minimum 0x%x\n",
    | ~~~^
    | |
    | long long unsigned int
    | %lx
    574 | PCIE_SRDS_PRTCL(pcie->idx), dev->name, cfg_size, SZ_8K);
    | ~~~~~~~~
    | |
    | fdt_size_t {aka long unsigned int}

    Fixes: c481b5c86b2c ("pci: layerscape: Add size check for config resource")
    Signed-off-by: Hou Zhiqiang

    Hou Zhiqiang
     

18 Sep, 2020

5 commits


11 Sep, 2020

2 commits


08 Sep, 2020

2 commits

  • LX2162 is LX2160 based SoC, it has same die as of LX2160
    with different packaging.

    LX2162A support 64-bit 2.9GT/s DDR4 memory, i2c, micro-click module,
    microSD card, eMMC support, serial console, qspi nor flash, qsgmii,
    sgmii, 25g, 40g, 50g network interface, one usb 3.0 and serdes
    interface to support three PCIe gen3 interface.

    Signed-off-by: Meenakshi Aggarwal

    Meenakshi Aggarwal
     
  • Fix this link error showing up on chips that are not layerscape
    chassis v2 or v3 based. Error message (trimmed) below:

    drivers/built-in.o: in function `ft_pcie_rc_fix':
    pcie_layerscape_fixup.c:543: undefined reference to
    `fdt_pcie_get_nodeoffset`

    Signed-off-by: Laurentiu Tudor

    Laurentiu Tudor
     

02 Sep, 2020

1 commit


27 Aug, 2020

5 commits