|
@@ -23,6 +23,7 @@
|
|
|
#include <linux/clk-provider.h>
|
|
|
#include <linux/platform_device.h>
|
|
|
#include <linux/mfd/samsung/s2mps11.h>
|
|
|
+#include <linux/mfd/samsung/s2mps13.h>
|
|
|
#include <linux/mfd/samsung/s2mps14.h>
|
|
|
#include <linux/mfd/samsung/s5m8767.h>
|
|
|
#include <linux/mfd/samsung/core.h>
|
|
@@ -120,6 +121,24 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+static struct clk_init_data s2mps13_clks_init[S2MPS11_CLKS_NUM] = {
|
|
|
+ [S2MPS11_CLK_AP] = {
|
|
|
+ .name = "s2mps13_ap",
|
|
|
+ .ops = &s2mps11_clk_ops,
|
|
|
+ .flags = CLK_IS_ROOT,
|
|
|
+ },
|
|
|
+ [S2MPS11_CLK_CP] = {
|
|
|
+ .name = "s2mps13_cp",
|
|
|
+ .ops = &s2mps11_clk_ops,
|
|
|
+ .flags = CLK_IS_ROOT,
|
|
|
+ },
|
|
|
+ [S2MPS11_CLK_BT] = {
|
|
|
+ .name = "s2mps13_bt",
|
|
|
+ .ops = &s2mps11_clk_ops,
|
|
|
+ .flags = CLK_IS_ROOT,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = {
|
|
|
[S2MPS11_CLK_AP] = {
|
|
|
.name = "s2mps14_ap",
|
|
@@ -184,6 +203,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
|
|
|
s2mps11_reg = S2MPS11_REG_RTC_CTRL;
|
|
|
clks_init = s2mps11_clks_init;
|
|
|
break;
|
|
|
+ case S2MPS13X:
|
|
|
+ s2mps11_reg = S2MPS13_REG_RTCCTRL;
|
|
|
+ clks_init = s2mps13_clks_init;
|
|
|
+ break;
|
|
|
case S2MPS14X:
|
|
|
s2mps11_reg = S2MPS14_REG_RTCCTRL;
|
|
|
clks_init = s2mps14_clks_init;
|
|
@@ -279,6 +302,7 @@ static int s2mps11_clk_remove(struct platform_device *pdev)
|
|
|
|
|
|
static const struct platform_device_id s2mps11_clk_id[] = {
|
|
|
{ "s2mps11-clk", S2MPS11X},
|
|
|
+ { "s2mps13-clk", S2MPS13X},
|
|
|
{ "s2mps14-clk", S2MPS14X},
|
|
|
{ "s5m8767-clk", S5M8767X},
|
|
|
{ },
|