Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

phy: exynos5-usbdrd: Add to support for Exynos5433 SoC

This patch adds driver data to support for Exynos5433 SoC.
The Exynos5433 has one USB3.0 Host and USB3.0 DRD(Dual Role Device).
Exynos5433 is simplar to Eyxnos7 but Exynos5433 have
one more USB3.0 Host controller.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

authored by

Jaewon Kim and committed by
Kishon Vijay Abraham I
2be60856 d89a7f69

+15 -1
+2 -1
Documentation/devicetree/bindings/phy/samsung-phy.txt
··· 128 128 - compatible : Should be set to one of the following supported values: 129 129 - "samsung,exynos5250-usbdrd-phy" - for exynos5250 SoC, 130 130 - "samsung,exynos5420-usbdrd-phy" - for exynos5420 SoC. 131 + - "samsung,exynos5433-usbdrd-phy" - for exynos5433 SoC. 131 132 - "samsung,exynos7-usbdrd-phy" - for exynos7 SoC. 132 133 - reg : Register offset and length of USB DRD PHY register set; 133 134 - clocks: Clock IDs array as required by the controller ··· 140 139 PHY operations, associated by phy name. It is used to 141 140 determine bit values for clock settings register. 142 141 For Exynos5420 this is given as 'sclk_usbphy30' in CMU. 143 - - optional clocks: Exynos7 SoC has now following additional 142 + - optional clocks: Exynos5433 & Exynos7 SoC has now following additional 144 143 gate clocks available: 145 144 - phy_pipe: for PIPE3 phy 146 145 - phy_utmi: for UTMI+ phy
+10
drivers/phy/phy-exynos5-usbdrd.c
··· 624 624 .has_common_clk_gate = true, 625 625 }; 626 626 627 + static const struct exynos5_usbdrd_phy_drvdata exynos5433_usbdrd_phy = { 628 + .phy_cfg = phy_cfg_exynos5, 629 + .pmu_offset_usbdrd0_phy = EXYNOS5_USBDRD_PHY_CONTROL, 630 + .pmu_offset_usbdrd1_phy = EXYNOS5433_USBHOST30_PHY_CONTROL, 631 + .has_common_clk_gate = false, 632 + }; 633 + 627 634 static const struct exynos5_usbdrd_phy_drvdata exynos7_usbdrd_phy = { 628 635 .phy_cfg = phy_cfg_exynos5, 629 636 .pmu_offset_usbdrd0_phy = EXYNOS5_USBDRD_PHY_CONTROL, ··· 644 637 }, { 645 638 .compatible = "samsung,exynos5420-usbdrd-phy", 646 639 .data = &exynos5420_usbdrd_phy 640 + }, { 641 + .compatible = "samsung,exynos5433-usbdrd-phy", 642 + .data = &exynos5433_usbdrd_phy 647 643 }, { 648 644 .compatible = "samsung,exynos7-usbdrd-phy", 649 645 .data = &exynos7_usbdrd_phy
+3
include/linux/mfd/syscon/exynos5-pmu.h
··· 36 36 #define EXYNOS5420_MTCADC_PHY_CONTROL (0x724) 37 37 #define EXYNOS5420_DPTX_PHY_CONTROL (0x728) 38 38 39 + /* Exynos5433 specific register definitions */ 40 + #define EXYNOS5433_USBHOST30_PHY_CONTROL (0x728) 41 + 39 42 #define EXYNOS5_PHY_ENABLE BIT(0) 40 43 41 44 #define EXYNOS5_MIPI_PHY_S_RESETN BIT(1)