* [PATCH 1/2] omap: move scale_vcores to omap4_generic
@ 2012-03-05 10:19 Jan Weitzel
2012-03-05 10:19 ` [PATCH 2/2] omap: move do_set_mux " Jan Weitzel
2012-03-05 17:11 ` [PATCH 1/2] omap: move scale_vcores " Sascha Hauer
0 siblings, 2 replies; 7+ messages in thread
From: Jan Weitzel @ 2012-03-05 10:19 UTC (permalink / raw)
To: barebox
scale_vcores is used by two boards.
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
---
arch/arm/boards/panda/lowlevel.c | 31 -----------------------
arch/arm/boards/pcm049/lowlevel.c | 31 -----------------------
arch/arm/mach-omap/include/mach/omap4-silicon.h | 1 +
arch/arm/mach-omap/omap4_generic.c | 31 +++++++++++++++++++++++
4 files changed, 32 insertions(+), 62 deletions(-)
diff --git a/arch/arm/boards/panda/lowlevel.c b/arch/arm/boards/panda/lowlevel.c
index 45ea221..e73e2cf 100644
--- a/arch/arm/boards/panda/lowlevel.c
+++ b/arch/arm/boards/panda/lowlevel.c
@@ -44,37 +44,6 @@ static const struct ddr_regs ddr_regs_400_mhz_2cs = {
.mr2 = 0x4
};
-#define I2C_SLAVE 0x12
-
-static int noinline scale_vcores(void)
-{
- unsigned int rev = omap4_revision();
-
- /* For VC bypass only VCOREx_CGF_FORCE is necessary and
- * VCOREx_CFG_VOLTAGE changes can be discarded
- */
- writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
- writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
-
- /* set VCORE1 force VSEL */
- omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
-
- /* FIXME: set VCORE2 force VSEL, Check the reset value */
- omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
-
- /* set VCORE3 force VSEL */
- switch (rev) {
- case OMAP4430_ES2_0:
- omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
- break;
- case OMAP4430_ES2_1:
- omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
- break;
- }
-
- return 0;
-}
-
static void noinline panda_init_lowlevel(void)
{
struct dpll_param core = OMAP4_CORE_DPLL_PARAM_38M4_DDR400;
diff --git a/arch/arm/boards/pcm049/lowlevel.c b/arch/arm/boards/pcm049/lowlevel.c
index bea895e..2b6e91f 100644
--- a/arch/arm/boards/pcm049/lowlevel.c
+++ b/arch/arm/boards/pcm049/lowlevel.c
@@ -44,37 +44,6 @@ static const struct ddr_regs ddr_regs_mt42L64M64_3_200_mhz = {
.mr2 = 0x1 /* from elpida 200MHz! */
};
-#define I2C_SLAVE 0x12
-
-static int noinline scale_vcores(void)
-{
- unsigned int rev = omap4_revision();
-
- /* For VC bypass only VCOREx_CGF_FORCE is necessary and
- * VCOREx_CFG_VOLTAGE changes can be discarded
- */
- writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
- writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
-
- /* set VCORE1 force VSEL */
- omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
-
- /* FIXME: set VCORE2 force VSEL, Check the reset value */
- omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
-
- /* set VCORE3 force VSEL */
- switch (rev) {
- case OMAP4430_ES2_0:
- omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
- break;
- case OMAP4430_ES2_1:
- omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
- break;
- }
-
- return 0;
-}
-
static void noinline pcm049_init_lowlevel(void)
{
struct dpll_param core = OMAP4_CORE_DPLL_PARAM_19M2_DDR200;
diff --git a/arch/arm/mach-omap/include/mach/omap4-silicon.h b/arch/arm/mach-omap/include/mach/omap4-silicon.h
index db0dfdf..12ab9a5 100644
--- a/arch/arm/mach-omap/include/mach/omap4-silicon.h
+++ b/arch/arm/mach-omap/include/mach/omap4-silicon.h
@@ -175,5 +175,6 @@ struct dpll_param;
void omap4_ddr_init(const struct ddr_regs *, const struct dpll_param *);
void omap4_power_i2c_send(u32);
unsigned int omap4_revision(void);
+noinline int scale_vcores(void);
#endif
diff --git a/arch/arm/mach-omap/omap4_generic.c b/arch/arm/mach-omap/omap4_generic.c
index c6e46e6..76cf2f5 100644
--- a/arch/arm/mach-omap/omap4_generic.c
+++ b/arch/arm/mach-omap/omap4_generic.c
@@ -419,3 +419,34 @@ enum omap_boot_src omap4_bootsrc(void)
return OMAP_BOOTSRC_NAND;
return OMAP_BOOTSRC_UNKNOWN;
}
+
+#define I2C_SLAVE 0x12
+
+noinline int scale_vcores(void)
+{
+ unsigned int rev = omap4_revision();
+
+ /* For VC bypass only VCOREx_CGF_FORCE is necessary and
+ * VCOREx_CFG_VOLTAGE changes can be discarded
+ */
+ writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
+ writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
+
+ /* set VCORE1 force VSEL */
+ omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
+
+ /* FIXME: set VCORE2 force VSEL, Check the reset value */
+ omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
+
+ /* set VCORE3 force VSEL */
+ switch (rev) {
+ case OMAP4430_ES2_0:
+ omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
+ break;
+ case OMAP4430_ES2_1:
+ omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
+ break;
+ }
+
+ return 0;
+}
--
1.7.0.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] omap: move do_set_mux to omap4_generic
2012-03-05 10:19 [PATCH 1/2] omap: move scale_vcores to omap4_generic Jan Weitzel
@ 2012-03-05 10:19 ` Jan Weitzel
2012-03-05 17:12 ` Sascha Hauer
2012-03-05 17:11 ` [PATCH 1/2] omap: move scale_vcores " Sascha Hauer
1 sibling, 1 reply; 7+ messages in thread
From: Jan Weitzel @ 2012-03-05 10:19 UTC (permalink / raw)
To: barebox
do_set_mux is used by two boards.
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
---
arch/arm/boards/panda/mux.c | 9 ---------
arch/arm/boards/pcm049/mux.c | 9 ---------
arch/arm/mach-omap/include/mach/omap4-mux.h | 2 ++
arch/arm/mach-omap/omap4_generic.c | 10 ++++++++++
4 files changed, 12 insertions(+), 18 deletions(-)
diff --git a/arch/arm/boards/panda/mux.c b/arch/arm/boards/panda/mux.c
index 7586e86..5a5c155 100644
--- a/arch/arm/boards/panda/mux.c
+++ b/arch/arm/boards/panda/mux.c
@@ -238,15 +238,6 @@ static const struct pad_conf_entry wkup_padconf_array[] = {
{ PAD0_FREF_CLK4_OUT, M3 /* gpio_wk8 */ },
};
-static void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
-{
- int i;
- struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
-
- for (i = 0; i < size; i++, pad++)
- writew(pad->val, base + pad->offset);
-}
-
void set_muxconf_regs(void)
{
do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
diff --git a/arch/arm/boards/pcm049/mux.c b/arch/arm/boards/pcm049/mux.c
index 9911b62..f8a23d8 100644
--- a/arch/arm/boards/pcm049/mux.c
+++ b/arch/arm/boards/pcm049/mux.c
@@ -235,15 +235,6 @@ static const struct pad_conf_entry wkup_padconf_array[] = {
{PAD1_SYS_BOOT7, (IEN | M3)}, /* gpio_wk10 */
};
-static void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
-{
- int i;
- struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
-
- for (i = 0; i < size; i++, pad++)
- writew(pad->val, base + pad->offset);
-}
-
void set_muxconf_regs(void)
{
do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
diff --git a/arch/arm/mach-omap/include/mach/omap4-mux.h b/arch/arm/mach-omap/include/mach/omap4-mux.h
index 019574b..dfecfd5 100644
--- a/arch/arm/mach-omap/include/mach/omap4-mux.h
+++ b/arch/arm/mach-omap/include/mach/omap4-mux.h
@@ -341,4 +341,6 @@ struct pad_conf_entry {
#define CONTROL_SPARE_R 0x0618
#define CONTROL_SPARE_R_C0 0x061C
+void do_set_mux(u32 base, struct pad_conf_entry const *array, int size);
+
#endif /* _MUX_OMAP4_H_ */
diff --git a/arch/arm/mach-omap/omap4_generic.c b/arch/arm/mach-omap/omap4_generic.c
index 76cf2f5..9c0dbf6 100644
--- a/arch/arm/mach-omap/omap4_generic.c
+++ b/arch/arm/mach-omap/omap4_generic.c
@@ -3,6 +3,7 @@
#include <mach/silicon.h>
#include <io.h>
#include <mach/omap4-silicon.h>
+#include <mach/omap4-mux.h>
#include <mach/omap4-clock.h>
#include <mach/syslib.h>
#include <mach/xload.h>
@@ -450,3 +451,12 @@ noinline int scale_vcores(void)
return 0;
}
+
+void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
+{
+ int i;
+ struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
+
+ for (i = 0; i < size; i++, pad++)
+ writew(pad->val, base + pad->offset);
+}
--
1.7.0.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] omap: move scale_vcores to omap4_generic
2012-03-05 10:19 [PATCH 1/2] omap: move scale_vcores to omap4_generic Jan Weitzel
2012-03-05 10:19 ` [PATCH 2/2] omap: move do_set_mux " Jan Weitzel
@ 2012-03-05 17:11 ` Sascha Hauer
1 sibling, 0 replies; 7+ messages in thread
From: Sascha Hauer @ 2012-03-05 17:11 UTC (permalink / raw)
To: Jan Weitzel; +Cc: barebox
Hi Jan,
On Mon, Mar 05, 2012 at 11:19:43AM +0100, Jan Weitzel wrote:
> index c6e46e6..76cf2f5 100644
> --- a/arch/arm/mach-omap/omap4_generic.c
> +++ b/arch/arm/mach-omap/omap4_generic.c
> @@ -419,3 +419,34 @@ enum omap_boot_src omap4_bootsrc(void)
> return OMAP_BOOTSRC_NAND;
> return OMAP_BOOTSRC_UNKNOWN;
> }
> +
> +#define I2C_SLAVE 0x12
> +
> +noinline int scale_vcores(void)
As this is no static function anymore scale_vcores is a bit generic. Can
you add a omap4_ prefix?
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] omap: move do_set_mux to omap4_generic
2012-03-05 10:19 ` [PATCH 2/2] omap: move do_set_mux " Jan Weitzel
@ 2012-03-05 17:12 ` Sascha Hauer
2012-03-06 14:26 ` [PATCH 1/2 v2] omap: move scale_vcores " Jan Weitzel
2012-03-06 14:26 ` [PATCH 2/2 v2] omap: move do_set_mux " Jan Weitzel
0 siblings, 2 replies; 7+ messages in thread
From: Sascha Hauer @ 2012-03-05 17:12 UTC (permalink / raw)
To: Jan Weitzel; +Cc: barebox
On Mon, Mar 05, 2012 at 11:19:44AM +0100, Jan Weitzel wrote:
> do_set_mux is used by two boards.
> return 0;
> }
> +
> +void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
> +{
> + int i;
> + struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
> +
> + for (i = 0; i < size; i++, pad++)
> + writew(pad->val, base + pad->offset);
> +}
Same here.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2 v2] omap: move scale_vcores to omap4_generic
2012-03-05 17:12 ` Sascha Hauer
@ 2012-03-06 14:26 ` Jan Weitzel
2012-03-07 8:56 ` Sascha Hauer
2012-03-06 14:26 ` [PATCH 2/2 v2] omap: move do_set_mux " Jan Weitzel
1 sibling, 1 reply; 7+ messages in thread
From: Jan Weitzel @ 2012-03-06 14:26 UTC (permalink / raw)
To: barebox
scale_vcores is used by two boards.
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
---
v2: add omap4_ prefix
arch/arm/boards/panda/lowlevel.c | 33 +----------------------
arch/arm/boards/pcm049/lowlevel.c | 33 +----------------------
arch/arm/mach-omap/include/mach/omap4-silicon.h | 1 +
arch/arm/mach-omap/omap4_generic.c | 31 +++++++++++++++++++++
4 files changed, 34 insertions(+), 64 deletions(-)
diff --git a/arch/arm/boards/panda/lowlevel.c b/arch/arm/boards/panda/lowlevel.c
index 45ea221..8591fff 100644
--- a/arch/arm/boards/panda/lowlevel.c
+++ b/arch/arm/boards/panda/lowlevel.c
@@ -44,37 +44,6 @@ static const struct ddr_regs ddr_regs_400_mhz_2cs = {
.mr2 = 0x4
};
-#define I2C_SLAVE 0x12
-
-static int noinline scale_vcores(void)
-{
- unsigned int rev = omap4_revision();
-
- /* For VC bypass only VCOREx_CGF_FORCE is necessary and
- * VCOREx_CFG_VOLTAGE changes can be discarded
- */
- writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
- writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
-
- /* set VCORE1 force VSEL */
- omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
-
- /* FIXME: set VCORE2 force VSEL, Check the reset value */
- omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
-
- /* set VCORE3 force VSEL */
- switch (rev) {
- case OMAP4430_ES2_0:
- omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
- break;
- case OMAP4430_ES2_1:
- omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
- break;
- }
-
- return 0;
-}
-
static void noinline panda_init_lowlevel(void)
{
struct dpll_param core = OMAP4_CORE_DPLL_PARAM_38M4_DDR400;
@@ -101,7 +70,7 @@ static void noinline panda_init_lowlevel(void)
omap4_ddr_init(&ddr_regs_400_mhz_2cs, &core);
/* Set VCORE1 = 1.3 V, VCORE2 = VCORE3 = 1.21V */
- scale_vcores();
+ omap4_scale_vcores();
board_init_lowlevel_return();
}
diff --git a/arch/arm/boards/pcm049/lowlevel.c b/arch/arm/boards/pcm049/lowlevel.c
index bea895e..444a394 100644
--- a/arch/arm/boards/pcm049/lowlevel.c
+++ b/arch/arm/boards/pcm049/lowlevel.c
@@ -44,37 +44,6 @@ static const struct ddr_regs ddr_regs_mt42L64M64_3_200_mhz = {
.mr2 = 0x1 /* from elpida 200MHz! */
};
-#define I2C_SLAVE 0x12
-
-static int noinline scale_vcores(void)
-{
- unsigned int rev = omap4_revision();
-
- /* For VC bypass only VCOREx_CGF_FORCE is necessary and
- * VCOREx_CFG_VOLTAGE changes can be discarded
- */
- writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
- writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
-
- /* set VCORE1 force VSEL */
- omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
-
- /* FIXME: set VCORE2 force VSEL, Check the reset value */
- omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
-
- /* set VCORE3 force VSEL */
- switch (rev) {
- case OMAP4430_ES2_0:
- omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
- break;
- case OMAP4430_ES2_1:
- omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
- break;
- }
-
- return 0;
-}
-
static void noinline pcm049_init_lowlevel(void)
{
struct dpll_param core = OMAP4_CORE_DPLL_PARAM_19M2_DDR200;
@@ -89,7 +58,7 @@ static void noinline pcm049_init_lowlevel(void)
omap4_ddr_init(&ddr_regs_mt42L64M64_3_200_mhz, &core);
/* Set VCORE1 = 1.3 V, VCORE2 = VCORE3 = 1.21V */
- scale_vcores();
+ omap4_scale_vcores();
writel(CM_SYS_CLKSEL_19M2, CM_SYS_CLKSEL);
diff --git a/arch/arm/mach-omap/include/mach/omap4-silicon.h b/arch/arm/mach-omap/include/mach/omap4-silicon.h
index db0dfdf..f8d3396 100644
--- a/arch/arm/mach-omap/include/mach/omap4-silicon.h
+++ b/arch/arm/mach-omap/include/mach/omap4-silicon.h
@@ -175,5 +175,6 @@ struct dpll_param;
void omap4_ddr_init(const struct ddr_regs *, const struct dpll_param *);
void omap4_power_i2c_send(u32);
unsigned int omap4_revision(void);
+noinline int omap4_scale_vcores(void);
#endif
diff --git a/arch/arm/mach-omap/omap4_generic.c b/arch/arm/mach-omap/omap4_generic.c
index c6e46e6..8352470 100644
--- a/arch/arm/mach-omap/omap4_generic.c
+++ b/arch/arm/mach-omap/omap4_generic.c
@@ -419,3 +419,34 @@ enum omap_boot_src omap4_bootsrc(void)
return OMAP_BOOTSRC_NAND;
return OMAP_BOOTSRC_UNKNOWN;
}
+
+#define I2C_SLAVE 0x12
+
+noinline int omap4_scale_vcores(void)
+{
+ unsigned int rev = omap4_revision();
+
+ /* For VC bypass only VCOREx_CGF_FORCE is necessary and
+ * VCOREx_CFG_VOLTAGE changes can be discarded
+ */
+ writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
+ writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
+
+ /* set VCORE1 force VSEL */
+ omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
+
+ /* FIXME: set VCORE2 force VSEL, Check the reset value */
+ omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
+
+ /* set VCORE3 force VSEL */
+ switch (rev) {
+ case OMAP4430_ES2_0:
+ omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
+ break;
+ case OMAP4430_ES2_1:
+ omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
+ break;
+ }
+
+ return 0;
+}
--
1.7.0.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2 v2] omap: move do_set_mux to omap4_generic
2012-03-05 17:12 ` Sascha Hauer
2012-03-06 14:26 ` [PATCH 1/2 v2] omap: move scale_vcores " Jan Weitzel
@ 2012-03-06 14:26 ` Jan Weitzel
1 sibling, 0 replies; 7+ messages in thread
From: Jan Weitzel @ 2012-03-06 14:26 UTC (permalink / raw)
To: barebox
do_set_mux is used by two boards.
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
---
v2: add omap4_ prefix
arch/arm/boards/panda/mux.c | 13 ++-----------
arch/arm/boards/pcm049/mux.c | 13 ++-----------
arch/arm/mach-omap/include/mach/omap4-mux.h | 2 ++
arch/arm/mach-omap/omap4_generic.c | 10 ++++++++++
4 files changed, 16 insertions(+), 22 deletions(-)
diff --git a/arch/arm/boards/panda/mux.c b/arch/arm/boards/panda/mux.c
index 7586e86..310e433 100644
--- a/arch/arm/boards/panda/mux.c
+++ b/arch/arm/boards/panda/mux.c
@@ -238,20 +238,11 @@ static const struct pad_conf_entry wkup_padconf_array[] = {
{ PAD0_FREF_CLK4_OUT, M3 /* gpio_wk8 */ },
};
-static void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
-{
- int i;
- struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
-
- for (i = 0; i < size; i++, pad++)
- writew(pad->val, base + pad->offset);
-}
-
void set_muxconf_regs(void)
{
- do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
+ omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
ARRAY_SIZE(core_padconf_array));
- do_set_mux(OMAP44XX_CONTROL_PADCONF_WKUP, wkup_padconf_array,
+ omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_WKUP, wkup_padconf_array,
ARRAY_SIZE(wkup_padconf_array));
}
diff --git a/arch/arm/boards/pcm049/mux.c b/arch/arm/boards/pcm049/mux.c
index 9911b62..0e7adea 100644
--- a/arch/arm/boards/pcm049/mux.c
+++ b/arch/arm/boards/pcm049/mux.c
@@ -235,20 +235,11 @@ static const struct pad_conf_entry wkup_padconf_array[] = {
{PAD1_SYS_BOOT7, (IEN | M3)}, /* gpio_wk10 */
};
-static void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
-{
- int i;
- struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
-
- for (i = 0; i < size; i++, pad++)
- writew(pad->val, base + pad->offset);
-}
-
void set_muxconf_regs(void)
{
- do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
+ omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
ARRAY_SIZE(core_padconf_array));
- do_set_mux(OMAP44XX_CONTROL_PADCONF_WKUP, wkup_padconf_array,
+ omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_WKUP, wkup_padconf_array,
ARRAY_SIZE(wkup_padconf_array));
}
diff --git a/arch/arm/mach-omap/include/mach/omap4-mux.h b/arch/arm/mach-omap/include/mach/omap4-mux.h
index 019574b..d06beaa 100644
--- a/arch/arm/mach-omap/include/mach/omap4-mux.h
+++ b/arch/arm/mach-omap/include/mach/omap4-mux.h
@@ -341,4 +341,6 @@ struct pad_conf_entry {
#define CONTROL_SPARE_R 0x0618
#define CONTROL_SPARE_R_C0 0x061C
+void omap4_do_set_mux(u32 base, struct pad_conf_entry const *array, int size);
+
#endif /* _MUX_OMAP4_H_ */
diff --git a/arch/arm/mach-omap/omap4_generic.c b/arch/arm/mach-omap/omap4_generic.c
index 8352470..baa138d 100644
--- a/arch/arm/mach-omap/omap4_generic.c
+++ b/arch/arm/mach-omap/omap4_generic.c
@@ -3,6 +3,7 @@
#include <mach/silicon.h>
#include <io.h>
#include <mach/omap4-silicon.h>
+#include <mach/omap4-mux.h>
#include <mach/omap4-clock.h>
#include <mach/syslib.h>
#include <mach/xload.h>
@@ -450,3 +451,12 @@ noinline int omap4_scale_vcores(void)
return 0;
}
+
+void omap4_do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
+{
+ int i;
+ struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
+
+ for (i = 0; i < size; i++, pad++)
+ writew(pad->val, base + pad->offset);
+}
--
1.7.0.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2 v2] omap: move scale_vcores to omap4_generic
2012-03-06 14:26 ` [PATCH 1/2 v2] omap: move scale_vcores " Jan Weitzel
@ 2012-03-07 8:56 ` Sascha Hauer
0 siblings, 0 replies; 7+ messages in thread
From: Sascha Hauer @ 2012-03-07 8:56 UTC (permalink / raw)
To: Jan Weitzel; +Cc: barebox
On Tue, Mar 06, 2012 at 03:26:28PM +0100, Jan Weitzel wrote:
> scale_vcores is used by two boards.
>
> Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
> ---
> v2: add omap4_ prefix
Applied both. Thanks
Sascha
>
> arch/arm/boards/panda/lowlevel.c | 33 +----------------------
> arch/arm/boards/pcm049/lowlevel.c | 33 +----------------------
> arch/arm/mach-omap/include/mach/omap4-silicon.h | 1 +
> arch/arm/mach-omap/omap4_generic.c | 31 +++++++++++++++++++++
> 4 files changed, 34 insertions(+), 64 deletions(-)
>
> diff --git a/arch/arm/boards/panda/lowlevel.c b/arch/arm/boards/panda/lowlevel.c
> index 45ea221..8591fff 100644
> --- a/arch/arm/boards/panda/lowlevel.c
> +++ b/arch/arm/boards/panda/lowlevel.c
> @@ -44,37 +44,6 @@ static const struct ddr_regs ddr_regs_400_mhz_2cs = {
> .mr2 = 0x4
> };
>
> -#define I2C_SLAVE 0x12
> -
> -static int noinline scale_vcores(void)
> -{
> - unsigned int rev = omap4_revision();
> -
> - /* For VC bypass only VCOREx_CGF_FORCE is necessary and
> - * VCOREx_CFG_VOLTAGE changes can be discarded
> - */
> - writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
> - writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
> -
> - /* set VCORE1 force VSEL */
> - omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
> -
> - /* FIXME: set VCORE2 force VSEL, Check the reset value */
> - omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
> -
> - /* set VCORE3 force VSEL */
> - switch (rev) {
> - case OMAP4430_ES2_0:
> - omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
> - break;
> - case OMAP4430_ES2_1:
> - omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
> - break;
> - }
> -
> - return 0;
> -}
> -
> static void noinline panda_init_lowlevel(void)
> {
> struct dpll_param core = OMAP4_CORE_DPLL_PARAM_38M4_DDR400;
> @@ -101,7 +70,7 @@ static void noinline panda_init_lowlevel(void)
> omap4_ddr_init(&ddr_regs_400_mhz_2cs, &core);
>
> /* Set VCORE1 = 1.3 V, VCORE2 = VCORE3 = 1.21V */
> - scale_vcores();
> + omap4_scale_vcores();
>
> board_init_lowlevel_return();
> }
> diff --git a/arch/arm/boards/pcm049/lowlevel.c b/arch/arm/boards/pcm049/lowlevel.c
> index bea895e..444a394 100644
> --- a/arch/arm/boards/pcm049/lowlevel.c
> +++ b/arch/arm/boards/pcm049/lowlevel.c
> @@ -44,37 +44,6 @@ static const struct ddr_regs ddr_regs_mt42L64M64_3_200_mhz = {
> .mr2 = 0x1 /* from elpida 200MHz! */
> };
>
> -#define I2C_SLAVE 0x12
> -
> -static int noinline scale_vcores(void)
> -{
> - unsigned int rev = omap4_revision();
> -
> - /* For VC bypass only VCOREx_CGF_FORCE is necessary and
> - * VCOREx_CFG_VOLTAGE changes can be discarded
> - */
> - writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
> - writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
> -
> - /* set VCORE1 force VSEL */
> - omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
> -
> - /* FIXME: set VCORE2 force VSEL, Check the reset value */
> - omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
> -
> - /* set VCORE3 force VSEL */
> - switch (rev) {
> - case OMAP4430_ES2_0:
> - omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
> - break;
> - case OMAP4430_ES2_1:
> - omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
> - break;
> - }
> -
> - return 0;
> -}
> -
> static void noinline pcm049_init_lowlevel(void)
> {
> struct dpll_param core = OMAP4_CORE_DPLL_PARAM_19M2_DDR200;
> @@ -89,7 +58,7 @@ static void noinline pcm049_init_lowlevel(void)
> omap4_ddr_init(&ddr_regs_mt42L64M64_3_200_mhz, &core);
>
> /* Set VCORE1 = 1.3 V, VCORE2 = VCORE3 = 1.21V */
> - scale_vcores();
> + omap4_scale_vcores();
>
> writel(CM_SYS_CLKSEL_19M2, CM_SYS_CLKSEL);
>
> diff --git a/arch/arm/mach-omap/include/mach/omap4-silicon.h b/arch/arm/mach-omap/include/mach/omap4-silicon.h
> index db0dfdf..f8d3396 100644
> --- a/arch/arm/mach-omap/include/mach/omap4-silicon.h
> +++ b/arch/arm/mach-omap/include/mach/omap4-silicon.h
> @@ -175,5 +175,6 @@ struct dpll_param;
> void omap4_ddr_init(const struct ddr_regs *, const struct dpll_param *);
> void omap4_power_i2c_send(u32);
> unsigned int omap4_revision(void);
> +noinline int omap4_scale_vcores(void);
>
> #endif
> diff --git a/arch/arm/mach-omap/omap4_generic.c b/arch/arm/mach-omap/omap4_generic.c
> index c6e46e6..8352470 100644
> --- a/arch/arm/mach-omap/omap4_generic.c
> +++ b/arch/arm/mach-omap/omap4_generic.c
> @@ -419,3 +419,34 @@ enum omap_boot_src omap4_bootsrc(void)
> return OMAP_BOOTSRC_NAND;
> return OMAP_BOOTSRC_UNKNOWN;
> }
> +
> +#define I2C_SLAVE 0x12
> +
> +noinline int omap4_scale_vcores(void)
> +{
> + unsigned int rev = omap4_revision();
> +
> + /* For VC bypass only VCOREx_CGF_FORCE is necessary and
> + * VCOREx_CFG_VOLTAGE changes can be discarded
> + */
> + writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
> + writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
> +
> + /* set VCORE1 force VSEL */
> + omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
> +
> + /* FIXME: set VCORE2 force VSEL, Check the reset value */
> + omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
> +
> + /* set VCORE3 force VSEL */
> + switch (rev) {
> + case OMAP4430_ES2_0:
> + omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
> + break;
> + case OMAP4430_ES2_1:
> + omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
> + break;
> + }
> +
> + return 0;
> +}
> --
> 1.7.0.4
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-03-07 8:56 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-05 10:19 [PATCH 1/2] omap: move scale_vcores to omap4_generic Jan Weitzel
2012-03-05 10:19 ` [PATCH 2/2] omap: move do_set_mux " Jan Weitzel
2012-03-05 17:12 ` Sascha Hauer
2012-03-06 14:26 ` [PATCH 1/2 v2] omap: move scale_vcores " Jan Weitzel
2012-03-07 8:56 ` Sascha Hauer
2012-03-06 14:26 ` [PATCH 2/2 v2] omap: move do_set_mux " Jan Weitzel
2012-03-05 17:11 ` [PATCH 1/2] omap: move scale_vcores " Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox