phy: exynos5-usbdrd: Add to support for Exynos5433 SoC
authorJaewon Kim <jaewon02.kim@samsung.com>
Thu, 12 Mar 2015 10:11:13 +0000 (19:11 +0900)
committerKishon Vijay Abraham I <kishon@ti.com>
Wed, 25 Mar 2015 23:36:10 +0000 (05:06 +0530)
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>
Documentation/devicetree/bindings/phy/samsung-phy.txt
drivers/phy/phy-exynos5-usbdrd.c
include/linux/mfd/syscon/exynos5-pmu.h

index 91e38cfe1f8fb22b6d23d25079f59f77f5541690..60c6f2a633e02d7b7179ec45c7b31bcda378f802 100644 (file)
@@ -128,6 +128,7 @@ Required properties:
 - compatible : Should be set to one of the following supported values:
        - "samsung,exynos5250-usbdrd-phy" - for exynos5250 SoC,
        - "samsung,exynos5420-usbdrd-phy" - for exynos5420 SoC.
+       - "samsung,exynos5433-usbdrd-phy" - for exynos5433 SoC.
        - "samsung,exynos7-usbdrd-phy" - for exynos7 SoC.
 - reg : Register offset and length of USB DRD PHY register set;
 - clocks: Clock IDs array as required by the controller
@@ -139,7 +140,7 @@ Required properties:
               PHY operations, associated by phy name. It is used to
               determine bit values for clock settings register.
               For Exynos5420 this is given as 'sclk_usbphy30' in CMU.
-       - optional clocks: Exynos7 SoC has now following additional
+       - optional clocks: Exynos5433 & Exynos7 SoC has now following additional
                           gate clocks available:
                           - phy_pipe: for PIPE3 phy
                           - phy_utmi: for UTMI+ phy
index 04374018425f9ab488dea49dd797f68aa5b339c1..597e7dd3782a08cc2bca0a4e2717eb649735602e 100644 (file)
@@ -624,6 +624,13 @@ static const struct exynos5_usbdrd_phy_drvdata exynos5250_usbdrd_phy = {
        .has_common_clk_gate    = true,
 };
 
+static const struct exynos5_usbdrd_phy_drvdata exynos5433_usbdrd_phy = {
+       .phy_cfg                = phy_cfg_exynos5,
+       .pmu_offset_usbdrd0_phy = EXYNOS5_USBDRD_PHY_CONTROL,
+       .pmu_offset_usbdrd1_phy = EXYNOS5433_USBHOST30_PHY_CONTROL,
+       .has_common_clk_gate    = false,
+};
+
 static const struct exynos5_usbdrd_phy_drvdata exynos7_usbdrd_phy = {
        .phy_cfg                = phy_cfg_exynos5,
        .pmu_offset_usbdrd0_phy = EXYNOS5_USBDRD_PHY_CONTROL,
@@ -637,6 +644,9 @@ static const struct of_device_id exynos5_usbdrd_phy_of_match[] = {
        }, {
                .compatible = "samsung,exynos5420-usbdrd-phy",
                .data = &exynos5420_usbdrd_phy
+       }, {
+               .compatible = "samsung,exynos5433-usbdrd-phy",
+               .data = &exynos5433_usbdrd_phy
        }, {
                .compatible = "samsung,exynos7-usbdrd-phy",
                .data = &exynos7_usbdrd_phy
index 00ef24bf6edea0d64a1de38dd1089f5edf3091b5..9352adc95de6f4115294db75ffac16e376e86f2a 100644 (file)
@@ -36,6 +36,9 @@
 #define EXYNOS5420_MTCADC_PHY_CONTROL          (0x724)
 #define EXYNOS5420_DPTX_PHY_CONTROL            (0x728)
 
+/* Exynos5433 specific register definitions */
+#define EXYNOS5433_USBHOST30_PHY_CONTROL       (0x728)
+
 #define EXYNOS5_PHY_ENABLE                     BIT(0)
 
 #define EXYNOS5_MIPI_PHY_S_RESETN              BIT(1)