[PATCH v15] drm/bridge: add support for sn65dsi86 bridge driver
Andrzej Hajda
a.hajda at samsung.com
Fri Jul 27 06:32:50 UTC 2018
On 20.07.2018 08:54, Sandeep Panda wrote:
> Add support for TI's sn65dsi86 dsi2edp bridge chip.
> The chip converts DSI transmitted signal to eDP signal,
> which is fed to the connected eDP panel.
>
> This chip can be controlled via either i2c interface or
> dsi interface. Currently in driver all the control registers
> are being accessed through i2c interface only.
> Also as of now HPD support has not been added to bridge
> chip driver.
>
> Changes in v1:
> - Split the dt-bindings and the driver support into separate patches
> (Andrzej Hajda).
> - Use of gpiod APIs to parse and configure gpios instead of obsolete ones
> (Andrzej Hajda).
> - Use macros to define the register offsets (Andrzej Hajda).
>
> Changes in v2:
> - Separate out edp panel specific HW resource handling from bridge
> driver and create a separate edp panel drivers to handle panel
> specific mode information and HW resources (Sean Paul).
> - Replace pr_* APIs to DRM_* APIs to log error or debug information
> (Sean Paul).
> - Remove some of the unnecessary structure/variable from driver (Sean
> Paul).
> - Rename the function and structure prefix "sn65dsi86" to "ti_sn_bridge"
> (Sean Paul / Rob Herring).
> - Remove most of the hard-coding and modified the bridge init sequence
> based on current mode (Sean Paul).
> - Remove the existing function to retrieve the EDID data and
> implemented this as an i2c_adapter and use drm_get_edid() (Sean Paul).
> - Remove the dummy irq handler implementation, will add back the
> proper irq handling later (Sean Paul).
> - Capture the required enable gpios in a single array based on dt entry
> instead of having individual descriptor for each gpio (Sean Paul).
>
> Changes in v3:
> - Remove usage of irq_gpio and replace it as "interrupts" property (Rob
> Herring).
> - Remove the unnecessary header file inclusions (Sean Paul).
> - Rearrange the header files in alphabetical order (Sean Paul).
> - Use regmap interface to perform i2c transactions.
> - Update Copyright/License field and address other review comments
> (Jordan Crouse).
>
> Changes in v4:
> - Update License/Copyright (Sean Paul).
> - Add Kconfig and Makefile changes (Sean Paul).
> - Drop i2c gpio handling from this bridge driver, since i2c sda/scl gpios
> will be handled by i2c master.
> - Update required supplies names.
> - Remove unnecessary goto statements (Sean Paul).
> - Add mutex lock to power_ctrl API to avoid race conditions (Sean
> Paul).
> - Add support to parse reference clk frequency from dt(optional).
> - Update the bridge chip enable/disable sequence.
>
> Changes in v5:
> - Fixed Kbuild test service reported warnings.
>
> Changes in v6:
> - Use PM runtime based ref-counting instead of local ref_count mechanism
> (Stephen Boyd).
> - Clean up some debug logs and indentations (Sean Paul).
> - Simplify dp rate calculation (Sean Paul).
> - Add support to configure refclk based on input REFCLK pin or DACP/N
> pin (Stephen Boyd).
>
> Changes in v7:
> - Use static supply entries instead of dynamic allocation (Andrzej
> Hajda).
> - Defer bridge driver probe if panel is not probed (Andrzej Hajda).
> - Update of_graph APIs for correct node reference management. (Andrzej
> Hajda).
> - Remove local display_mode object (Andrzej Hajda).
> - Remove version id check function from driver.
>
> Changes in v8:
> - Move dsi register/attach function to bridge driver probe (Andrzej
> Hajda).
> - Introduce a new helper function to write 16bit words into consecutive
> registers (Andrzej Hajda).
> - Remove unnecessary macros (Andrzej Hajda).
>
> Changes in v9:
> - Remove dsi register/attach from bridge probe, since dsi dev register
> completion also waits for any panel or bridge to get added. This creates
> deadlock situation when bridge driver calls dsi dev register and
> attach before bridge add, in its probe function.
> - Fix issues faced during testing of bridge driver on actual HW.
> - Remove unnecessary initializations (Stephen Boyd).
> - Use local refclk lut size instead of global macro (Sean Paul).
>
> Changes in v10:
> - Use refclk to determine if continuous dsi clock is needed or not.
>
> Changes in v11:
> - Read DPPLL_SRC register to determine continuous clock instead of
> using refclk handle (Stephen Boyd).
>
> Changes in v12:
> - Explain in comment as in why dsi dev registration is done in
> bridge_attach (Andrzej Hajda).
> - Move HPD disable to bridge_pre_enable (Andrzej Hajda).
> - Make panel/DDC exclusive until HPD support is added (Andrzej Hajda).
>
> Changes in v13:
> - eDP panels report EDID via DP-AUX channel, so remove support for
> dedicated DDC line (Andrzej Hajda).
>
> Changes in v14:
> - Remove unnecessary drm_panel checks (Andrzej Hajda).
>
> Signed-off-by: Sandeep Panda <spanda at codeaurora.org>
I will queue both patches to drm-misc.
Reviewed-by: Andrzej Hajda <a.hajda at samsung.com>
--
Regards
Andrzej
More information about the dri-devel
mailing list