* [GIT PULL PATCH 0/3] Ux500 devicetree fixes
@ 2013-03-27 21:03 Linus Walleij
2013-03-27 21:03 ` [PATCH 1/3] ARM: ux500: Apply the TCPM and TCDM locations and sizes to dbx5x0 DT Linus Walleij
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Linus Walleij @ 2013-03-27 21:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Linus Walleij <linus.walleij@linaro.org>
Here are three fixes to get the device tree booting properly again
on the Ux500 platforms.
I am sending out the patches so as to make sure everyone has had
a chance to look at them.
If you like them, please pull this into the ARM SoC tree.
Thanks!
Linus Walleij
The following changes since commit a937536b868b8369b98967929045f1df54234323:
Linux 3.9-rc3 (2013-03-17 15:59:32 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git tags/ux500-fixes-for-v3.9
for you to fetch changes up to 265c3c0a64df50c0e8fe55cfe8af8851ed5feca5:
ARM: ux500: Enable the clock controlling Ethernet on Snowball (2013-03-27 20:20:40 +0100)
----------------------------------------------------------------
Fixes boot regressions on Device Tree:
- Get TCPM and TCDM locations from the device tree
- Skip passing the ios_handler for the MMCI
- Enable the ethernet clock for Snowball
----------------------------------------------------------------
Lee Jones (3):
ARM: ux500: Apply the TCPM and TCDM locations and sizes to dbx5x0 DT
ARM: ux500: Stop passing ios_handler() as an MMCI power controlling call-back
ARM: ux500: Enable the clock controlling Ethernet on Snowball
arch/arm/boot/dts/dbx5x0.dtsi | 4 ++--
arch/arm/mach-ux500/board-mop500-sdi.c | 1 -
arch/arm/mach-ux500/board-mop500.c | 12 ++++++++++++
arch/arm/mach-ux500/board-mop500.h | 1 +
arch/arm/mach-ux500/cpu-db8500.c | 5 +++--
5 files changed, 18 insertions(+), 5 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] ARM: ux500: Apply the TCPM and TCDM locations and sizes to dbx5x0 DT
2013-03-27 21:03 [GIT PULL PATCH 0/3] Ux500 devicetree fixes Linus Walleij
@ 2013-03-27 21:03 ` Linus Walleij
2013-03-27 21:03 ` [PATCH 2/3] ARM: ux500: Stop passing ios_handler() as an MMCI power controlling call-back Linus Walleij
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Linus Walleij @ 2013-03-27 21:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Lee Jones <lee.jones@linaro.org>
This fixes a regression introduced by commit:
05ec260 mfd:db8500-prcmu: update resource passing
All DBx5x0 based SoCs have access to two Tightly Coupled Memory
(TCM) locations based on the PRCMU itself. One area from program
memory (TCPM) and one for data memory (TCDM). The PRCMU needs to
know where these are in order to function correctly. However,
these are currently passed though platform device resources, which
can only be obtained if Device Tree booting isn't in use. Thus we
must also support them in DT by supplying them through the PRCMU
node.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/boot/dts/dbx5x0.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/dbx5x0.dtsi b/arch/arm/boot/dts/dbx5x0.dtsi
index 9de9309..aaa63d0 100644
--- a/arch/arm/boot/dts/dbx5x0.dtsi
+++ b/arch/arm/boot/dts/dbx5x0.dtsi
@@ -191,8 +191,8 @@
prcmu: prcmu at 80157000 {
compatible = "stericsson,db8500-prcmu";
- reg = <0x80157000 0x1000>;
- reg-names = "prcmu";
+ reg = <0x80157000 0x1000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
+ reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
interrupts = <0 47 0x4>;
#address-cells = <1>;
#size-cells = <1>;
--
1.7.11.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] ARM: ux500: Stop passing ios_handler() as an MMCI power controlling call-back
2013-03-27 21:03 [GIT PULL PATCH 0/3] Ux500 devicetree fixes Linus Walleij
2013-03-27 21:03 ` [PATCH 1/3] ARM: ux500: Apply the TCPM and TCDM locations and sizes to dbx5x0 DT Linus Walleij
@ 2013-03-27 21:03 ` Linus Walleij
2013-03-27 21:03 ` [PATCH 3/3] ARM: ux500: Enable the clock controlling Ethernet on Snowball Linus Walleij
2013-03-27 21:38 ` [GIT PULL PATCH 0/3] Ux500 devicetree fixes Arnd Bergmann
3 siblings, 0 replies; 5+ messages in thread
From: Linus Walleij @ 2013-03-27 21:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Lee Jones <lee.jones@linaro.org>
This fixes a regression introduced during the v3.9 merge window.
Now MMCI on/off functionality is using the regulator framework
from the MMCI driver, if we provide the ios_handler call-back we
essentially duplicate functionality, which causes a large mess
and lots of booting issues.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/mach-ux500/board-mop500-sdi.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c
index 051b62c..7f2cb6c 100644
--- a/arch/arm/mach-ux500/board-mop500-sdi.c
+++ b/arch/arm/mach-ux500/board-mop500-sdi.c
@@ -81,7 +81,6 @@ static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = {
#endif
struct mmci_platform_data mop500_sdi0_data = {
- .ios_handler = mop500_sdi0_ios_handler,
.ocr_mask = MMC_VDD_29_30,
.f_max = 50000000,
.capabilities = MMC_CAP_4_BIT_DATA |
--
1.7.11.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] ARM: ux500: Enable the clock controlling Ethernet on Snowball
2013-03-27 21:03 [GIT PULL PATCH 0/3] Ux500 devicetree fixes Linus Walleij
2013-03-27 21:03 ` [PATCH 1/3] ARM: ux500: Apply the TCPM and TCDM locations and sizes to dbx5x0 DT Linus Walleij
2013-03-27 21:03 ` [PATCH 2/3] ARM: ux500: Stop passing ios_handler() as an MMCI power controlling call-back Linus Walleij
@ 2013-03-27 21:03 ` Linus Walleij
2013-03-27 21:38 ` [GIT PULL PATCH 0/3] Ux500 devicetree fixes Arnd Bergmann
3 siblings, 0 replies; 5+ messages in thread
From: Linus Walleij @ 2013-03-27 21:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Lee Jones <lee.jones@linaro.org>
This fixes a regression introduced by common clk enablement.
On some u8500 based boards, the FMSC clock which is usually used
for flash, is wired up to the SMSC911x Ethernet driver. However,
the SMSC911x doesn't have common clk support yet, rendering it
unusable. Prior to the introduction of common clk the FMSC clock
was default on; however, common clk disables all clocks by default
and insists drivers take responsibility to enable theirs.
This fix enables the FMSC clock on Snowball, subsequently turning
on the SMSC911x Ethernet chip. It will be removed when the driver
is compatible with common clk.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/mach-ux500/board-mop500.c | 12 ++++++++++++
arch/arm/mach-ux500/board-mop500.h | 1 +
arch/arm/mach-ux500/cpu-db8500.c | 5 +++--
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index b034578..87d2d7b 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -12,6 +12,7 @@
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
+#include <linux/clk.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <linux/platform_data/i2c-nomadik.h>
@@ -439,6 +440,15 @@ static void mop500_prox_deactivate(struct device *dev)
regulator_put(prox_regulator);
}
+void mop500_snowball_ethernet_clock_enable(void)
+{
+ struct clk *clk;
+
+ clk = clk_get_sys("fsmc", NULL);
+ if (!IS_ERR(clk))
+ clk_prepare_enable(clk);
+}
+
static struct cryp_platform_data u8500_cryp1_platform_data = {
.mem_to_engine = {
.dir = STEDMA40_MEM_TO_PERIPH,
@@ -683,6 +693,8 @@ static void __init snowball_init_machine(void)
mop500_audio_init(parent);
mop500_uart_init(parent);
+ mop500_snowball_ethernet_clock_enable();
+
/* This board has full regulator constraints */
regulator_has_full_constraints();
}
diff --git a/arch/arm/mach-ux500/board-mop500.h b/arch/arm/mach-ux500/board-mop500.h
index eaa605f..d38951b 100644
--- a/arch/arm/mach-ux500/board-mop500.h
+++ b/arch/arm/mach-ux500/board-mop500.h
@@ -104,6 +104,7 @@ void __init mop500_pinmaps_init(void);
void __init snowball_pinmaps_init(void);
void __init hrefv60_pinmaps_init(void);
void mop500_audio_init(struct device *parent);
+void mop500_snowball_ethernet_clock_enable(void);
int __init mop500_uib_init(void);
void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info,
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index 19235cf..f1a5818 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -312,9 +312,10 @@ static void __init u8500_init_machine(void)
/* Pinmaps must be in place before devices register */
if (of_machine_is_compatible("st-ericsson,mop500"))
mop500_pinmaps_init();
- else if (of_machine_is_compatible("calaosystems,snowball-a9500"))
+ else if (of_machine_is_compatible("calaosystems,snowball-a9500")) {
snowball_pinmaps_init();
- else if (of_machine_is_compatible("st-ericsson,hrefv60+"))
+ mop500_snowball_ethernet_clock_enable();
+ } else if (of_machine_is_compatible("st-ericsson,hrefv60+"))
hrefv60_pinmaps_init();
else if (of_machine_is_compatible("st-ericsson,ccu9540")) {}
/* TODO: Add pinmaps for ccu9540 board. */
--
1.7.11.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [GIT PULL PATCH 0/3] Ux500 devicetree fixes
2013-03-27 21:03 [GIT PULL PATCH 0/3] Ux500 devicetree fixes Linus Walleij
` (2 preceding siblings ...)
2013-03-27 21:03 ` [PATCH 3/3] ARM: ux500: Enable the clock controlling Ethernet on Snowball Linus Walleij
@ 2013-03-27 21:38 ` Arnd Bergmann
3 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2013-03-27 21:38 UTC (permalink / raw)
To: linux-arm-kernel
On Wednesday 27 March 2013, Linus Walleij wrote:
> From: Linus Walleij <linus.walleij@linaro.org>
>
> Here are three fixes to get the device tree booting properly again
> on the Ux500 platforms.
>
> I am sending out the patches so as to make sure everyone has had
> a chance to look at them.
>
> If you like them, please pull this into the ARM SoC tree.
Pulled into fixes branch. Thanks a lot both of you for following up on this!
Arnd
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-03-27 21:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-27 21:03 [GIT PULL PATCH 0/3] Ux500 devicetree fixes Linus Walleij
2013-03-27 21:03 ` [PATCH 1/3] ARM: ux500: Apply the TCPM and TCDM locations and sizes to dbx5x0 DT Linus Walleij
2013-03-27 21:03 ` [PATCH 2/3] ARM: ux500: Stop passing ios_handler() as an MMCI power controlling call-back Linus Walleij
2013-03-27 21:03 ` [PATCH 3/3] ARM: ux500: Enable the clock controlling Ethernet on Snowball Linus Walleij
2013-03-27 21:38 ` [GIT PULL PATCH 0/3] Ux500 devicetree fixes Arnd Bergmann
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.