On Tue, Jun 28, 2016 at 5:24 AM, Chris Zhong <zyw@xxxxxxxxxxxxxx> wrote: > > Hi all > Hi Chris, I keep forgetting: Subject line: s/DispplayPort/DisplayPort/ Guenter > This series patch is for rockchip Type-C phy and DisplayPort controller > driver. > > The USB Type-C PHY is designed to support the USB3 and DP applications. > The PHY basically has two main components: USB3 and DisplyPort. USB3 > operates in SuperSpeed mode and the DP can operate at RBR, HBR and HBR2 > data rates. The Type-C cable orientation detection and Power Delivery > (PD) is accomplished using a PD PHY or a exernal PD chip. > > The DP controller is compliant with DisplayPort Specification, > Version 1.3, This IP is compatible with the rockchip type-c PHY IP. > There is a uCPU in DP controller, it need a firmware to work, please > put the firmware file to /lib/firmware/cdn/dptx.bin. The uCPU in charge > of aux communication and link training, the host use mailbox to > communicate with the ucpu. > > The DP contoller has register a notification with extcon API, to get the > alt mode from PD, the PD driver need call the devm_extcon_dev_allocate > to create a extcon device and use extcon_set_state to notify DP > controller. > > About the DP audio, cdn-dp registered 2 DAIs: 0 is I2S, 1 is SPDIF. > We can reference them in simple-card. > > This series is based on Mark Yao's branch: > https://github.com/markyzq/kernel-drm-rockchip/tree/drm-rockchip-next-2016-05-23 > > I test this patches on the rk3399-evb board, with a fusb302 driver, > this branch has no rk3399.dtsi, so the patch about dts is not included > in this series. > > > Changes in v4: > - remove DP alt mode > - add a #phy-cells node > - select EXTCON > - use phy framework to control the USB3 and DP function > - rename PIN_MAP_ to PIN_ASSIGN_ > - add a reset node > - support 2 phys > - use phy framework to control DP phy > - support 2 phys > > Changes in v3: > - use compatible: rockchip,rk3399-typec-phy > - use dashes instead of underscores. > - remove the phy framework(Kishon Vijay Abraham I) > - add parentheses around the macro > - use a single space between type and name > - add spaces after opening and before closing braces. > - use u16 for register value > - remove type-c phy header file > - CodingStyle optimization > - use some cable extcon to get type-c port information > - add a extcon to notify Display Port > - add SoC specific compatible string > - remove reg = <1>; > - use EXTCON_DISP_DP and EXTCON_DISP_DP_ALT cable to get dp port state. > - reset spdif before config it > - modify the firmware clk to 100Mhz > - retry load firmware if fw file is requested too early > > Changes in v2: > - add some registers description > - select RESET_CONTROLLER > - alphabetic order > - modify some spelling mistakes > - make mode cleaner > - use bool for enable/disable > - check all of the return value > - return a better err number > - use more readx_poll_timeout() > - clk_disable_unprepare(tcphy->clk_ref); > - remove unuse functions, rockchip_typec_phy_power_on/off > - remove unnecessary typecast from void * > - use dts node to distinguish between phys. > - Alphabetic order > - remove excess error message > - use define clk_rate > - check all return value > - remove dev_set_name(dp->dev, "cdn-dp"); > - use schedule_delayed_work > - remove never-called functions > - remove some unnecessary () > > Changes in v1: > - add extcon node description > - move the registers in phy driver > - remove the suffix of reset > - update the licence note > - init core clock to 50MHz > - use extcon API > - remove unused global > - add some comments for magic num > - change usleep_range(1000, 2000) tousleep_range(1000, 1050) > - remove __func__ from dev_err > - return err number when get clk failed > - remove ADDR_ADJ define > - use devm_clk_get(&pdev->dev, "tcpdcore") > - add extcon node description > - add #sound-dai-cells description > - use extcon API > - use hdmi-codec for the DP Asoc > - do not initialize the "ret" > - printk a err log when drm_of_encoder_active_endpoint_id > - modify the dclk pin_pol to a single line > > Chris Zhong (5): > extcon: Add Type-C and DP support > Documentation: bindings: add dt doc for Rockchip USB Type-C PHY > phy: Add USB Type-C PHY driver for rk3399 > Documentation: bindings: add dt documentation for cdn DP controller > drm/rockchip: cdn-dp: add cdn DP support for rk3399 > > .../bindings/display/rockchip/cdn-dp-rockchip.txt | 67 ++ > .../devicetree/bindings/phy/phy-rockchip-typec.txt | 77 ++ > drivers/extcon/extcon.c | 5 + > drivers/gpu/drm/rockchip/Kconfig | 9 + > drivers/gpu/drm/rockchip/Makefile | 1 + > drivers/gpu/drm/rockchip/cdn-dp-core.c | 761 ++++++++++++++++ > drivers/gpu/drm/rockchip/cdn-dp-core.h | 113 +++ > drivers/gpu/drm/rockchip/cdn-dp-reg.c | 731 ++++++++++++++++ > drivers/gpu/drm/rockchip/cdn-dp-reg.h | 404 +++++++++ > drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 6 +- > drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 2 + > drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 2 + > drivers/phy/Kconfig | 9 + > drivers/phy/Makefile | 1 + > drivers/phy/phy-rockchip-typec.c | 963 +++++++++++++++++++++ > include/linux/extcon.h | 5 + > 16 files changed, 3155 insertions(+), 1 deletion(-) > create mode 100644 Documentation/devicetree/bindings/display/rockchip/cdn-dp-rockchip.txt > create mode 100644 Documentation/devicetree/bindings/phy/phy-rockchip-typec.txt > create mode 100644 drivers/gpu/drm/rockchip/cdn-dp-core.c > create mode 100644 drivers/gpu/drm/rockchip/cdn-dp-core.h > create mode 100644 drivers/gpu/drm/rockchip/cdn-dp-reg.c > create mode 100644 drivers/gpu/drm/rockchip/cdn-dp-reg.h > create mode 100644 drivers/phy/phy-rockchip-typec.c > > -- > 2.6.3 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel