09 Mar, 2020

2 commits

  • The 4 bit MMC controllers have an internal debounce for the SDCD line
    with a debounce delay of 1 second. Therefore, after clocks to the IP are
    enabled, software has to wait for this time before it can power on the
    controller.

    Add a deferred_probe() callback which polls on sdcd for a maximum of 2 seconds
    before switching on power to the controller or (in the case of no card)
    returning a ENOMEDIUM. This pushes the 1 second wait time to when the
    card is actually needed rather than at every probe() making sure that
    users who don't insert an SD card in the slot don't have to wait such a
    long time.

    Signed-off-by: Faiz Abbas
    Signed-off-by: Lokesh Vutla

    Faiz Abbas
     
  • With the latest RIOT, there is a different otap delay value for each
    speed mode. Add a new binding with every supported speed mode. Also
    disable a given speed mode in the host caps if its corresponding
    otap-del-sel is not present.

    Signed-off-by: Faiz Abbas
    Signed-off-by: Lokesh Vutla

    Faiz Abbas
     

06 Feb, 2020

2 commits

  • At present dm/device.h includes the linux-compatible features. This
    requires including linux/compat.h which in turn includes a lot of headers.
    One of these is malloc.h which we thus end up including in every file in
    U-Boot. Apart from the inefficiency of this, it is problematic for sandbox
    which needs to use the system malloc() in some files.

    Move the compatibility features into a separate header file.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present devres.h is included in all files that include dm.h but few
    make use of it. Also this pulls in linux/compat which adds several more
    headers. Drop the automatic inclusion and require files to include devres
    themselves. This provides a good indication of which files use devres.

    Signed-off-by: Simon Glass
    Reviewed-by: Anatolij Gustschin

    Simon Glass
     

20 Jan, 2020

2 commits

  • Add Support for writing to PHY registers for J721e. There are number of
    differences between the J721e 8 bit PHY, J721e 4 bit PHY and AM654 PHY.
    Create a driver_data structure with an ops and flags field and use the
    flags field to indicate these differences. The differences are as
    follows:

    1. The J721e 4 bit instance PHY does not have a DLL. Introduce a
    DLL_PRESENT flag to make sure that DLL related registers are accessed
    only where they are present. Also add a separate set_ios_post()
    callback.

    2. The J721e 8 bit instance is not muxed with anything else inside the
    SoC and hence the IOMUX_ENABLE filed does not exist. Add a flag which is
    used to indicate the presence of this field.

    3. The register field used to select DLL frequency is 3 bit wide in
    J721e as compared to 2 bits in AM65x. Add another flag that
    distinguishes these fields.

    4. The strobe select field is 8 bit wide as compared to 4 bit wide for
    AM65x. Add yet another flag to indicate this difference. Strobe select
    is used only for HS400 speed mode, support for which has not been added
    in AM65x.

    Signed-off-by: Faiz Abbas
    Signed-off-by: Lokesh Vutla

    Faiz Abbas
     
  • Get clk_xin by name instead of by index to avoid having to put clocks in
    the same order in all devices.

    Signed-off-by: Faiz Abbas
    Signed-off-by: Lokesh Vutla

    Faiz Abbas
     

12 Oct, 2019

1 commit


27 Jul, 2019

1 commit

  • The j721e 4 bit instances don't have a hard DLL and therefore don't need
    any DLL related configurations. Split the compatibles into an 8 bit and a
    4 bit one. Add a private flags field which can be used to check if the
    DLL is present and don't register the set_ios_post callback for the 4 bit
    compatible instances.

    Also update the compatibles in k3-j721e-main.dtsi to avoid breaking boot
    with the new compatibles.

    Signed-off-by: Faiz Abbas
    Signed-off-by: Lokesh Vutla

    Faiz Abbas
     

17 Jul, 2019

5 commits