lkml.org 
[lkml]   [2019]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v4 0/9] phy: Add configuration interface for MIPI D-PHY devices
    Date
    Hi,

    Here is a set of patches to allow the phy framework consumers to test and
    apply runtime configurations.

    This is needed to support more phy classes that require tuning based on
    parameters depending on the current use case of the device, in addition to
    the power state management already provided by the current functions.

    A first test bed for that API are the MIPI D-PHY devices. There's a number
    of solutions that have been used so far to support these phy, most of the
    time being an ad-hoc driver in the consumer.

    That approach has a big shortcoming though, which is that this is quite
    difficult to deal with consumers integrated with multiple variants of phy,
    of multiple consumers integrated with the same phy.

    The latter case can be found in the Cadence DSI bridge, and the CSI
    transceiver and receivers. All of them are integrated with the same phy, or
    can be integrated with different phy, depending on the implementation.

    I've looked at all the MIPI DSI drivers I could find, and gathered all the
    parameters I could find. The interface should be complete, and most of the
    drivers can be converted in the future. The current set converts two of
    them: the above mentionned Cadence DSI driver so that the v4l2 drivers can
    use them, and the Allwinner MIPI-DSI driver.

    Let me know what you think,
    Maxime

    Changes from v3
    - Rebased on 5.0-rc1
    - Added the fixes suggested by Sakari

    Changes from v2:
    - Rebased on next
    - Changed the interface to accomodate for the new submodes
    - Changed the timings units from nanoseconds to picoseconds
    - Added minimum and maximum boundaries to the documentation
    - Moved the clock enabling to phy_power_on in the Cadence DPHY driver
    - Exported the phy_configure and phy_validate symbols
    - Rework the phy pll divider computation in the cadence dphy driver

    Changes from v1:
    - Rebased on top of 4.20-rc1
    - Removed the bus mode and timings parameters from the MIPI D-PHY
    parameters, since that shouldn't have any impact on the PHY itself.
    - Reworked the Cadence DSI and D-PHY drivers to take this into account.
    - Remove the mode parameter from phy_configure
    - Added phy_configure and phy_validate stubs
    - Return -EOPNOTSUPP in phy_configure and phy_validate when the operation
    is not implemented

    Maxime Ripard (9):
    phy: dphy: Remove unused header
    phy: dphy: Change units of wakeup and init parameters
    phy: dphy: Clarify lanes parameter documentation
    sun6i: dsi: Convert to generic phy handling
    phy: Move Allwinner A31 D-PHY driver to drivers/phy/
    drm/bridge: cdns: Separate DSI and D-PHY configuration
    dt-bindings: phy: Move the Cadence D-PHY bindings
    phy: Add Cadence D-PHY support
    drm/bridge: cdns: Convert to phy framework

    Documentation/devicetree/bindings/display/bridge/cdns,dsi.txt | 21 +-
    Documentation/devicetree/bindings/phy/cdns,dphy.txt | 20 +-
    drivers/gpu/drm/bridge/Kconfig | 1 +-
    drivers/gpu/drm/bridge/cdns-dsi.c | 535 +------
    drivers/gpu/drm/sun4i/Kconfig | 3 +-
    drivers/gpu/drm/sun4i/Makefile | 5 +-
    drivers/gpu/drm/sun4i/sun6i_mipi_dphy.c | 292 +----
    drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 31 +-
    drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h | 17 +-
    drivers/phy/allwinner/Kconfig | 12 +-
    drivers/phy/allwinner/Makefile | 1 +-
    drivers/phy/allwinner/phy-sun6i-mipi-dphy.c | 318 ++++-
    drivers/phy/cadence/Kconfig | 13 +-
    drivers/phy/cadence/Makefile | 1 +-
    drivers/phy/cadence/cdns-dphy.c | 389 +++++-
    drivers/phy/phy-core-mipi-dphy.c | 8 +-
    include/linux/phy/phy-mipi-dphy.h | 13 +-
    17 files changed, 890 insertions(+), 790 deletions(-)
    create mode 100644 Documentation/devicetree/bindings/phy/cdns,dphy.txt
    delete mode 100644 drivers/gpu/drm/sun4i/sun6i_mipi_dphy.c
    create mode 100644 drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
    create mode 100644 drivers/phy/cadence/cdns-dphy.c

    base-commit: bfeffd155283772bbe78c6a05dec7c0128ee500c
    --
    git-series 0.9.1

    \
     
     \ /
      Last update: 2019-01-09 10:35    [W:6.390 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site