|
@@ -132,6 +132,29 @@ static const struct clkops clk_pxa25x_gpio12_ops = {
|
|
.disable = clk_gpio12_disable,
|
|
.disable = clk_gpio12_disable,
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+static unsigned long gpio11_config_3m6[] = {
|
|
|
|
+ GPIO11_3_6MHz,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static unsigned long gpio11_config_gpio[] = {
|
|
|
|
+ GPIO11_GPIO,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static void clk_gpio11_enable(struct clk *clk)
|
|
|
|
+{
|
|
|
|
+ pxa2xx_mfp_config(gpio11_config_3m6, 1);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static void clk_gpio11_disable(struct clk *clk)
|
|
|
|
+{
|
|
|
|
+ pxa2xx_mfp_config(gpio11_config_gpio, 1);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static const struct clkops clk_pxa25x_gpio11_ops = {
|
|
|
|
+ .enable = clk_gpio11_enable,
|
|
|
|
+ .disable = clk_gpio11_disable,
|
|
|
|
+};
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* 3.6864MHz -> OST, GPIO, SSP, PWM, PLLs (95.842MHz, 147.456MHz)
|
|
* 3.6864MHz -> OST, GPIO, SSP, PWM, PLLs (95.842MHz, 147.456MHz)
|
|
* 95.842MHz -> MMC 19.169MHz, I2C 31.949MHz, FICP 47.923MHz, USB 47.923MHz
|
|
* 95.842MHz -> MMC 19.169MHz, I2C 31.949MHz, FICP 47.923MHz, USB 47.923MHz
|
|
@@ -151,6 +174,7 @@ static struct clk pxa25x_clks[] = {
|
|
INIT_CKEN("UARTCLK", BTUART, 14745600, 1, &pxa_device_btuart.dev),
|
|
INIT_CKEN("UARTCLK", BTUART, 14745600, 1, &pxa_device_btuart.dev),
|
|
INIT_CKEN("UARTCLK", STUART, 14745600, 1, NULL),
|
|
INIT_CKEN("UARTCLK", STUART, 14745600, 1, NULL),
|
|
INIT_CKEN("UDCCLK", USB, 47923000, 5, &pxa25x_device_udc.dev),
|
|
INIT_CKEN("UDCCLK", USB, 47923000, 5, &pxa25x_device_udc.dev),
|
|
|
|
+ INIT_CLK("GPIO11_CLK", &clk_pxa25x_gpio11_ops, 3686400, 0, NULL),
|
|
INIT_CLK("GPIO12_CLK", &clk_pxa25x_gpio12_ops, 32768, 0, NULL),
|
|
INIT_CLK("GPIO12_CLK", &clk_pxa25x_gpio12_ops, 32768, 0, NULL),
|
|
INIT_CKEN("MMCCLK", MMC, 19169000, 0, &pxa_device_mci.dev),
|
|
INIT_CKEN("MMCCLK", MMC, 19169000, 0, &pxa_device_mci.dev),
|
|
INIT_CKEN("I2CCLK", I2C, 31949000, 0, &pxa_device_i2c.dev),
|
|
INIT_CKEN("I2CCLK", I2C, 31949000, 0, &pxa_device_i2c.dev),
|
|
@@ -169,7 +193,10 @@ static struct clk pxa25x_clks[] = {
|
|
INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL),
|
|
INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL),
|
|
};
|
|
};
|
|
|
|
|
|
-static struct clk gpio7_clk = INIT_CKOTHER("GPIO7_CK", &pxa25x_clks[4], NULL);
|
|
|
|
|
|
+static struct clk pxa2xx_clk_aliases[] = {
|
|
|
|
+ INIT_CKOTHER("GPIO7_CLK", &pxa25x_clks[4], NULL),
|
|
|
|
+ INIT_CKOTHER("SA1111_CLK", &pxa25x_clks[5], NULL),
|
|
|
|
+};
|
|
|
|
|
|
#ifdef CONFIG_PM
|
|
#ifdef CONFIG_PM
|
|
|
|
|
|
@@ -344,7 +371,7 @@ static int __init pxa25x_init(void)
|
|
if (cpu_is_pxa255())
|
|
if (cpu_is_pxa255())
|
|
ret = platform_device_register(&pxa_device_hwuart);
|
|
ret = platform_device_register(&pxa_device_hwuart);
|
|
|
|
|
|
- clks_register(&gpio7_clk, 1);
|
|
|
|
|
|
+ clks_register(pxa2xx_clk_aliases, ARRAY_SIZE(pxa2xx_clk_aliases));
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|