All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V3 0/3] bring up pxa988 with DT
@ 2013-07-09  6:42 ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel
  Cc: Neil Zhang

This patch is supposed to bring up pxa988 SMP.

ChangeLog
V3:
1. change all Marvell prefix to 'marvell'
2. Support CLOCKSOURCE for mmp timer
3. Modify the bring up patch according to Arnd's comments.

V2:
1. use early_init call for handler init.
2. Add sanity check for maximum core count.

Neil Zhang (3):
  dts: change Marvell prefix to 'marvell'
  clocksource: mmp: support CLOCKSOURCE OF DECLARE
  ARM: mmp: bring up pxa988 with device tree support

 .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +-
 .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
 .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
 Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +-
 .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 +-
 .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
 .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
 arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
 arch/arm/boot/dts/mmp2.dtsi                        |   56 +++---
 arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
 arch/arm/boot/dts/pxa168.dtsi                      |   24 ++--
 arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +-
 arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
 arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
 arch/arm/boot/dts/pxa910.dtsi                      |   27 ++--
 .../dts/{pxa168-aspenite.dts => pxa988-dkb.dts}    |   12 +-
 arch/arm/boot/dts/pxa988.dtsi                      |  190 ++++++++++++++++++++
 arch/arm/mach-mmp/Kconfig                          |   18 ++
 arch/arm/mach-mmp/Makefile                         |    1 +
 arch/arm/mach-mmp/common.c                         |   11 +-
 arch/arm/mach-mmp/common.h                         |    2 +
 arch/arm/mach-mmp/headsmp.S                        |  104 +++++++++++
 arch/arm/mach-mmp/include/mach/addr-map.h          |    6 +
 arch/arm/mach-mmp/irq.c                            |   16 +-
 arch/arm/mach-mmp/mmp-dt.c                         |   33 ++--
 arch/arm/mach-mmp/mmp2-dt.c                        |   60 +++++-
 arch/arm/mach-mmp/platsmp.c                        |  167 +++++++++++++++++
 arch/arm/mach-mmp/reset.c                          |   66 +++++++
 arch/arm/mach-mmp/reset.h                          |   29 +++
 arch/arm/mach-mmp/time.c                           |   15 +--
 arch/arm/mach-pxa/pxa-dt.c                         |   14 +-
 drivers/clk/mmp/Makefile                           |    1 +
 drivers/i2c/busses/i2c-pxa.c                       |   10 +-
 drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
 drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
 drivers/rtc/rtc-sa1100.c                           |    4 +-
 drivers/tty/serial/pxa.c                           |    4 +-
 37 files changed, 788 insertions(+), 168 deletions(-)
 copy arch/arm/boot/dts/{pxa168-aspenite.dts => pxa988-dkb.dts} (74%)
 create mode 100644 arch/arm/boot/dts/pxa988.dtsi
 create mode 100644 arch/arm/mach-mmp/headsmp.S
 create mode 100644 arch/arm/mach-mmp/platsmp.c
 create mode 100644 arch/arm/mach-mmp/reset.c
 create mode 100644 arch/arm/mach-mmp/reset.h

-- 
1.7.4.1


^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 0/3] bring up pxa988 with DT
@ 2013-07-09  6:42 ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel
  Cc: Neil Zhang

This patch is supposed to bring up pxa988 SMP.

ChangeLog
V3:
1. change all Marvell prefix to 'marvell'
2. Support CLOCKSOURCE for mmp timer
3. Modify the bring up patch according to Arnd's comments.

V2:
1. use early_init call for handler init.
2. Add sanity check for maximum core count.

Neil Zhang (3):
  dts: change Marvell prefix to 'marvell'
  clocksource: mmp: support CLOCKSOURCE OF DECLARE
  ARM: mmp: bring up pxa988 with device tree support

 .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +-
 .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
 .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
 Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +-
 .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 +-
 .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
 .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
 arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
 arch/arm/boot/dts/mmp2.dtsi                        |   56 +++---
 arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
 arch/arm/boot/dts/pxa168.dtsi                      |   24 ++--
 arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +-
 arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
 arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
 arch/arm/boot/dts/pxa910.dtsi                      |   27 ++--
 .../dts/{pxa168-aspenite.dts => pxa988-dkb.dts}    |   12 +-
 arch/arm/boot/dts/pxa988.dtsi                      |  190 ++++++++++++++++++++
 arch/arm/mach-mmp/Kconfig                          |   18 ++
 arch/arm/mach-mmp/Makefile                         |    1 +
 arch/arm/mach-mmp/common.c                         |   11 +-
 arch/arm/mach-mmp/common.h                         |    2 +
 arch/arm/mach-mmp/headsmp.S                        |  104 +++++++++++
 arch/arm/mach-mmp/include/mach/addr-map.h          |    6 +
 arch/arm/mach-mmp/irq.c                            |   16 +-
 arch/arm/mach-mmp/mmp-dt.c                         |   33 ++--
 arch/arm/mach-mmp/mmp2-dt.c                        |   60 +++++-
 arch/arm/mach-mmp/platsmp.c                        |  167 +++++++++++++++++
 arch/arm/mach-mmp/reset.c                          |   66 +++++++
 arch/arm/mach-mmp/reset.h                          |   29 +++
 arch/arm/mach-mmp/time.c                           |   15 +--
 arch/arm/mach-pxa/pxa-dt.c                         |   14 +-
 drivers/clk/mmp/Makefile                           |    1 +
 drivers/i2c/busses/i2c-pxa.c                       |   10 +-
 drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
 drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
 drivers/rtc/rtc-sa1100.c                           |    4 +-
 drivers/tty/serial/pxa.c                           |    4 +-
 37 files changed, 788 insertions(+), 168 deletions(-)
 copy arch/arm/boot/dts/{pxa168-aspenite.dts => pxa988-dkb.dts} (74%)
 create mode 100644 arch/arm/boot/dts/pxa988.dtsi
 create mode 100644 arch/arm/mach-mmp/headsmp.S
 create mode 100644 arch/arm/mach-mmp/platsmp.c
 create mode 100644 arch/arm/mach-mmp/reset.c
 create mode 100644 arch/arm/mach-mmp/reset.h

-- 
1.7.4.1

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 0/3] bring up pxa988 with DT
@ 2013-07-09  6:42 ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: linux-arm-kernel

This patch is supposed to bring up pxa988 SMP.

ChangeLog
V3:
1. change all Marvell prefix to 'marvell'
2. Support CLOCKSOURCE for mmp timer
3. Modify the bring up patch according to Arnd's comments.

V2:
1. use early_init call for handler init.
2. Add sanity check for maximum core count.

Neil Zhang (3):
  dts: change Marvell prefix to 'marvell'
  clocksource: mmp: support CLOCKSOURCE OF DECLARE
  ARM: mmp: bring up pxa988 with device tree support

 .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +-
 .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
 .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
 Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +-
 .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 +-
 .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
 .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
 arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
 arch/arm/boot/dts/mmp2.dtsi                        |   56 +++---
 arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
 arch/arm/boot/dts/pxa168.dtsi                      |   24 ++--
 arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +-
 arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
 arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
 arch/arm/boot/dts/pxa910.dtsi                      |   27 ++--
 .../dts/{pxa168-aspenite.dts => pxa988-dkb.dts}    |   12 +-
 arch/arm/boot/dts/pxa988.dtsi                      |  190 ++++++++++++++++++++
 arch/arm/mach-mmp/Kconfig                          |   18 ++
 arch/arm/mach-mmp/Makefile                         |    1 +
 arch/arm/mach-mmp/common.c                         |   11 +-
 arch/arm/mach-mmp/common.h                         |    2 +
 arch/arm/mach-mmp/headsmp.S                        |  104 +++++++++++
 arch/arm/mach-mmp/include/mach/addr-map.h          |    6 +
 arch/arm/mach-mmp/irq.c                            |   16 +-
 arch/arm/mach-mmp/mmp-dt.c                         |   33 ++--
 arch/arm/mach-mmp/mmp2-dt.c                        |   60 +++++-
 arch/arm/mach-mmp/platsmp.c                        |  167 +++++++++++++++++
 arch/arm/mach-mmp/reset.c                          |   66 +++++++
 arch/arm/mach-mmp/reset.h                          |   29 +++
 arch/arm/mach-mmp/time.c                           |   15 +--
 arch/arm/mach-pxa/pxa-dt.c                         |   14 +-
 drivers/clk/mmp/Makefile                           |    1 +
 drivers/i2c/busses/i2c-pxa.c                       |   10 +-
 drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
 drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
 drivers/rtc/rtc-sa1100.c                           |    4 +-
 drivers/tty/serial/pxa.c                           |    4 +-
 37 files changed, 788 insertions(+), 168 deletions(-)
 copy arch/arm/boot/dts/{pxa168-aspenite.dts => pxa988-dkb.dts} (74%)
 create mode 100644 arch/arm/boot/dts/pxa988.dtsi
 create mode 100644 arch/arm/mach-mmp/headsmp.S
 create mode 100644 arch/arm/mach-mmp/platsmp.c
 create mode 100644 arch/arm/mach-mmp/reset.c
 create mode 100644 arch/arm/mach-mmp/reset.h

-- 
1.7.4.1

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-09  6:42 ` Neil Zhang
  (?)
@ 2013-07-09  6:42   ` Neil Zhang
  -1 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel
  Cc: Neil Zhang

The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
let's change it.

Signed-off-by: Neil Zhang <zhangwm@marvell.com>
---
 .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
 .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
 .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
 Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
 .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
 .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
 .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
 arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
 arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
 arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
 arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
 arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
 arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
 arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
 arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
 arch/arm/mach-mmp/irq.c                            |   16 +++---
 arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
 arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
 arch/arm/mach-mmp/time.c                           |    2 +-
 arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
 drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
 drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
 drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
 drivers/rtc/rtc-sa1100.c                           |    4 +-
 drivers/tty/serial/pxa.c                           |    4 +-
 25 files changed, 144 insertions(+), 143 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
index 8b53273..ad27548 100644
--- a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
+++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
@@ -1,8 +1,8 @@
 * Marvell MMP Interrupt controller
 
 Required properties:
-- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
-  "mrvl,mmp2-mux-intc"
+- compatible : Should be "marvell,mmp-intc", "marvell,mmp2-intc" or
+  "marvell,mmp2-mux-intc"
 - reg : Address and length of the register set of the interrupt controller.
   If the interrupt controller is intc, address and length means the range
   of the whold interrupt controller. If the interrupt controller is mux-intc,
@@ -15,28 +15,28 @@ Required properties:
 - interrupt-controller : Identifies the node as an interrupt controller.
 - #interrupt-cells : Specifies the number of cells needed to encode an
   interrupt source.
-- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
+- marvell,intc-nr-irqs : Specifies the number of interrupts in the interrupt
   controller.
-- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
+- marvell,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
   detection first.
 
 Example:
 	intc: interrupt-controller@d4282000 {
-		compatible = "mrvl,mmp2-intc";
+		compatible = "marvell,mmp2-intc";
 		interrupt-controller;
 		#interrupt-cells = <1>;
 		reg = <0xd4282000 0x1000>;
-		mrvl,intc-nr-irqs = <64>;
+		marvell,intc-nr-irqs = <64>;
 	};
 
 	intcmux4@d4282150 {
-		compatible = "mrvl,mmp2-mux-intc";
+		compatible = "marvell,mmp2-mux-intc";
 		interrupts = <4>;
 		interrupt-controller;
 		#interrupt-cells = <1>;
 		reg = <0x150 0x4>, <0x168 0x4>;
 		reg-names = "mux status", "mux mask";
-		mrvl,intc-nr-irqs = <2>;
+		marvell,intc-nr-irqs = <2>;
 	};
 
 * Marvell Orion Interrupt controller
diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
index 117d741..87f1d42 100644
--- a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
+++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
@@ -3,12 +3,12 @@ Marvell Platforms Device Tree Bindings
 
 PXA168 Aspenite Board
 Required root node properties:
-	- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
+	- compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
 
 PXA910 DKB Board
 Required root node properties:
-	- compatible = "mrvl,pxa910-dkb";
+	- compatible = "marvell,pxa910-dkb";
 
 MMP2 Brownstone Board
 Required root node properties:
-	- compatible = "mrvl,mmp2-brownstone";
+	- compatible = "marvell,mmp2-brownstone";
diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
index 9a6e251..1304526 100644
--- a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
+++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
@@ -1,13 +1,13 @@
 * Marvell MMP Timer controller
 
 Required properties:
-- compatible : Should be "mrvl,mmp-timer".
+- compatible : Should be "marvell,mmp-timer".
 - reg : Address and length of the register set of timer controller.
 - interrupts : Should be the interrupt number.
 
 Example:
 	timer0: timer@d4014000 {
-		compatible = "mrvl,mmp-timer";
+		compatible = "marvell,mmp-timer";
 		reg = <0xd4014000 0x100>;
 		interrupts = <13>;
 	};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
index 12b78ac..34fdf5d 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
@@ -3,9 +3,9 @@
 Required properties :
 
  - reg : Offset and length of the register set for the device
- - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
+ - compatible : should be "marvell,mmp-twsi" where mmp is the name of a
    compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
-   For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
+   For the pxa2xx/pxa3xx, an additional node "marvell,pxa-i2c" is required
    as shown in the example below.
 
 Recommended properties :
@@ -14,20 +14,20 @@ Recommended properties :
  - interrupt-parent : the phandle for the interrupt controller that
    services interrupts for this device. If the parent is the default
    interrupt controller in device tree, it could be ignored.
- - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
+ - marvell,i2c-polling : Disable interrupt of i2c controller. Polling
    status register of i2c controller instead.
- - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
+ - marvell,i2c-fast-mode : Enable fast mode of i2c controller.
 
 Examples:
 	twsi1: i2c@d4011000 {
-		compatible = "mrvl,mmp-twsi";
+		compatible = "marvell,mmp-twsi";
 		reg = <0xd4011000 0x1000>;
 		interrupts = <7>;
-		mrvl,i2c-fast-mode;
+		marvell,i2c-fast-mode;
 	};
 	
 	twsi2: i2c@d4025000 {
-		compatible = "mrvl,mmp-twsi";
+		compatible = "marvell,mmp-twsi";
 		reg = <0xd4025000 0x1000>;
 		interrupts = <58>;
 	};
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
index dbe98a3..d603a3e 100644
--- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
+++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
@@ -4,18 +4,18 @@ This file documents differences between the core properties in mmc.txt
 and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers.
 
 Required properties:
-- compatible: Should be "mrvl,pxav2-mmc" or "mrvl,pxav3-mmc".
+- compatible: Should be "marvell,pxav2-mmc" or "marvell,pxav3-mmc".
 
 Optional properties:
-- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
+- marvell,clk-delay-cycles: Specify a number of cycles to delay for tuning.
 
 Example:
 
 sdhci@d4280800 {
-	compatible = "mrvl,pxav3-mmc";
+	compatible = "marvell,pxav3-mmc";
 	reg = <0xd4280800 0x800>;
 	bus-width = <8>;
 	interrupts = <27>;
 	non-removable;
-	mrvl,clk-delay-cycles = <31>;
+	marvell,clk-delay-cycles = <31>;
 };
diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
index 0cda19a..886fe15 100644
--- a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
+++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
@@ -1,7 +1,7 @@
 * Marvell Real Time Clock controller
 
 Required properties:
-- compatible: should be "mrvl,sa1100-rtc"
+- compatible: should be "marvell,sa1100-rtc"
 - reg: physical base address of the controller and length of memory mapped
   region.
 - interrupts: Should be two. The first interrupt number is the rtc alarm
@@ -10,7 +10,7 @@ Required properties:
 
 Example:
 	rtc: rtc@d4010000 {
-		compatible = "mrvl,mmp-rtc";
+		compatible = "marvell,mmp-rtc";
 		reg = <0xd4010000 0x1000>;
 		interrupts = <5>, <6>;
 		interrupt-name = "rtc 1Hz", "rtc alarm";
diff --git a/Documentation/devicetree/bindings/serial/mrvl-serial.txt b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
index d744340..659d35e 100644
--- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
+++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
@@ -1,4 +1,4 @@
 PXA UART controller
 
 Required properties:
-- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
+- compatible : should be "marvell,mmp-uart" or "marvell,pxa-uart".
diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts
index 7f70a39..26abfde 100644
--- a/arch/arm/boot/dts/mmp2-brownstone.dts
+++ b/arch/arm/boot/dts/mmp2-brownstone.dts
@@ -12,7 +12,7 @@
 
 / {
 	model = "Marvell MMP2 Brownstone Development Board";
-	compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
+	compatible = "marvell,mmp2-brownstone", "marvell,mmp2";
 
 	chosen {
 		bootargs = "console=ttyS2,38400 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
index 4e8b08c..ac13654 100644
--- a/arch/arm/boot/dts/mmp2.dtsi
+++ b/arch/arm/boot/dts/mmp2.dtsi
@@ -32,128 +32,128 @@
 		};
 
 		axi@d4200000 {	/* AXI */
-			compatible = "mrvl,axi-bus", "simple-bus";
+			compatible = "marvell,axi-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4200000 0x00200000>;
 			ranges;
 
 			intc: interrupt-controller@d4282000 {
-				compatible = "mrvl,mmp2-intc";
+				compatible = "marvell,mmp2-intc";
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0xd4282000 0x1000>;
-				mrvl,intc-nr-irqs = <64>;
+				marvell,intc-nr-irqs = <64>;
 			};
 
 			intcmux4: interrupt-controller@d4282150 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <4>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x150 0x4>, <0x168 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
+				marvell,intc-nr-irqs = <2>;
 			};
 
 			intcmux5: interrupt-controller@d4282154 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <5>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x154 0x4>, <0x16c 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
-				mrvl,clr-mfp-irq = <1>;
+				marvell,intc-nr-irqs = <2>;
+				marvell,clr-mfp-irq = <1>;
 			};
 
 			intcmux9: interrupt-controller@d4282180 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <9>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x180 0x4>, <0x17c 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <3>;
+				marvell,intc-nr-irqs = <3>;
 			};
 
 			intcmux17: interrupt-controller@d4282158 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <17>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x158 0x4>, <0x170 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <5>;
+				marvell,intc-nr-irqs = <5>;
 			};
 
 			intcmux35: interrupt-controller@d428215c {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <35>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x15c 0x4>, <0x174 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <15>;
+				marvell,intc-nr-irqs = <15>;
 			};
 
 			intcmux51: interrupt-controller@d4282160 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <51>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x160 0x4>, <0x178 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
+				marvell,intc-nr-irqs = <2>;
 			};
 
 			intcmux55: interrupt-controller@d4282188 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <55>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x188 0x4>, <0x184 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
+				marvell,intc-nr-irqs = <2>;
 			};
 		};
 
 		apb@d4000000 {	/* APB */
-			compatible = "mrvl,apb-bus", "simple-bus";
+			compatible = "marvell,apb-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4000000 0x00200000>;
 			ranges;
 
 			timer0: timer@d4014000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4014000 0x100>;
 				interrupts = <13>;
 			};
 
 			uart1: uart@d4030000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4030000 0x1000>;
 				interrupts = <27>;
 				status = "disabled";
 			};
 
 			uart2: uart@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <28>;
 				status = "disabled";
 			};
 
 			uart3: uart@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <24>;
 				status = "disabled";
 			};
 
 			uart4: uart@d4016000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4016000 0x1000>;
 				interrupts = <46>;
 				status = "disabled";
@@ -198,24 +198,24 @@
 			};
 
 			twsi1: i2c@d4011000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4011000 0x1000>;
 				interrupts = <7>;
 				#address-cells = <1>;
 				#size-cells = <0>;
-				mrvl,i2c-fast-mode;
+				marvell,i2c-fast-mode;
 				status = "disabled";
 			};
 
 			twsi2: i2c@d4025000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4025000 0x1000>;
 				interrupts = <58>;
 				status = "disabled";
 			};
 
 			rtc: rtc@d4010000 {
-				compatible = "mrvl,mmp-rtc";
+				compatible = "marvell,mmp-rtc";
 				reg = <0xd4010000 0x1000>;
 				interrupts = <1 0>;
 				interrupt-names = "rtc 1Hz", "rtc alarm";
diff --git a/arch/arm/boot/dts/pxa168-aspenite.dts b/arch/arm/boot/dts/pxa168-aspenite.dts
index e762fac..1e2ac17 100644
--- a/arch/arm/boot/dts/pxa168-aspenite.dts
+++ b/arch/arm/boot/dts/pxa168-aspenite.dts
@@ -12,7 +12,7 @@
 
 / {
 	model = "Marvell PXA168 Aspenite Development Board";
-	compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
+	compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
 
 	chosen {
 		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi
index 975dad2..c08f5fc 100644
--- a/arch/arm/boot/dts/pxa168.dtsi
+++ b/arch/arm/boot/dts/pxa168.dtsi
@@ -26,51 +26,51 @@
 		ranges;
 
 		axi@d4200000 {	/* AXI */
-			compatible = "mrvl,axi-bus", "simple-bus";
+			compatible = "marvell,axi-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4200000 0x00200000>;
 			ranges;
 
 			intc: interrupt-controller@d4282000 {
-				compatible = "mrvl,mmp-intc";
+				compatible = "marvell,mmp-intc";
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0xd4282000 0x1000>;
-				mrvl,intc-nr-irqs = <64>;
+				marvell,intc-nr-irqs = <64>;
 			};
 
 		};
 
 		apb@d4000000 {	/* APB */
-			compatible = "mrvl,apb-bus", "simple-bus";
+			compatible = "marvell,apb-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4000000 0x00200000>;
 			ranges;
 
 			timer0: timer@d4014000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4014000 0x100>;
 				interrupts = <13>;
 			};
 
 			uart1: uart@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <27>;
 				status = "disabled";
 			};
 
 			uart2: uart@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <28>;
 				status = "disabled";
 			};
 
 			uart3: uart@d4026000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4026000 0x1000>;
 				interrupts = <29>;
 				status = "disabled";
@@ -107,22 +107,22 @@
 			};
 
 			twsi1: i2c@d4011000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4011000 0x1000>;
 				interrupts = <7>;
-				mrvl,i2c-fast-mode;
+				marvell,i2c-fast-mode;
 				status = "disabled";
 			};
 
 			twsi2: i2c@d4025000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4025000 0x1000>;
 				interrupts = <58>;
 				status = "disabled";
 			};
 
 			rtc: rtc@d4010000 {
-				compatible = "mrvl,mmp-rtc";
+				compatible = "marvell,mmp-rtc";
 				reg = <0xd4010000 0x1000>;
 				interrupts = <5 6>;
 				interrupt-names = "rtc 1Hz", "rtc alarm";
diff --git a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi
index a5e90f0..c426b1e 100644
--- a/arch/arm/boot/dts/pxa2xx.dtsi
+++ b/arch/arm/boot/dts/pxa2xx.dtsi
@@ -47,7 +47,7 @@
 		};
 
 		gpio: gpio@40e00000 {
-			compatible = "mrvl,pxa-gpio";
+			compatible = "marvell,pxa-gpio";
 			#address-cells = <0x1>;
 			#size-cells = <0x1>;
 			reg = <0x40e00000 0x10000>;
@@ -76,35 +76,35 @@
 		};
 
 		ffuart: uart@40100000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x40100000 0x30>;
 			interrupts = <22>;
 			status = "disabled";
 		};
 
 		btuart: uart@40200000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x40200000 0x30>;
 			interrupts = <21>;
 			status = "disabled";
 		};
 
 		stuart: uart@40700000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x40700000 0x30>;
 			interrupts = <20>;
 			status = "disabled";
 		};
 
 		hwuart: uart@41100000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x41100000 0x30>;
 			interrupts = <7>;
 			status = "disabled";
 		};
 
 		pxai2c1: i2c@40301680 {
-			compatible = "mrvl,pxa-i2c";
+			compatible = "marvell,pxa-i2c";
 			reg = <0x40301680 0x30>;
 			interrupts = <18>;
 			#address-cells = <0x1>;
@@ -113,14 +113,14 @@
 		};
 
 		usb0: ohci@4c000000 {
-			compatible = "mrvl,pxa-ohci";
+			compatible = "marvell,pxa-ohci";
 			reg = <0x4c000000 0x10000>;
 			interrupts = <3>;
 			status = "disabled";
 		};
 
 		mmc0: mmc@41100000 {
-			compatible = "mrvl,pxa-mmc";
+			compatible = "marvell,pxa-mmc";
 			reg = <0x41100000 0x1000>;
 			interrupts = <23>;
 			status = "disabled";
diff --git a/arch/arm/boot/dts/pxa3xx.dtsi b/arch/arm/boot/dts/pxa3xx.dtsi
index f9d92da..0798031 100644
--- a/arch/arm/boot/dts/pxa3xx.dtsi
+++ b/arch/arm/boot/dts/pxa3xx.dtsi
@@ -7,7 +7,7 @@
 
 	pxabus {
 		pwri2c: i2c@40f500c0 {
-			compatible = "mrvl,pwri2c";
+			compatible = "marvell,pwri2c";
 			reg = <0x40f500c0 0x30>;
 			interrupts = <6>;
 			#address-cells = <0x1>;
diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts
index 595492a..7384254 100644
--- a/arch/arm/boot/dts/pxa910-dkb.dts
+++ b/arch/arm/boot/dts/pxa910-dkb.dts
@@ -12,7 +12,7 @@
 
 / {
 	model = "Marvell PXA910 DKB Development Board";
-	compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
+	compatible = "marvell,pxa910-dkb", "marvell,pxa910";
 
 	chosen {
 		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
index 0247c62..b5594a0 100644
--- a/arch/arm/boot/dts/pxa910.dtsi
+++ b/arch/arm/boot/dts/pxa910.dtsi
@@ -31,58 +31,59 @@
 		};
 
 		axi@d4200000 {	/* AXI */
-			compatible = "mrvl,axi-bus", "simple-bus";
+			compatible = "marvell,axi-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4200000 0x00200000>;
 			ranges;
 
 			intc: interrupt-controller@d4282000 {
-				compatible = "mrvl,mmp-intc";
+				compatible = "marvell,mmp-intc";
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0xd4282000 0x1000>;
-				mrvl,intc-nr-irqs = <64>;
+				marvell,intc-nr-irqs = <64>;
+
 			};
 
 		};
 
 		apb@d4000000 {	/* APB */
-			compatible = "mrvl,apb-bus", "simple-bus";
+			compatible = "marvell,apb-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4000000 0x00200000>;
 			ranges;
 
 			timer0: timer@d4014000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4014000 0x100>;
 				interrupts = <13>;
 			};
 
 			timer1: timer@d4016000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4016000 0x100>;
 				interrupts = <29>;
 				status = "disabled";
 			};
 
 			uart1: uart@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <27>;
 				status = "disabled";
 			};
 
 			uart2: uart@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <28>;
 				status = "disabled";
 			};
 
 			uart3: uart@d4036000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4036000 0x1000>;
 				interrupts = <59>;
 				status = "disabled";
@@ -119,17 +120,17 @@
 			};
 
 			twsi1: i2c@d4011000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				#address-cells = <1>;
 				#size-cells = <0>;
 				reg = <0xd4011000 0x1000>;
 				interrupts = <7>;
-				mrvl,i2c-fast-mode;
+				marvell,i2c-fast-mode;
 				status = "disabled";
 			};
 
 			twsi2: i2c@d4037000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				#address-cells = <1>;
 				#size-cells = <0>;
 				reg = <0xd4037000 0x1000>;
@@ -138,7 +139,7 @@
 			};
 
 			rtc: rtc@d4010000 {
-				compatible = "mrvl,mmp-rtc";
+				compatible = "marvell,mmp-rtc";
 				reg = <0xd4010000 0x1000>;
 				interrupts = <5 6>;
 				interrupt-names = "rtc 1Hz", "rtc alarm";
diff --git a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c
index 3c71246..a7a53611 100644
--- a/arch/arm/mach-mmp/irq.c
+++ b/arch/arm/mach-mmp/irq.c
@@ -327,13 +327,13 @@ void __init mmp2_init_icu(void)
 
 #ifdef CONFIG_OF
 static const struct of_device_id intc_ids[] __initconst = {
-	{ .compatible = "mrvl,mmp-intc", .data = &mmp_conf },
-	{ .compatible = "mrvl,mmp2-intc", .data = &mmp2_conf },
+	{ .compatible = "marvell,mmp-intc", .data = &mmp_conf },
+	{ .compatible = "marvell,mmp2-intc", .data = &mmp2_conf },
 	{}
 };
 
 static const struct of_device_id mmp_mux_irq_match[] __initconst = {
-	{ .compatible = "mrvl,mmp2-mux-intc" },
+	{ .compatible = "marvell,mmp2-mux-intc" },
 	{}
 };
 
@@ -352,10 +352,10 @@ int __init mmp2_mux_init(struct device_node *parent)
 		if (!node)
 			break;
 		of_id = of_match_node(&mmp_mux_irq_match[0], node);
-		ret = of_property_read_u32(node, "mrvl,intc-nr-irqs",
+		ret = of_property_read_u32(node, "marvell,intc-nr-irqs",
 					   &nr_irqs);
 		if (ret) {
-			pr_err("Not found mrvl,intc-nr-irqs property\n");
+			pr_err("Not found marvell,intc-nr-irqs property\n");
 			ret = -EINVAL;
 			goto err;
 		}
@@ -385,7 +385,7 @@ int __init mmp2_mux_init(struct device_node *parent)
 			ret = irq_base;
 			goto err;
 		}
-		if (!of_property_read_u32(node, "mrvl,clr-mfp-irq",
+		if (!of_property_read_u32(node, "marvell,clr-mfp-irq",
 					  &mfp_irq)) {
 			icu_data[i].clr_mfp_irq_base = irq_base;
 			icu_data[i].clr_mfp_hwirq = mfp_irq;
@@ -424,9 +424,9 @@ void __init mmp_dt_irq_init(void)
 	of_id = of_match_node(intc_ids, node);
 	conf = of_id->data;
 
-	ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs);
+	ret = of_property_read_u32(node, "marvell,intc-nr-irqs", &nr_irqs);
 	if (ret) {
-		pr_err("Not found mrvl,intc-nr-irqs property\n");
+		pr_err("Not found marvell,intc-nr-irqs property\n");
 		return;
 	}
 
diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
index b37915d..62c5adb 100644
--- a/arch/arm/mach-mmp/mmp-dt.c
+++ b/arch/arm/mach-mmp/mmp-dt.c
@@ -23,24 +23,24 @@ extern void __init mmp_dt_irq_init(void);
 extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
 	{}
 };
 
 static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
 	{}
 };
 
@@ -57,8 +57,8 @@ static void __init pxa910_dt_init(void)
 }
 
 static const char *mmp_dt_board_compat[] __initdata = {
-	"mrvl,pxa168-aspenite",
-	"mrvl,pxa910-dkb",
+	"marvell,pxa168-aspenite",
+	"marvell,pxa910-dkb",
 	NULL,
 };
 
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 4ac2567..6523ecf 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -25,14 +25,14 @@ extern void __init mmp_dt_irq_init(void);
 extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
 	{}
 };
 
@@ -43,7 +43,7 @@ static void __init mmp2_dt_init(void)
 }
 
 static const char *mmp2_dt_board_compat[] __initdata = {
-	"mrvl,mmp2-brownstone",
+	"marvell,mmp2-brownstone",
 	NULL,
 };
 
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
index 7ac41e8..67e7d5c 100644
--- a/arch/arm/mach-mmp/time.c
+++ b/arch/arm/mach-mmp/time.c
@@ -208,7 +208,7 @@ void __init timer_init(int irq)
 
 #ifdef CONFIG_OF
 static struct of_device_id mmp_timer_dt_ids[] = {
-	{ .compatible = "mrvl,mmp-timer", },
+	{ .compatible = "marvell,mmp-timer", },
 	{}
 };
 
diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c
index 3835979..b679367 100644
--- a/arch/arm/mach-pxa/pxa-dt.c
+++ b/arch/arm/mach-pxa/pxa-dt.c
@@ -23,15 +23,15 @@
 extern void __init pxa3xx_dt_init_irq(void);
 
 static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40100000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40200000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40700000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x41600000, "pxa2xx-uart.3", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40100000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40200000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40700000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x41600000, "pxa2xx-uart.3", NULL),
 	OF_DEV_AUXDATA("marvell,pxa-mmc",	0x41100000, "pxa2xx-mci.0", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-gpio",		0x40e00000, "pxa-gpio", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-gpio",	0x40e00000, "pxa-gpio", NULL),
 	OF_DEV_AUXDATA("marvell,pxa-ohci",	0x4c000000, "pxa27x-ohci", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-i2c",		0x40301680, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,pwri2c",		0x40f500c0, "pxa3xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-i2c",	0x40301680, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,pwri2c",	0x40f500c0, "pxa3xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,pxa3xx-nand",	0x43100000, "pxa3xx-nand", NULL),
 	{}
 };
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index fbafed2..6f2b17d 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -1040,9 +1040,9 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
 };
 
 static struct of_device_id i2c_pxa_dt_ids[] = {
-	{ .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
-	{ .compatible = "mrvl,pwri2c", .data = (void *)REGS_PXA3XX },
-	{ .compatible = "mrvl,mmp-twsi", .data = (void *)REGS_PXA2XX },
+	{ .compatible = "marvell,pxa-i2c", .data = (void *)REGS_PXA2XX },
+	{ .compatible = "marvell,pwri2c", .data = (void *)REGS_PXA3XX },
+	{ .compatible = "marvell,mmp-twsi", .data = (void *)REGS_PXA2XX },
 	{}
 };
 MODULE_DEVICE_TABLE(of, i2c_pxa_dt_ids);
@@ -1060,9 +1060,9 @@ static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
 	/* For device tree we always use the dynamic or alias-assigned ID */
 	i2c->adap.nr = -1;
 
-	if (of_get_property(np, "mrvl,i2c-polling", NULL))
+	if (of_get_property(np, "marvell,i2c-polling", NULL))
 		i2c->use_pio = 1;
-	if (of_get_property(np, "mrvl,i2c-fast-mode", NULL))
+	if (of_get_property(np, "marvell,i2c-fast-mode", NULL))
 		i2c->fast_mode = 1;
 	*i2c_types = (u32)(of_id->data);
 	return 0;
diff --git a/drivers/mmc/host/sdhci-pxav2.c b/drivers/mmc/host/sdhci-pxav2.c
index 6a3f702..1dd6500 100644
--- a/drivers/mmc/host/sdhci-pxav2.c
+++ b/drivers/mmc/host/sdhci-pxav2.c
@@ -120,7 +120,7 @@ static const struct sdhci_ops pxav2_sdhci_ops = {
 #ifdef CONFIG_OF
 static const struct of_device_id sdhci_pxav2_of_match[] = {
 	{
-		.compatible = "mrvl,pxav2-mmc",
+		.compatible = "marvell,pxav2-mmc",
 	},
 	{},
 };
@@ -144,7 +144,7 @@ static struct sdhci_pxa_platdata *pxav2_get_mmc_pdata(struct device *dev)
 	if (bus_width == 8)
 		pdata->flags |= PXA_FLAG_SD_8_BIT_CAPABLE_SLOT;
 
-	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
+	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
 	if (clk_delay_cycles > 0) {
 		pdata->clk_delay_sel = 1;
 		pdata->clk_delay_cycles = clk_delay_cycles;
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index 1ae358e..a88974b 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -185,7 +185,7 @@ static struct sdhci_pltfm_data sdhci_pxav3_pdata = {
 #ifdef CONFIG_OF
 static const struct of_device_id sdhci_pxav3_of_match[] = {
 	{
-		.compatible = "mrvl,pxav3-mmc",
+		.compatible = "marvell,pxav3-mmc",
 	},
 	{},
 };
@@ -201,7 +201,7 @@ static struct sdhci_pxa_platdata *pxav3_get_mmc_pdata(struct device *dev)
 	if (!pdata)
 		return NULL;
 
-	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
+	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
 	if (clk_delay_cycles > 0)
 		pdata->clk_delay_cycles = clk_delay_cycles;
 
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 0f7adeb..307dd37 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -339,8 +339,8 @@ static SIMPLE_DEV_PM_OPS(sa1100_rtc_pm_ops, sa1100_rtc_suspend,
 
 #ifdef CONFIG_OF
 static struct of_device_id sa1100_rtc_dt_ids[] = {
-	{ .compatible = "mrvl,sa1100-rtc", },
-	{ .compatible = "mrvl,mmp-rtc", },
+	{ .compatible = "marvell,sa1100-rtc", },
+	{ .compatible = "marvell,mmp-rtc", },
 	{}
 };
 MODULE_DEVICE_TABLE(of, sa1100_rtc_dt_ids);
diff --git a/drivers/tty/serial/pxa.c b/drivers/tty/serial/pxa.c
index 05f504e..cb1a439 100644
--- a/drivers/tty/serial/pxa.c
+++ b/drivers/tty/serial/pxa.c
@@ -852,8 +852,8 @@ static const struct dev_pm_ops serial_pxa_pm_ops = {
 #endif
 
 static struct of_device_id serial_pxa_dt_ids[] = {
-	{ .compatible = "mrvl,pxa-uart", },
-	{ .compatible = "mrvl,mmp-uart", },
+	{ .compatible = "marvell,pxa-uart", },
+	{ .compatible = "marvell,mmp-uart", },
 	{}
 };
 MODULE_DEVICE_TABLE(of, serial_pxa_dt_ids);
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-09  6:42   ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel
  Cc: Neil Zhang

The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
let's change it.

Signed-off-by: Neil Zhang <zhangwm@marvell.com>
---
 .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
 .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
 .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
 Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
 .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
 .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
 .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
 arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
 arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
 arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
 arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
 arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
 arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
 arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
 arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
 arch/arm/mach-mmp/irq.c                            |   16 +++---
 arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
 arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
 arch/arm/mach-mmp/time.c                           |    2 +-
 arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
 drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
 drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
 drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
 drivers/rtc/rtc-sa1100.c                           |    4 +-
 drivers/tty/serial/pxa.c                           |    4 +-
 25 files changed, 144 insertions(+), 143 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
index 8b53273..ad27548 100644
--- a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
+++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
@@ -1,8 +1,8 @@
 * Marvell MMP Interrupt controller
 
 Required properties:
-- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
-  "mrvl,mmp2-mux-intc"
+- compatible : Should be "marvell,mmp-intc", "marvell,mmp2-intc" or
+  "marvell,mmp2-mux-intc"
 - reg : Address and length of the register set of the interrupt controller.
   If the interrupt controller is intc, address and length means the range
   of the whold interrupt controller. If the interrupt controller is mux-intc,
@@ -15,28 +15,28 @@ Required properties:
 - interrupt-controller : Identifies the node as an interrupt controller.
 - #interrupt-cells : Specifies the number of cells needed to encode an
   interrupt source.
-- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
+- marvell,intc-nr-irqs : Specifies the number of interrupts in the interrupt
   controller.
-- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
+- marvell,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
   detection first.
 
 Example:
 	intc: interrupt-controller@d4282000 {
-		compatible = "mrvl,mmp2-intc";
+		compatible = "marvell,mmp2-intc";
 		interrupt-controller;
 		#interrupt-cells = <1>;
 		reg = <0xd4282000 0x1000>;
-		mrvl,intc-nr-irqs = <64>;
+		marvell,intc-nr-irqs = <64>;
 	};
 
 	intcmux4@d4282150 {
-		compatible = "mrvl,mmp2-mux-intc";
+		compatible = "marvell,mmp2-mux-intc";
 		interrupts = <4>;
 		interrupt-controller;
 		#interrupt-cells = <1>;
 		reg = <0x150 0x4>, <0x168 0x4>;
 		reg-names = "mux status", "mux mask";
-		mrvl,intc-nr-irqs = <2>;
+		marvell,intc-nr-irqs = <2>;
 	};
 
 * Marvell Orion Interrupt controller
diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
index 117d741..87f1d42 100644
--- a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
+++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
@@ -3,12 +3,12 @@ Marvell Platforms Device Tree Bindings
 
 PXA168 Aspenite Board
 Required root node properties:
-	- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
+	- compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
 
 PXA910 DKB Board
 Required root node properties:
-	- compatible = "mrvl,pxa910-dkb";
+	- compatible = "marvell,pxa910-dkb";
 
 MMP2 Brownstone Board
 Required root node properties:
-	- compatible = "mrvl,mmp2-brownstone";
+	- compatible = "marvell,mmp2-brownstone";
diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
index 9a6e251..1304526 100644
--- a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
+++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
@@ -1,13 +1,13 @@
 * Marvell MMP Timer controller
 
 Required properties:
-- compatible : Should be "mrvl,mmp-timer".
+- compatible : Should be "marvell,mmp-timer".
 - reg : Address and length of the register set of timer controller.
 - interrupts : Should be the interrupt number.
 
 Example:
 	timer0: timer@d4014000 {
-		compatible = "mrvl,mmp-timer";
+		compatible = "marvell,mmp-timer";
 		reg = <0xd4014000 0x100>;
 		interrupts = <13>;
 	};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
index 12b78ac..34fdf5d 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
@@ -3,9 +3,9 @@
 Required properties :
 
  - reg : Offset and length of the register set for the device
- - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
+ - compatible : should be "marvell,mmp-twsi" where mmp is the name of a
    compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
-   For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
+   For the pxa2xx/pxa3xx, an additional node "marvell,pxa-i2c" is required
    as shown in the example below.
 
 Recommended properties :
@@ -14,20 +14,20 @@ Recommended properties :
  - interrupt-parent : the phandle for the interrupt controller that
    services interrupts for this device. If the parent is the default
    interrupt controller in device tree, it could be ignored.
- - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
+ - marvell,i2c-polling : Disable interrupt of i2c controller. Polling
    status register of i2c controller instead.
- - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
+ - marvell,i2c-fast-mode : Enable fast mode of i2c controller.
 
 Examples:
 	twsi1: i2c@d4011000 {
-		compatible = "mrvl,mmp-twsi";
+		compatible = "marvell,mmp-twsi";
 		reg = <0xd4011000 0x1000>;
 		interrupts = <7>;
-		mrvl,i2c-fast-mode;
+		marvell,i2c-fast-mode;
 	};
 	
 	twsi2: i2c@d4025000 {
-		compatible = "mrvl,mmp-twsi";
+		compatible = "marvell,mmp-twsi";
 		reg = <0xd4025000 0x1000>;
 		interrupts = <58>;
 	};
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
index dbe98a3..d603a3e 100644
--- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
+++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
@@ -4,18 +4,18 @@ This file documents differences between the core properties in mmc.txt
 and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers.
 
 Required properties:
-- compatible: Should be "mrvl,pxav2-mmc" or "mrvl,pxav3-mmc".
+- compatible: Should be "marvell,pxav2-mmc" or "marvell,pxav3-mmc".
 
 Optional properties:
-- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
+- marvell,clk-delay-cycles: Specify a number of cycles to delay for tuning.
 
 Example:
 
 sdhci@d4280800 {
-	compatible = "mrvl,pxav3-mmc";
+	compatible = "marvell,pxav3-mmc";
 	reg = <0xd4280800 0x800>;
 	bus-width = <8>;
 	interrupts = <27>;
 	non-removable;
-	mrvl,clk-delay-cycles = <31>;
+	marvell,clk-delay-cycles = <31>;
 };
diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
index 0cda19a..886fe15 100644
--- a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
+++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
@@ -1,7 +1,7 @@
 * Marvell Real Time Clock controller
 
 Required properties:
-- compatible: should be "mrvl,sa1100-rtc"
+- compatible: should be "marvell,sa1100-rtc"
 - reg: physical base address of the controller and length of memory mapped
   region.
 - interrupts: Should be two. The first interrupt number is the rtc alarm
@@ -10,7 +10,7 @@ Required properties:
 
 Example:
 	rtc: rtc@d4010000 {
-		compatible = "mrvl,mmp-rtc";
+		compatible = "marvell,mmp-rtc";
 		reg = <0xd4010000 0x1000>;
 		interrupts = <5>, <6>;
 		interrupt-name = "rtc 1Hz", "rtc alarm";
diff --git a/Documentation/devicetree/bindings/serial/mrvl-serial.txt b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
index d744340..659d35e 100644
--- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
+++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
@@ -1,4 +1,4 @@
 PXA UART controller
 
 Required properties:
-- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
+- compatible : should be "marvell,mmp-uart" or "marvell,pxa-uart".
diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts
index 7f70a39..26abfde 100644
--- a/arch/arm/boot/dts/mmp2-brownstone.dts
+++ b/arch/arm/boot/dts/mmp2-brownstone.dts
@@ -12,7 +12,7 @@
 
 / {
 	model = "Marvell MMP2 Brownstone Development Board";
-	compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
+	compatible = "marvell,mmp2-brownstone", "marvell,mmp2";
 
 	chosen {
 		bootargs = "console=ttyS2,38400 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
index 4e8b08c..ac13654 100644
--- a/arch/arm/boot/dts/mmp2.dtsi
+++ b/arch/arm/boot/dts/mmp2.dtsi
@@ -32,128 +32,128 @@
 		};
 
 		axi@d4200000 {	/* AXI */
-			compatible = "mrvl,axi-bus", "simple-bus";
+			compatible = "marvell,axi-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4200000 0x00200000>;
 			ranges;
 
 			intc: interrupt-controller@d4282000 {
-				compatible = "mrvl,mmp2-intc";
+				compatible = "marvell,mmp2-intc";
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0xd4282000 0x1000>;
-				mrvl,intc-nr-irqs = <64>;
+				marvell,intc-nr-irqs = <64>;
 			};
 
 			intcmux4: interrupt-controller@d4282150 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <4>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x150 0x4>, <0x168 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
+				marvell,intc-nr-irqs = <2>;
 			};
 
 			intcmux5: interrupt-controller@d4282154 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <5>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x154 0x4>, <0x16c 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
-				mrvl,clr-mfp-irq = <1>;
+				marvell,intc-nr-irqs = <2>;
+				marvell,clr-mfp-irq = <1>;
 			};
 
 			intcmux9: interrupt-controller@d4282180 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <9>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x180 0x4>, <0x17c 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <3>;
+				marvell,intc-nr-irqs = <3>;
 			};
 
 			intcmux17: interrupt-controller@d4282158 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <17>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x158 0x4>, <0x170 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <5>;
+				marvell,intc-nr-irqs = <5>;
 			};
 
 			intcmux35: interrupt-controller@d428215c {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <35>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x15c 0x4>, <0x174 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <15>;
+				marvell,intc-nr-irqs = <15>;
 			};
 
 			intcmux51: interrupt-controller@d4282160 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <51>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x160 0x4>, <0x178 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
+				marvell,intc-nr-irqs = <2>;
 			};
 
 			intcmux55: interrupt-controller@d4282188 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <55>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x188 0x4>, <0x184 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
+				marvell,intc-nr-irqs = <2>;
 			};
 		};
 
 		apb@d4000000 {	/* APB */
-			compatible = "mrvl,apb-bus", "simple-bus";
+			compatible = "marvell,apb-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4000000 0x00200000>;
 			ranges;
 
 			timer0: timer@d4014000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4014000 0x100>;
 				interrupts = <13>;
 			};
 
 			uart1: uart@d4030000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4030000 0x1000>;
 				interrupts = <27>;
 				status = "disabled";
 			};
 
 			uart2: uart@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <28>;
 				status = "disabled";
 			};
 
 			uart3: uart@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <24>;
 				status = "disabled";
 			};
 
 			uart4: uart@d4016000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4016000 0x1000>;
 				interrupts = <46>;
 				status = "disabled";
@@ -198,24 +198,24 @@
 			};
 
 			twsi1: i2c@d4011000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4011000 0x1000>;
 				interrupts = <7>;
 				#address-cells = <1>;
 				#size-cells = <0>;
-				mrvl,i2c-fast-mode;
+				marvell,i2c-fast-mode;
 				status = "disabled";
 			};
 
 			twsi2: i2c@d4025000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4025000 0x1000>;
 				interrupts = <58>;
 				status = "disabled";
 			};
 
 			rtc: rtc@d4010000 {
-				compatible = "mrvl,mmp-rtc";
+				compatible = "marvell,mmp-rtc";
 				reg = <0xd4010000 0x1000>;
 				interrupts = <1 0>;
 				interrupt-names = "rtc 1Hz", "rtc alarm";
diff --git a/arch/arm/boot/dts/pxa168-aspenite.dts b/arch/arm/boot/dts/pxa168-aspenite.dts
index e762fac..1e2ac17 100644
--- a/arch/arm/boot/dts/pxa168-aspenite.dts
+++ b/arch/arm/boot/dts/pxa168-aspenite.dts
@@ -12,7 +12,7 @@
 
 / {
 	model = "Marvell PXA168 Aspenite Development Board";
-	compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
+	compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
 
 	chosen {
 		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi
index 975dad2..c08f5fc 100644
--- a/arch/arm/boot/dts/pxa168.dtsi
+++ b/arch/arm/boot/dts/pxa168.dtsi
@@ -26,51 +26,51 @@
 		ranges;
 
 		axi@d4200000 {	/* AXI */
-			compatible = "mrvl,axi-bus", "simple-bus";
+			compatible = "marvell,axi-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4200000 0x00200000>;
 			ranges;
 
 			intc: interrupt-controller@d4282000 {
-				compatible = "mrvl,mmp-intc";
+				compatible = "marvell,mmp-intc";
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0xd4282000 0x1000>;
-				mrvl,intc-nr-irqs = <64>;
+				marvell,intc-nr-irqs = <64>;
 			};
 
 		};
 
 		apb@d4000000 {	/* APB */
-			compatible = "mrvl,apb-bus", "simple-bus";
+			compatible = "marvell,apb-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4000000 0x00200000>;
 			ranges;
 
 			timer0: timer@d4014000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4014000 0x100>;
 				interrupts = <13>;
 			};
 
 			uart1: uart@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <27>;
 				status = "disabled";
 			};
 
 			uart2: uart@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <28>;
 				status = "disabled";
 			};
 
 			uart3: uart@d4026000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4026000 0x1000>;
 				interrupts = <29>;
 				status = "disabled";
@@ -107,22 +107,22 @@
 			};
 
 			twsi1: i2c@d4011000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4011000 0x1000>;
 				interrupts = <7>;
-				mrvl,i2c-fast-mode;
+				marvell,i2c-fast-mode;
 				status = "disabled";
 			};
 
 			twsi2: i2c@d4025000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4025000 0x1000>;
 				interrupts = <58>;
 				status = "disabled";
 			};
 
 			rtc: rtc@d4010000 {
-				compatible = "mrvl,mmp-rtc";
+				compatible = "marvell,mmp-rtc";
 				reg = <0xd4010000 0x1000>;
 				interrupts = <5 6>;
 				interrupt-names = "rtc 1Hz", "rtc alarm";
diff --git a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi
index a5e90f0..c426b1e 100644
--- a/arch/arm/boot/dts/pxa2xx.dtsi
+++ b/arch/arm/boot/dts/pxa2xx.dtsi
@@ -47,7 +47,7 @@
 		};
 
 		gpio: gpio@40e00000 {
-			compatible = "mrvl,pxa-gpio";
+			compatible = "marvell,pxa-gpio";
 			#address-cells = <0x1>;
 			#size-cells = <0x1>;
 			reg = <0x40e00000 0x10000>;
@@ -76,35 +76,35 @@
 		};
 
 		ffuart: uart@40100000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x40100000 0x30>;
 			interrupts = <22>;
 			status = "disabled";
 		};
 
 		btuart: uart@40200000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x40200000 0x30>;
 			interrupts = <21>;
 			status = "disabled";
 		};
 
 		stuart: uart@40700000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x40700000 0x30>;
 			interrupts = <20>;
 			status = "disabled";
 		};
 
 		hwuart: uart@41100000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x41100000 0x30>;
 			interrupts = <7>;
 			status = "disabled";
 		};
 
 		pxai2c1: i2c@40301680 {
-			compatible = "mrvl,pxa-i2c";
+			compatible = "marvell,pxa-i2c";
 			reg = <0x40301680 0x30>;
 			interrupts = <18>;
 			#address-cells = <0x1>;
@@ -113,14 +113,14 @@
 		};
 
 		usb0: ohci@4c000000 {
-			compatible = "mrvl,pxa-ohci";
+			compatible = "marvell,pxa-ohci";
 			reg = <0x4c000000 0x10000>;
 			interrupts = <3>;
 			status = "disabled";
 		};
 
 		mmc0: mmc@41100000 {
-			compatible = "mrvl,pxa-mmc";
+			compatible = "marvell,pxa-mmc";
 			reg = <0x41100000 0x1000>;
 			interrupts = <23>;
 			status = "disabled";
diff --git a/arch/arm/boot/dts/pxa3xx.dtsi b/arch/arm/boot/dts/pxa3xx.dtsi
index f9d92da..0798031 100644
--- a/arch/arm/boot/dts/pxa3xx.dtsi
+++ b/arch/arm/boot/dts/pxa3xx.dtsi
@@ -7,7 +7,7 @@
 
 	pxabus {
 		pwri2c: i2c@40f500c0 {
-			compatible = "mrvl,pwri2c";
+			compatible = "marvell,pwri2c";
 			reg = <0x40f500c0 0x30>;
 			interrupts = <6>;
 			#address-cells = <0x1>;
diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts
index 595492a..7384254 100644
--- a/arch/arm/boot/dts/pxa910-dkb.dts
+++ b/arch/arm/boot/dts/pxa910-dkb.dts
@@ -12,7 +12,7 @@
 
 / {
 	model = "Marvell PXA910 DKB Development Board";
-	compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
+	compatible = "marvell,pxa910-dkb", "marvell,pxa910";
 
 	chosen {
 		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
index 0247c62..b5594a0 100644
--- a/arch/arm/boot/dts/pxa910.dtsi
+++ b/arch/arm/boot/dts/pxa910.dtsi
@@ -31,58 +31,59 @@
 		};
 
 		axi@d4200000 {	/* AXI */
-			compatible = "mrvl,axi-bus", "simple-bus";
+			compatible = "marvell,axi-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4200000 0x00200000>;
 			ranges;
 
 			intc: interrupt-controller@d4282000 {
-				compatible = "mrvl,mmp-intc";
+				compatible = "marvell,mmp-intc";
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0xd4282000 0x1000>;
-				mrvl,intc-nr-irqs = <64>;
+				marvell,intc-nr-irqs = <64>;
+
 			};
 
 		};
 
 		apb@d4000000 {	/* APB */
-			compatible = "mrvl,apb-bus", "simple-bus";
+			compatible = "marvell,apb-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4000000 0x00200000>;
 			ranges;
 
 			timer0: timer@d4014000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4014000 0x100>;
 				interrupts = <13>;
 			};
 
 			timer1: timer@d4016000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4016000 0x100>;
 				interrupts = <29>;
 				status = "disabled";
 			};
 
 			uart1: uart@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <27>;
 				status = "disabled";
 			};
 
 			uart2: uart@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <28>;
 				status = "disabled";
 			};
 
 			uart3: uart@d4036000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4036000 0x1000>;
 				interrupts = <59>;
 				status = "disabled";
@@ -119,17 +120,17 @@
 			};
 
 			twsi1: i2c@d4011000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				#address-cells = <1>;
 				#size-cells = <0>;
 				reg = <0xd4011000 0x1000>;
 				interrupts = <7>;
-				mrvl,i2c-fast-mode;
+				marvell,i2c-fast-mode;
 				status = "disabled";
 			};
 
 			twsi2: i2c@d4037000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				#address-cells = <1>;
 				#size-cells = <0>;
 				reg = <0xd4037000 0x1000>;
@@ -138,7 +139,7 @@
 			};
 
 			rtc: rtc@d4010000 {
-				compatible = "mrvl,mmp-rtc";
+				compatible = "marvell,mmp-rtc";
 				reg = <0xd4010000 0x1000>;
 				interrupts = <5 6>;
 				interrupt-names = "rtc 1Hz", "rtc alarm";
diff --git a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c
index 3c71246..a7a53611 100644
--- a/arch/arm/mach-mmp/irq.c
+++ b/arch/arm/mach-mmp/irq.c
@@ -327,13 +327,13 @@ void __init mmp2_init_icu(void)
 
 #ifdef CONFIG_OF
 static const struct of_device_id intc_ids[] __initconst = {
-	{ .compatible = "mrvl,mmp-intc", .data = &mmp_conf },
-	{ .compatible = "mrvl,mmp2-intc", .data = &mmp2_conf },
+	{ .compatible = "marvell,mmp-intc", .data = &mmp_conf },
+	{ .compatible = "marvell,mmp2-intc", .data = &mmp2_conf },
 	{}
 };
 
 static const struct of_device_id mmp_mux_irq_match[] __initconst = {
-	{ .compatible = "mrvl,mmp2-mux-intc" },
+	{ .compatible = "marvell,mmp2-mux-intc" },
 	{}
 };
 
@@ -352,10 +352,10 @@ int __init mmp2_mux_init(struct device_node *parent)
 		if (!node)
 			break;
 		of_id = of_match_node(&mmp_mux_irq_match[0], node);
-		ret = of_property_read_u32(node, "mrvl,intc-nr-irqs",
+		ret = of_property_read_u32(node, "marvell,intc-nr-irqs",
 					   &nr_irqs);
 		if (ret) {
-			pr_err("Not found mrvl,intc-nr-irqs property\n");
+			pr_err("Not found marvell,intc-nr-irqs property\n");
 			ret = -EINVAL;
 			goto err;
 		}
@@ -385,7 +385,7 @@ int __init mmp2_mux_init(struct device_node *parent)
 			ret = irq_base;
 			goto err;
 		}
-		if (!of_property_read_u32(node, "mrvl,clr-mfp-irq",
+		if (!of_property_read_u32(node, "marvell,clr-mfp-irq",
 					  &mfp_irq)) {
 			icu_data[i].clr_mfp_irq_base = irq_base;
 			icu_data[i].clr_mfp_hwirq = mfp_irq;
@@ -424,9 +424,9 @@ void __init mmp_dt_irq_init(void)
 	of_id = of_match_node(intc_ids, node);
 	conf = of_id->data;
 
-	ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs);
+	ret = of_property_read_u32(node, "marvell,intc-nr-irqs", &nr_irqs);
 	if (ret) {
-		pr_err("Not found mrvl,intc-nr-irqs property\n");
+		pr_err("Not found marvell,intc-nr-irqs property\n");
 		return;
 	}
 
diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
index b37915d..62c5adb 100644
--- a/arch/arm/mach-mmp/mmp-dt.c
+++ b/arch/arm/mach-mmp/mmp-dt.c
@@ -23,24 +23,24 @@ extern void __init mmp_dt_irq_init(void);
 extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
 	{}
 };
 
 static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
 	{}
 };
 
@@ -57,8 +57,8 @@ static void __init pxa910_dt_init(void)
 }
 
 static const char *mmp_dt_board_compat[] __initdata = {
-	"mrvl,pxa168-aspenite",
-	"mrvl,pxa910-dkb",
+	"marvell,pxa168-aspenite",
+	"marvell,pxa910-dkb",
 	NULL,
 };
 
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 4ac2567..6523ecf 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -25,14 +25,14 @@ extern void __init mmp_dt_irq_init(void);
 extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
 	{}
 };
 
@@ -43,7 +43,7 @@ static void __init mmp2_dt_init(void)
 }
 
 static const char *mmp2_dt_board_compat[] __initdata = {
-	"mrvl,mmp2-brownstone",
+	"marvell,mmp2-brownstone",
 	NULL,
 };
 
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
index 7ac41e8..67e7d5c 100644
--- a/arch/arm/mach-mmp/time.c
+++ b/arch/arm/mach-mmp/time.c
@@ -208,7 +208,7 @@ void __init timer_init(int irq)
 
 #ifdef CONFIG_OF
 static struct of_device_id mmp_timer_dt_ids[] = {
-	{ .compatible = "mrvl,mmp-timer", },
+	{ .compatible = "marvell,mmp-timer", },
 	{}
 };
 
diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c
index 3835979..b679367 100644
--- a/arch/arm/mach-pxa/pxa-dt.c
+++ b/arch/arm/mach-pxa/pxa-dt.c
@@ -23,15 +23,15 @@
 extern void __init pxa3xx_dt_init_irq(void);
 
 static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40100000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40200000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40700000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x41600000, "pxa2xx-uart.3", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40100000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40200000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40700000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x41600000, "pxa2xx-uart.3", NULL),
 	OF_DEV_AUXDATA("marvell,pxa-mmc",	0x41100000, "pxa2xx-mci.0", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-gpio",		0x40e00000, "pxa-gpio", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-gpio",	0x40e00000, "pxa-gpio", NULL),
 	OF_DEV_AUXDATA("marvell,pxa-ohci",	0x4c000000, "pxa27x-ohci", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-i2c",		0x40301680, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,pwri2c",		0x40f500c0, "pxa3xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-i2c",	0x40301680, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,pwri2c",	0x40f500c0, "pxa3xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,pxa3xx-nand",	0x43100000, "pxa3xx-nand", NULL),
 	{}
 };
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index fbafed2..6f2b17d 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -1040,9 +1040,9 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
 };
 
 static struct of_device_id i2c_pxa_dt_ids[] = {
-	{ .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
-	{ .compatible = "mrvl,pwri2c", .data = (void *)REGS_PXA3XX },
-	{ .compatible = "mrvl,mmp-twsi", .data = (void *)REGS_PXA2XX },
+	{ .compatible = "marvell,pxa-i2c", .data = (void *)REGS_PXA2XX },
+	{ .compatible = "marvell,pwri2c", .data = (void *)REGS_PXA3XX },
+	{ .compatible = "marvell,mmp-twsi", .data = (void *)REGS_PXA2XX },
 	{}
 };
 MODULE_DEVICE_TABLE(of, i2c_pxa_dt_ids);
@@ -1060,9 +1060,9 @@ static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
 	/* For device tree we always use the dynamic or alias-assigned ID */
 	i2c->adap.nr = -1;
 
-	if (of_get_property(np, "mrvl,i2c-polling", NULL))
+	if (of_get_property(np, "marvell,i2c-polling", NULL))
 		i2c->use_pio = 1;
-	if (of_get_property(np, "mrvl,i2c-fast-mode", NULL))
+	if (of_get_property(np, "marvell,i2c-fast-mode", NULL))
 		i2c->fast_mode = 1;
 	*i2c_types = (u32)(of_id->data);
 	return 0;
diff --git a/drivers/mmc/host/sdhci-pxav2.c b/drivers/mmc/host/sdhci-pxav2.c
index 6a3f702..1dd6500 100644
--- a/drivers/mmc/host/sdhci-pxav2.c
+++ b/drivers/mmc/host/sdhci-pxav2.c
@@ -120,7 +120,7 @@ static const struct sdhci_ops pxav2_sdhci_ops = {
 #ifdef CONFIG_OF
 static const struct of_device_id sdhci_pxav2_of_match[] = {
 	{
-		.compatible = "mrvl,pxav2-mmc",
+		.compatible = "marvell,pxav2-mmc",
 	},
 	{},
 };
@@ -144,7 +144,7 @@ static struct sdhci_pxa_platdata *pxav2_get_mmc_pdata(struct device *dev)
 	if (bus_width == 8)
 		pdata->flags |= PXA_FLAG_SD_8_BIT_CAPABLE_SLOT;
 
-	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
+	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
 	if (clk_delay_cycles > 0) {
 		pdata->clk_delay_sel = 1;
 		pdata->clk_delay_cycles = clk_delay_cycles;
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index 1ae358e..a88974b 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -185,7 +185,7 @@ static struct sdhci_pltfm_data sdhci_pxav3_pdata = {
 #ifdef CONFIG_OF
 static const struct of_device_id sdhci_pxav3_of_match[] = {
 	{
-		.compatible = "mrvl,pxav3-mmc",
+		.compatible = "marvell,pxav3-mmc",
 	},
 	{},
 };
@@ -201,7 +201,7 @@ static struct sdhci_pxa_platdata *pxav3_get_mmc_pdata(struct device *dev)
 	if (!pdata)
 		return NULL;
 
-	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
+	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
 	if (clk_delay_cycles > 0)
 		pdata->clk_delay_cycles = clk_delay_cycles;
 
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 0f7adeb..307dd37 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -339,8 +339,8 @@ static SIMPLE_DEV_PM_OPS(sa1100_rtc_pm_ops, sa1100_rtc_suspend,
 
 #ifdef CONFIG_OF
 static struct of_device_id sa1100_rtc_dt_ids[] = {
-	{ .compatible = "mrvl,sa1100-rtc", },
-	{ .compatible = "mrvl,mmp-rtc", },
+	{ .compatible = "marvell,sa1100-rtc", },
+	{ .compatible = "marvell,mmp-rtc", },
 	{}
 };
 MODULE_DEVICE_TABLE(of, sa1100_rtc_dt_ids);
diff --git a/drivers/tty/serial/pxa.c b/drivers/tty/serial/pxa.c
index 05f504e..cb1a439 100644
--- a/drivers/tty/serial/pxa.c
+++ b/drivers/tty/serial/pxa.c
@@ -852,8 +852,8 @@ static const struct dev_pm_ops serial_pxa_pm_ops = {
 #endif
 
 static struct of_device_id serial_pxa_dt_ids[] = {
-	{ .compatible = "mrvl,pxa-uart", },
-	{ .compatible = "mrvl,mmp-uart", },
+	{ .compatible = "marvell,pxa-uart", },
+	{ .compatible = "marvell,mmp-uart", },
 	{}
 };
 MODULE_DEVICE_TABLE(of, serial_pxa_dt_ids);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-09  6:42   ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: linux-arm-kernel

The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
let's change it.

Signed-off-by: Neil Zhang <zhangwm@marvell.com>
---
 .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
 .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
 .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
 Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
 .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
 .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
 .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
 arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
 arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
 arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
 arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
 arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
 arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
 arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
 arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
 arch/arm/mach-mmp/irq.c                            |   16 +++---
 arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
 arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
 arch/arm/mach-mmp/time.c                           |    2 +-
 arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
 drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
 drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
 drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
 drivers/rtc/rtc-sa1100.c                           |    4 +-
 drivers/tty/serial/pxa.c                           |    4 +-
 25 files changed, 144 insertions(+), 143 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
index 8b53273..ad27548 100644
--- a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
+++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
@@ -1,8 +1,8 @@
 * Marvell MMP Interrupt controller
 
 Required properties:
-- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
-  "mrvl,mmp2-mux-intc"
+- compatible : Should be "marvell,mmp-intc", "marvell,mmp2-intc" or
+  "marvell,mmp2-mux-intc"
 - reg : Address and length of the register set of the interrupt controller.
   If the interrupt controller is intc, address and length means the range
   of the whold interrupt controller. If the interrupt controller is mux-intc,
@@ -15,28 +15,28 @@ Required properties:
 - interrupt-controller : Identifies the node as an interrupt controller.
 - #interrupt-cells : Specifies the number of cells needed to encode an
   interrupt source.
-- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
+- marvell,intc-nr-irqs : Specifies the number of interrupts in the interrupt
   controller.
-- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
+- marvell,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
   detection first.
 
 Example:
 	intc: interrupt-controller at d4282000 {
-		compatible = "mrvl,mmp2-intc";
+		compatible = "marvell,mmp2-intc";
 		interrupt-controller;
 		#interrupt-cells = <1>;
 		reg = <0xd4282000 0x1000>;
-		mrvl,intc-nr-irqs = <64>;
+		marvell,intc-nr-irqs = <64>;
 	};
 
 	intcmux4 at d4282150 {
-		compatible = "mrvl,mmp2-mux-intc";
+		compatible = "marvell,mmp2-mux-intc";
 		interrupts = <4>;
 		interrupt-controller;
 		#interrupt-cells = <1>;
 		reg = <0x150 0x4>, <0x168 0x4>;
 		reg-names = "mux status", "mux mask";
-		mrvl,intc-nr-irqs = <2>;
+		marvell,intc-nr-irqs = <2>;
 	};
 
 * Marvell Orion Interrupt controller
diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
index 117d741..87f1d42 100644
--- a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
+++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
@@ -3,12 +3,12 @@ Marvell Platforms Device Tree Bindings
 
 PXA168 Aspenite Board
 Required root node properties:
-	- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
+	- compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
 
 PXA910 DKB Board
 Required root node properties:
-	- compatible = "mrvl,pxa910-dkb";
+	- compatible = "marvell,pxa910-dkb";
 
 MMP2 Brownstone Board
 Required root node properties:
-	- compatible = "mrvl,mmp2-brownstone";
+	- compatible = "marvell,mmp2-brownstone";
diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
index 9a6e251..1304526 100644
--- a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
+++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
@@ -1,13 +1,13 @@
 * Marvell MMP Timer controller
 
 Required properties:
-- compatible : Should be "mrvl,mmp-timer".
+- compatible : Should be "marvell,mmp-timer".
 - reg : Address and length of the register set of timer controller.
 - interrupts : Should be the interrupt number.
 
 Example:
 	timer0: timer at d4014000 {
-		compatible = "mrvl,mmp-timer";
+		compatible = "marvell,mmp-timer";
 		reg = <0xd4014000 0x100>;
 		interrupts = <13>;
 	};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
index 12b78ac..34fdf5d 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
@@ -3,9 +3,9 @@
 Required properties :
 
  - reg : Offset and length of the register set for the device
- - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
+ - compatible : should be "marvell,mmp-twsi" where mmp is the name of a
    compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
-   For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
+   For the pxa2xx/pxa3xx, an additional node "marvell,pxa-i2c" is required
    as shown in the example below.
 
 Recommended properties :
@@ -14,20 +14,20 @@ Recommended properties :
  - interrupt-parent : the phandle for the interrupt controller that
    services interrupts for this device. If the parent is the default
    interrupt controller in device tree, it could be ignored.
- - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
+ - marvell,i2c-polling : Disable interrupt of i2c controller. Polling
    status register of i2c controller instead.
- - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
+ - marvell,i2c-fast-mode : Enable fast mode of i2c controller.
 
 Examples:
 	twsi1: i2c at d4011000 {
-		compatible = "mrvl,mmp-twsi";
+		compatible = "marvell,mmp-twsi";
 		reg = <0xd4011000 0x1000>;
 		interrupts = <7>;
-		mrvl,i2c-fast-mode;
+		marvell,i2c-fast-mode;
 	};
 	
 	twsi2: i2c at d4025000 {
-		compatible = "mrvl,mmp-twsi";
+		compatible = "marvell,mmp-twsi";
 		reg = <0xd4025000 0x1000>;
 		interrupts = <58>;
 	};
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
index dbe98a3..d603a3e 100644
--- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
+++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
@@ -4,18 +4,18 @@ This file documents differences between the core properties in mmc.txt
 and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers.
 
 Required properties:
-- compatible: Should be "mrvl,pxav2-mmc" or "mrvl,pxav3-mmc".
+- compatible: Should be "marvell,pxav2-mmc" or "marvell,pxav3-mmc".
 
 Optional properties:
-- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
+- marvell,clk-delay-cycles: Specify a number of cycles to delay for tuning.
 
 Example:
 
 sdhci at d4280800 {
-	compatible = "mrvl,pxav3-mmc";
+	compatible = "marvell,pxav3-mmc";
 	reg = <0xd4280800 0x800>;
 	bus-width = <8>;
 	interrupts = <27>;
 	non-removable;
-	mrvl,clk-delay-cycles = <31>;
+	marvell,clk-delay-cycles = <31>;
 };
diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
index 0cda19a..886fe15 100644
--- a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
+++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
@@ -1,7 +1,7 @@
 * Marvell Real Time Clock controller
 
 Required properties:
-- compatible: should be "mrvl,sa1100-rtc"
+- compatible: should be "marvell,sa1100-rtc"
 - reg: physical base address of the controller and length of memory mapped
   region.
 - interrupts: Should be two. The first interrupt number is the rtc alarm
@@ -10,7 +10,7 @@ Required properties:
 
 Example:
 	rtc: rtc at d4010000 {
-		compatible = "mrvl,mmp-rtc";
+		compatible = "marvell,mmp-rtc";
 		reg = <0xd4010000 0x1000>;
 		interrupts = <5>, <6>;
 		interrupt-name = "rtc 1Hz", "rtc alarm";
diff --git a/Documentation/devicetree/bindings/serial/mrvl-serial.txt b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
index d744340..659d35e 100644
--- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
+++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
@@ -1,4 +1,4 @@
 PXA UART controller
 
 Required properties:
-- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
+- compatible : should be "marvell,mmp-uart" or "marvell,pxa-uart".
diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts
index 7f70a39..26abfde 100644
--- a/arch/arm/boot/dts/mmp2-brownstone.dts
+++ b/arch/arm/boot/dts/mmp2-brownstone.dts
@@ -12,7 +12,7 @@
 
 / {
 	model = "Marvell MMP2 Brownstone Development Board";
-	compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
+	compatible = "marvell,mmp2-brownstone", "marvell,mmp2";
 
 	chosen {
 		bootargs = "console=ttyS2,38400 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
index 4e8b08c..ac13654 100644
--- a/arch/arm/boot/dts/mmp2.dtsi
+++ b/arch/arm/boot/dts/mmp2.dtsi
@@ -32,128 +32,128 @@
 		};
 
 		axi at d4200000 {	/* AXI */
-			compatible = "mrvl,axi-bus", "simple-bus";
+			compatible = "marvell,axi-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4200000 0x00200000>;
 			ranges;
 
 			intc: interrupt-controller at d4282000 {
-				compatible = "mrvl,mmp2-intc";
+				compatible = "marvell,mmp2-intc";
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0xd4282000 0x1000>;
-				mrvl,intc-nr-irqs = <64>;
+				marvell,intc-nr-irqs = <64>;
 			};
 
 			intcmux4: interrupt-controller at d4282150 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <4>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x150 0x4>, <0x168 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
+				marvell,intc-nr-irqs = <2>;
 			};
 
 			intcmux5: interrupt-controller at d4282154 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <5>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x154 0x4>, <0x16c 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
-				mrvl,clr-mfp-irq = <1>;
+				marvell,intc-nr-irqs = <2>;
+				marvell,clr-mfp-irq = <1>;
 			};
 
 			intcmux9: interrupt-controller at d4282180 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <9>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x180 0x4>, <0x17c 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <3>;
+				marvell,intc-nr-irqs = <3>;
 			};
 
 			intcmux17: interrupt-controller at d4282158 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <17>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x158 0x4>, <0x170 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <5>;
+				marvell,intc-nr-irqs = <5>;
 			};
 
 			intcmux35: interrupt-controller at d428215c {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <35>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x15c 0x4>, <0x174 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <15>;
+				marvell,intc-nr-irqs = <15>;
 			};
 
 			intcmux51: interrupt-controller at d4282160 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <51>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x160 0x4>, <0x178 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
+				marvell,intc-nr-irqs = <2>;
 			};
 
 			intcmux55: interrupt-controller at d4282188 {
-				compatible = "mrvl,mmp2-mux-intc";
+				compatible = "marvell,mmp2-mux-intc";
 				interrupts = <55>;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0x188 0x4>, <0x184 0x4>;
 				reg-names = "mux status", "mux mask";
-				mrvl,intc-nr-irqs = <2>;
+				marvell,intc-nr-irqs = <2>;
 			};
 		};
 
 		apb at d4000000 {	/* APB */
-			compatible = "mrvl,apb-bus", "simple-bus";
+			compatible = "marvell,apb-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4000000 0x00200000>;
 			ranges;
 
 			timer0: timer at d4014000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4014000 0x100>;
 				interrupts = <13>;
 			};
 
 			uart1: uart at d4030000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4030000 0x1000>;
 				interrupts = <27>;
 				status = "disabled";
 			};
 
 			uart2: uart at d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <28>;
 				status = "disabled";
 			};
 
 			uart3: uart at d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <24>;
 				status = "disabled";
 			};
 
 			uart4: uart at d4016000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4016000 0x1000>;
 				interrupts = <46>;
 				status = "disabled";
@@ -198,24 +198,24 @@
 			};
 
 			twsi1: i2c at d4011000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4011000 0x1000>;
 				interrupts = <7>;
 				#address-cells = <1>;
 				#size-cells = <0>;
-				mrvl,i2c-fast-mode;
+				marvell,i2c-fast-mode;
 				status = "disabled";
 			};
 
 			twsi2: i2c at d4025000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4025000 0x1000>;
 				interrupts = <58>;
 				status = "disabled";
 			};
 
 			rtc: rtc at d4010000 {
-				compatible = "mrvl,mmp-rtc";
+				compatible = "marvell,mmp-rtc";
 				reg = <0xd4010000 0x1000>;
 				interrupts = <1 0>;
 				interrupt-names = "rtc 1Hz", "rtc alarm";
diff --git a/arch/arm/boot/dts/pxa168-aspenite.dts b/arch/arm/boot/dts/pxa168-aspenite.dts
index e762fac..1e2ac17 100644
--- a/arch/arm/boot/dts/pxa168-aspenite.dts
+++ b/arch/arm/boot/dts/pxa168-aspenite.dts
@@ -12,7 +12,7 @@
 
 / {
 	model = "Marvell PXA168 Aspenite Development Board";
-	compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
+	compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
 
 	chosen {
 		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi
index 975dad2..c08f5fc 100644
--- a/arch/arm/boot/dts/pxa168.dtsi
+++ b/arch/arm/boot/dts/pxa168.dtsi
@@ -26,51 +26,51 @@
 		ranges;
 
 		axi at d4200000 {	/* AXI */
-			compatible = "mrvl,axi-bus", "simple-bus";
+			compatible = "marvell,axi-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4200000 0x00200000>;
 			ranges;
 
 			intc: interrupt-controller at d4282000 {
-				compatible = "mrvl,mmp-intc";
+				compatible = "marvell,mmp-intc";
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0xd4282000 0x1000>;
-				mrvl,intc-nr-irqs = <64>;
+				marvell,intc-nr-irqs = <64>;
 			};
 
 		};
 
 		apb at d4000000 {	/* APB */
-			compatible = "mrvl,apb-bus", "simple-bus";
+			compatible = "marvell,apb-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4000000 0x00200000>;
 			ranges;
 
 			timer0: timer at d4014000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4014000 0x100>;
 				interrupts = <13>;
 			};
 
 			uart1: uart at d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <27>;
 				status = "disabled";
 			};
 
 			uart2: uart at d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <28>;
 				status = "disabled";
 			};
 
 			uart3: uart at d4026000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4026000 0x1000>;
 				interrupts = <29>;
 				status = "disabled";
@@ -107,22 +107,22 @@
 			};
 
 			twsi1: i2c at d4011000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4011000 0x1000>;
 				interrupts = <7>;
-				mrvl,i2c-fast-mode;
+				marvell,i2c-fast-mode;
 				status = "disabled";
 			};
 
 			twsi2: i2c at d4025000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				reg = <0xd4025000 0x1000>;
 				interrupts = <58>;
 				status = "disabled";
 			};
 
 			rtc: rtc at d4010000 {
-				compatible = "mrvl,mmp-rtc";
+				compatible = "marvell,mmp-rtc";
 				reg = <0xd4010000 0x1000>;
 				interrupts = <5 6>;
 				interrupt-names = "rtc 1Hz", "rtc alarm";
diff --git a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi
index a5e90f0..c426b1e 100644
--- a/arch/arm/boot/dts/pxa2xx.dtsi
+++ b/arch/arm/boot/dts/pxa2xx.dtsi
@@ -47,7 +47,7 @@
 		};
 
 		gpio: gpio at 40e00000 {
-			compatible = "mrvl,pxa-gpio";
+			compatible = "marvell,pxa-gpio";
 			#address-cells = <0x1>;
 			#size-cells = <0x1>;
 			reg = <0x40e00000 0x10000>;
@@ -76,35 +76,35 @@
 		};
 
 		ffuart: uart at 40100000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x40100000 0x30>;
 			interrupts = <22>;
 			status = "disabled";
 		};
 
 		btuart: uart at 40200000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x40200000 0x30>;
 			interrupts = <21>;
 			status = "disabled";
 		};
 
 		stuart: uart at 40700000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x40700000 0x30>;
 			interrupts = <20>;
 			status = "disabled";
 		};
 
 		hwuart: uart at 41100000 {
-			compatible = "mrvl,pxa-uart";
+			compatible = "marvell,pxa-uart";
 			reg = <0x41100000 0x30>;
 			interrupts = <7>;
 			status = "disabled";
 		};
 
 		pxai2c1: i2c at 40301680 {
-			compatible = "mrvl,pxa-i2c";
+			compatible = "marvell,pxa-i2c";
 			reg = <0x40301680 0x30>;
 			interrupts = <18>;
 			#address-cells = <0x1>;
@@ -113,14 +113,14 @@
 		};
 
 		usb0: ohci at 4c000000 {
-			compatible = "mrvl,pxa-ohci";
+			compatible = "marvell,pxa-ohci";
 			reg = <0x4c000000 0x10000>;
 			interrupts = <3>;
 			status = "disabled";
 		};
 
 		mmc0: mmc at 41100000 {
-			compatible = "mrvl,pxa-mmc";
+			compatible = "marvell,pxa-mmc";
 			reg = <0x41100000 0x1000>;
 			interrupts = <23>;
 			status = "disabled";
diff --git a/arch/arm/boot/dts/pxa3xx.dtsi b/arch/arm/boot/dts/pxa3xx.dtsi
index f9d92da..0798031 100644
--- a/arch/arm/boot/dts/pxa3xx.dtsi
+++ b/arch/arm/boot/dts/pxa3xx.dtsi
@@ -7,7 +7,7 @@
 
 	pxabus {
 		pwri2c: i2c at 40f500c0 {
-			compatible = "mrvl,pwri2c";
+			compatible = "marvell,pwri2c";
 			reg = <0x40f500c0 0x30>;
 			interrupts = <6>;
 			#address-cells = <0x1>;
diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts
index 595492a..7384254 100644
--- a/arch/arm/boot/dts/pxa910-dkb.dts
+++ b/arch/arm/boot/dts/pxa910-dkb.dts
@@ -12,7 +12,7 @@
 
 / {
 	model = "Marvell PXA910 DKB Development Board";
-	compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
+	compatible = "marvell,pxa910-dkb", "marvell,pxa910";
 
 	chosen {
 		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
index 0247c62..b5594a0 100644
--- a/arch/arm/boot/dts/pxa910.dtsi
+++ b/arch/arm/boot/dts/pxa910.dtsi
@@ -31,58 +31,59 @@
 		};
 
 		axi at d4200000 {	/* AXI */
-			compatible = "mrvl,axi-bus", "simple-bus";
+			compatible = "marvell,axi-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4200000 0x00200000>;
 			ranges;
 
 			intc: interrupt-controller at d4282000 {
-				compatible = "mrvl,mmp-intc";
+				compatible = "marvell,mmp-intc";
 				interrupt-controller;
 				#interrupt-cells = <1>;
 				reg = <0xd4282000 0x1000>;
-				mrvl,intc-nr-irqs = <64>;
+				marvell,intc-nr-irqs = <64>;
+
 			};
 
 		};
 
 		apb at d4000000 {	/* APB */
-			compatible = "mrvl,apb-bus", "simple-bus";
+			compatible = "marvell,apb-bus", "simple-bus";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			reg = <0xd4000000 0x00200000>;
 			ranges;
 
 			timer0: timer at d4014000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4014000 0x100>;
 				interrupts = <13>;
 			};
 
 			timer1: timer at d4016000 {
-				compatible = "mrvl,mmp-timer";
+				compatible = "marvell,mmp-timer";
 				reg = <0xd4016000 0x100>;
 				interrupts = <29>;
 				status = "disabled";
 			};
 
 			uart1: uart at d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <27>;
 				status = "disabled";
 			};
 
 			uart2: uart at d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <28>;
 				status = "disabled";
 			};
 
 			uart3: uart at d4036000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "marvell,mmp-uart";
 				reg = <0xd4036000 0x1000>;
 				interrupts = <59>;
 				status = "disabled";
@@ -119,17 +120,17 @@
 			};
 
 			twsi1: i2c at d4011000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				#address-cells = <1>;
 				#size-cells = <0>;
 				reg = <0xd4011000 0x1000>;
 				interrupts = <7>;
-				mrvl,i2c-fast-mode;
+				marvell,i2c-fast-mode;
 				status = "disabled";
 			};
 
 			twsi2: i2c at d4037000 {
-				compatible = "mrvl,mmp-twsi";
+				compatible = "marvell,mmp-twsi";
 				#address-cells = <1>;
 				#size-cells = <0>;
 				reg = <0xd4037000 0x1000>;
@@ -138,7 +139,7 @@
 			};
 
 			rtc: rtc at d4010000 {
-				compatible = "mrvl,mmp-rtc";
+				compatible = "marvell,mmp-rtc";
 				reg = <0xd4010000 0x1000>;
 				interrupts = <5 6>;
 				interrupt-names = "rtc 1Hz", "rtc alarm";
diff --git a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c
index 3c71246..a7a53611 100644
--- a/arch/arm/mach-mmp/irq.c
+++ b/arch/arm/mach-mmp/irq.c
@@ -327,13 +327,13 @@ void __init mmp2_init_icu(void)
 
 #ifdef CONFIG_OF
 static const struct of_device_id intc_ids[] __initconst = {
-	{ .compatible = "mrvl,mmp-intc", .data = &mmp_conf },
-	{ .compatible = "mrvl,mmp2-intc", .data = &mmp2_conf },
+	{ .compatible = "marvell,mmp-intc", .data = &mmp_conf },
+	{ .compatible = "marvell,mmp2-intc", .data = &mmp2_conf },
 	{}
 };
 
 static const struct of_device_id mmp_mux_irq_match[] __initconst = {
-	{ .compatible = "mrvl,mmp2-mux-intc" },
+	{ .compatible = "marvell,mmp2-mux-intc" },
 	{}
 };
 
@@ -352,10 +352,10 @@ int __init mmp2_mux_init(struct device_node *parent)
 		if (!node)
 			break;
 		of_id = of_match_node(&mmp_mux_irq_match[0], node);
-		ret = of_property_read_u32(node, "mrvl,intc-nr-irqs",
+		ret = of_property_read_u32(node, "marvell,intc-nr-irqs",
 					   &nr_irqs);
 		if (ret) {
-			pr_err("Not found mrvl,intc-nr-irqs property\n");
+			pr_err("Not found marvell,intc-nr-irqs property\n");
 			ret = -EINVAL;
 			goto err;
 		}
@@ -385,7 +385,7 @@ int __init mmp2_mux_init(struct device_node *parent)
 			ret = irq_base;
 			goto err;
 		}
-		if (!of_property_read_u32(node, "mrvl,clr-mfp-irq",
+		if (!of_property_read_u32(node, "marvell,clr-mfp-irq",
 					  &mfp_irq)) {
 			icu_data[i].clr_mfp_irq_base = irq_base;
 			icu_data[i].clr_mfp_hwirq = mfp_irq;
@@ -424,9 +424,9 @@ void __init mmp_dt_irq_init(void)
 	of_id = of_match_node(intc_ids, node);
 	conf = of_id->data;
 
-	ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs);
+	ret = of_property_read_u32(node, "marvell,intc-nr-irqs", &nr_irqs);
 	if (ret) {
-		pr_err("Not found mrvl,intc-nr-irqs property\n");
+		pr_err("Not found marvell,intc-nr-irqs property\n");
 		return;
 	}
 
diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
index b37915d..62c5adb 100644
--- a/arch/arm/mach-mmp/mmp-dt.c
+++ b/arch/arm/mach-mmp/mmp-dt.c
@@ -23,24 +23,24 @@ extern void __init mmp_dt_irq_init(void);
 extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
 	{}
 };
 
 static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
 	{}
 };
 
@@ -57,8 +57,8 @@ static void __init pxa910_dt_init(void)
 }
 
 static const char *mmp_dt_board_compat[] __initdata = {
-	"mrvl,pxa168-aspenite",
-	"mrvl,pxa910-dkb",
+	"marvell,pxa168-aspenite",
+	"marvell,pxa910-dkb",
 	NULL,
 };
 
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 4ac2567..6523ecf 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -25,14 +25,14 @@ extern void __init mmp_dt_irq_init(void);
 extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio", NULL),
-	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
 	{}
 };
 
@@ -43,7 +43,7 @@ static void __init mmp2_dt_init(void)
 }
 
 static const char *mmp2_dt_board_compat[] __initdata = {
-	"mrvl,mmp2-brownstone",
+	"marvell,mmp2-brownstone",
 	NULL,
 };
 
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
index 7ac41e8..67e7d5c 100644
--- a/arch/arm/mach-mmp/time.c
+++ b/arch/arm/mach-mmp/time.c
@@ -208,7 +208,7 @@ void __init timer_init(int irq)
 
 #ifdef CONFIG_OF
 static struct of_device_id mmp_timer_dt_ids[] = {
-	{ .compatible = "mrvl,mmp-timer", },
+	{ .compatible = "marvell,mmp-timer", },
 	{}
 };
 
diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c
index 3835979..b679367 100644
--- a/arch/arm/mach-pxa/pxa-dt.c
+++ b/arch/arm/mach-pxa/pxa-dt.c
@@ -23,15 +23,15 @@
 extern void __init pxa3xx_dt_init_irq(void);
 
 static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst = {
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40100000, "pxa2xx-uart.0", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40200000, "pxa2xx-uart.1", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40700000, "pxa2xx-uart.2", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x41600000, "pxa2xx-uart.3", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40100000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40200000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40700000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-uart",	0x41600000, "pxa2xx-uart.3", NULL),
 	OF_DEV_AUXDATA("marvell,pxa-mmc",	0x41100000, "pxa2xx-mci.0", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-gpio",		0x40e00000, "pxa-gpio", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-gpio",	0x40e00000, "pxa-gpio", NULL),
 	OF_DEV_AUXDATA("marvell,pxa-ohci",	0x4c000000, "pxa27x-ohci", NULL),
-	OF_DEV_AUXDATA("mrvl,pxa-i2c",		0x40301680, "pxa2xx-i2c.0", NULL),
-	OF_DEV_AUXDATA("mrvl,pwri2c",		0x40f500c0, "pxa3xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,pxa-i2c",	0x40301680, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,pwri2c",	0x40f500c0, "pxa3xx-i2c.1", NULL),
 	OF_DEV_AUXDATA("marvell,pxa3xx-nand",	0x43100000, "pxa3xx-nand", NULL),
 	{}
 };
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index fbafed2..6f2b17d 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -1040,9 +1040,9 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
 };
 
 static struct of_device_id i2c_pxa_dt_ids[] = {
-	{ .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
-	{ .compatible = "mrvl,pwri2c", .data = (void *)REGS_PXA3XX },
-	{ .compatible = "mrvl,mmp-twsi", .data = (void *)REGS_PXA2XX },
+	{ .compatible = "marvell,pxa-i2c", .data = (void *)REGS_PXA2XX },
+	{ .compatible = "marvell,pwri2c", .data = (void *)REGS_PXA3XX },
+	{ .compatible = "marvell,mmp-twsi", .data = (void *)REGS_PXA2XX },
 	{}
 };
 MODULE_DEVICE_TABLE(of, i2c_pxa_dt_ids);
@@ -1060,9 +1060,9 @@ static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
 	/* For device tree we always use the dynamic or alias-assigned ID */
 	i2c->adap.nr = -1;
 
-	if (of_get_property(np, "mrvl,i2c-polling", NULL))
+	if (of_get_property(np, "marvell,i2c-polling", NULL))
 		i2c->use_pio = 1;
-	if (of_get_property(np, "mrvl,i2c-fast-mode", NULL))
+	if (of_get_property(np, "marvell,i2c-fast-mode", NULL))
 		i2c->fast_mode = 1;
 	*i2c_types = (u32)(of_id->data);
 	return 0;
diff --git a/drivers/mmc/host/sdhci-pxav2.c b/drivers/mmc/host/sdhci-pxav2.c
index 6a3f702..1dd6500 100644
--- a/drivers/mmc/host/sdhci-pxav2.c
+++ b/drivers/mmc/host/sdhci-pxav2.c
@@ -120,7 +120,7 @@ static const struct sdhci_ops pxav2_sdhci_ops = {
 #ifdef CONFIG_OF
 static const struct of_device_id sdhci_pxav2_of_match[] = {
 	{
-		.compatible = "mrvl,pxav2-mmc",
+		.compatible = "marvell,pxav2-mmc",
 	},
 	{},
 };
@@ -144,7 +144,7 @@ static struct sdhci_pxa_platdata *pxav2_get_mmc_pdata(struct device *dev)
 	if (bus_width == 8)
 		pdata->flags |= PXA_FLAG_SD_8_BIT_CAPABLE_SLOT;
 
-	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
+	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
 	if (clk_delay_cycles > 0) {
 		pdata->clk_delay_sel = 1;
 		pdata->clk_delay_cycles = clk_delay_cycles;
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index 1ae358e..a88974b 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -185,7 +185,7 @@ static struct sdhci_pltfm_data sdhci_pxav3_pdata = {
 #ifdef CONFIG_OF
 static const struct of_device_id sdhci_pxav3_of_match[] = {
 	{
-		.compatible = "mrvl,pxav3-mmc",
+		.compatible = "marvell,pxav3-mmc",
 	},
 	{},
 };
@@ -201,7 +201,7 @@ static struct sdhci_pxa_platdata *pxav3_get_mmc_pdata(struct device *dev)
 	if (!pdata)
 		return NULL;
 
-	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
+	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
 	if (clk_delay_cycles > 0)
 		pdata->clk_delay_cycles = clk_delay_cycles;
 
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 0f7adeb..307dd37 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -339,8 +339,8 @@ static SIMPLE_DEV_PM_OPS(sa1100_rtc_pm_ops, sa1100_rtc_suspend,
 
 #ifdef CONFIG_OF
 static struct of_device_id sa1100_rtc_dt_ids[] = {
-	{ .compatible = "mrvl,sa1100-rtc", },
-	{ .compatible = "mrvl,mmp-rtc", },
+	{ .compatible = "marvell,sa1100-rtc", },
+	{ .compatible = "marvell,mmp-rtc", },
 	{}
 };
 MODULE_DEVICE_TABLE(of, sa1100_rtc_dt_ids);
diff --git a/drivers/tty/serial/pxa.c b/drivers/tty/serial/pxa.c
index 05f504e..cb1a439 100644
--- a/drivers/tty/serial/pxa.c
+++ b/drivers/tty/serial/pxa.c
@@ -852,8 +852,8 @@ static const struct dev_pm_ops serial_pxa_pm_ops = {
 #endif
 
 static struct of_device_id serial_pxa_dt_ids[] = {
-	{ .compatible = "mrvl,pxa-uart", },
-	{ .compatible = "mrvl,mmp-uart", },
+	{ .compatible = "marvell,pxa-uart", },
+	{ .compatible = "marvell,mmp-uart", },
 	{}
 };
 MODULE_DEVICE_TABLE(of, serial_pxa_dt_ids);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
  2013-07-09  6:42 ` Neil Zhang
  (?)
@ 2013-07-09  6:42   ` Neil Zhang
  -1 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel
  Cc: Neil Zhang

support CLOCKSOURCE OF DECLARE for mmp timer.

Signed-off-by: Neil Zhang <zhangwm@marvell.com>
---
 arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
 arch/arm/mach-mmp/mmp2-dt.c |    3 +--
 arch/arm/mach-mmp/time.c    |   15 ++-------------
 3 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
index 62c5adb..87ab5ff 100644
--- a/arch/arm/mach-mmp/mmp-dt.c
+++ b/arch/arm/mach-mmp/mmp-dt.c
@@ -20,7 +20,6 @@
 #include "common.h"
 
 extern void __init mmp_dt_irq_init(void);
-extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
@@ -65,7 +64,7 @@ static const char *mmp_dt_board_compat[] __initdata = {
 DT_MACHINE_START(PXA168_DT, "Marvell PXA168 (Device Tree Support)")
 	.map_io		= mmp_map_io,
 	.init_irq	= mmp_dt_irq_init,
-	.init_time	= mmp_dt_init_timer,
+	.init_time	= clocksource_of_init,
 	.init_machine	= pxa168_dt_init,
 	.dt_compat	= mmp_dt_board_compat,
 MACHINE_END
@@ -73,7 +72,7 @@ MACHINE_END
 DT_MACHINE_START(PXA910_DT, "Marvell PXA910 (Device Tree Support)")
 	.map_io		= mmp_map_io,
 	.init_irq	= mmp_dt_irq_init,
-	.init_time	= mmp_dt_init_timer,
+	.init_time	= clocksource_of_init,
 	.init_machine	= pxa910_dt_init,
 	.dt_compat	= mmp_dt_board_compat,
 MACHINE_END
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 6523ecf..0ce46f1 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -22,7 +22,6 @@
 #include "common.h"
 
 extern void __init mmp_dt_irq_init(void);
-extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
@@ -50,7 +49,7 @@ static const char *mmp2_dt_board_compat[] __initdata = {
 DT_MACHINE_START(MMP2_DT, "Marvell MMP2 (Device Tree Support)")
 	.map_io		= mmp_map_io,
 	.init_irq	= mmp_dt_irq_init,
-	.init_time	= mmp_dt_init_timer,
+	.init_time	= clocksource_of_init,
 	.init_machine	= mmp2_dt_init,
 	.dt_compat	= mmp2_dt_board_compat,
 MACHINE_END
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
index 67e7d5c..8f5d612 100644
--- a/arch/arm/mach-mmp/time.c
+++ b/arch/arm/mach-mmp/time.c
@@ -207,22 +207,10 @@ void __init timer_init(int irq)
 }
 
 #ifdef CONFIG_OF
-static struct of_device_id mmp_timer_dt_ids[] = {
-	{ .compatible = "marvell,mmp-timer", },
-	{}
-};
-
-void __init mmp_dt_init_timer(void)
+static void __init mmp_of_init_timer(struct device_node *np)
 {
-	struct device_node *np;
 	int irq, ret;
 
-	np = of_find_matching_node(NULL, mmp_timer_dt_ids);
-	if (!np) {
-		ret = -ENODEV;
-		goto out;
-	}
-
 	irq = irq_of_parse_and_map(np, 0);
 	if (!irq) {
 		ret = -EINVAL;
@@ -238,4 +226,5 @@ void __init mmp_dt_init_timer(void)
 out:
 	pr_err("Failed to get timer from device tree with error:%d\n", ret);
 }
+CLOCKSOURCE_OF_DECLARE(mmp_timer, "marvell,mmp-timer", mmp_of_init_timer);
 #endif
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-09  6:42   ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel
  Cc: Neil Zhang

support CLOCKSOURCE OF DECLARE for mmp timer.

Signed-off-by: Neil Zhang <zhangwm@marvell.com>
---
 arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
 arch/arm/mach-mmp/mmp2-dt.c |    3 +--
 arch/arm/mach-mmp/time.c    |   15 ++-------------
 3 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
index 62c5adb..87ab5ff 100644
--- a/arch/arm/mach-mmp/mmp-dt.c
+++ b/arch/arm/mach-mmp/mmp-dt.c
@@ -20,7 +20,6 @@
 #include "common.h"
 
 extern void __init mmp_dt_irq_init(void);
-extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
@@ -65,7 +64,7 @@ static const char *mmp_dt_board_compat[] __initdata = {
 DT_MACHINE_START(PXA168_DT, "Marvell PXA168 (Device Tree Support)")
 	.map_io		= mmp_map_io,
 	.init_irq	= mmp_dt_irq_init,
-	.init_time	= mmp_dt_init_timer,
+	.init_time	= clocksource_of_init,
 	.init_machine	= pxa168_dt_init,
 	.dt_compat	= mmp_dt_board_compat,
 MACHINE_END
@@ -73,7 +72,7 @@ MACHINE_END
 DT_MACHINE_START(PXA910_DT, "Marvell PXA910 (Device Tree Support)")
 	.map_io		= mmp_map_io,
 	.init_irq	= mmp_dt_irq_init,
-	.init_time	= mmp_dt_init_timer,
+	.init_time	= clocksource_of_init,
 	.init_machine	= pxa910_dt_init,
 	.dt_compat	= mmp_dt_board_compat,
 MACHINE_END
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 6523ecf..0ce46f1 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -22,7 +22,6 @@
 #include "common.h"
 
 extern void __init mmp_dt_irq_init(void);
-extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
@@ -50,7 +49,7 @@ static const char *mmp2_dt_board_compat[] __initdata = {
 DT_MACHINE_START(MMP2_DT, "Marvell MMP2 (Device Tree Support)")
 	.map_io		= mmp_map_io,
 	.init_irq	= mmp_dt_irq_init,
-	.init_time	= mmp_dt_init_timer,
+	.init_time	= clocksource_of_init,
 	.init_machine	= mmp2_dt_init,
 	.dt_compat	= mmp2_dt_board_compat,
 MACHINE_END
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
index 67e7d5c..8f5d612 100644
--- a/arch/arm/mach-mmp/time.c
+++ b/arch/arm/mach-mmp/time.c
@@ -207,22 +207,10 @@ void __init timer_init(int irq)
 }
 
 #ifdef CONFIG_OF
-static struct of_device_id mmp_timer_dt_ids[] = {
-	{ .compatible = "marvell,mmp-timer", },
-	{}
-};
-
-void __init mmp_dt_init_timer(void)
+static void __init mmp_of_init_timer(struct device_node *np)
 {
-	struct device_node *np;
 	int irq, ret;
 
-	np = of_find_matching_node(NULL, mmp_timer_dt_ids);
-	if (!np) {
-		ret = -ENODEV;
-		goto out;
-	}
-
 	irq = irq_of_parse_and_map(np, 0);
 	if (!irq) {
 		ret = -EINVAL;
@@ -238,4 +226,5 @@ void __init mmp_dt_init_timer(void)
 out:
 	pr_err("Failed to get timer from device tree with error:%d\n", ret);
 }
+CLOCKSOURCE_OF_DECLARE(mmp_timer, "marvell,mmp-timer", mmp_of_init_timer);
 #endif
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-09  6:42   ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: linux-arm-kernel

support CLOCKSOURCE OF DECLARE for mmp timer.

Signed-off-by: Neil Zhang <zhangwm@marvell.com>
---
 arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
 arch/arm/mach-mmp/mmp2-dt.c |    3 +--
 arch/arm/mach-mmp/time.c    |   15 ++-------------
 3 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
index 62c5adb..87ab5ff 100644
--- a/arch/arm/mach-mmp/mmp-dt.c
+++ b/arch/arm/mach-mmp/mmp-dt.c
@@ -20,7 +20,6 @@
 #include "common.h"
 
 extern void __init mmp_dt_irq_init(void);
-extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
@@ -65,7 +64,7 @@ static const char *mmp_dt_board_compat[] __initdata = {
 DT_MACHINE_START(PXA168_DT, "Marvell PXA168 (Device Tree Support)")
 	.map_io		= mmp_map_io,
 	.init_irq	= mmp_dt_irq_init,
-	.init_time	= mmp_dt_init_timer,
+	.init_time	= clocksource_of_init,
 	.init_machine	= pxa168_dt_init,
 	.dt_compat	= mmp_dt_board_compat,
 MACHINE_END
@@ -73,7 +72,7 @@ MACHINE_END
 DT_MACHINE_START(PXA910_DT, "Marvell PXA910 (Device Tree Support)")
 	.map_io		= mmp_map_io,
 	.init_irq	= mmp_dt_irq_init,
-	.init_time	= mmp_dt_init_timer,
+	.init_time	= clocksource_of_init,
 	.init_machine	= pxa910_dt_init,
 	.dt_compat	= mmp_dt_board_compat,
 MACHINE_END
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 6523ecf..0ce46f1 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -22,7 +22,6 @@
 #include "common.h"
 
 extern void __init mmp_dt_irq_init(void);
-extern void __init mmp_dt_init_timer(void);
 
 static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
@@ -50,7 +49,7 @@ static const char *mmp2_dt_board_compat[] __initdata = {
 DT_MACHINE_START(MMP2_DT, "Marvell MMP2 (Device Tree Support)")
 	.map_io		= mmp_map_io,
 	.init_irq	= mmp_dt_irq_init,
-	.init_time	= mmp_dt_init_timer,
+	.init_time	= clocksource_of_init,
 	.init_machine	= mmp2_dt_init,
 	.dt_compat	= mmp2_dt_board_compat,
 MACHINE_END
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
index 67e7d5c..8f5d612 100644
--- a/arch/arm/mach-mmp/time.c
+++ b/arch/arm/mach-mmp/time.c
@@ -207,22 +207,10 @@ void __init timer_init(int irq)
 }
 
 #ifdef CONFIG_OF
-static struct of_device_id mmp_timer_dt_ids[] = {
-	{ .compatible = "marvell,mmp-timer", },
-	{}
-};
-
-void __init mmp_dt_init_timer(void)
+static void __init mmp_of_init_timer(struct device_node *np)
 {
-	struct device_node *np;
 	int irq, ret;
 
-	np = of_find_matching_node(NULL, mmp_timer_dt_ids);
-	if (!np) {
-		ret = -ENODEV;
-		goto out;
-	}
-
 	irq = irq_of_parse_and_map(np, 0);
 	if (!irq) {
 		ret = -EINVAL;
@@ -238,4 +226,5 @@ void __init mmp_dt_init_timer(void)
 out:
 	pr_err("Failed to get timer from device tree with error:%d\n", ret);
 }
+CLOCKSOURCE_OF_DECLARE(mmp_timer, "marvell,mmp-timer", mmp_of_init_timer);
 #endif
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support
  2013-07-09  6:42 ` Neil Zhang
  (?)
@ 2013-07-09  6:42   ` Neil Zhang
  -1 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel
  Cc: Neil Zhang, Chao Xie

bring up pxa988 with device tree support.

Signed-off-by: Neil Zhang <zhangwm@marvell.com>
Signed-off-by: Chao Xie <chao.xie@marvell.com>
---
 arch/arm/boot/dts/pxa988-dkb.dts          |   36 ++++++
 arch/arm/boot/dts/pxa988.dtsi             |  190 +++++++++++++++++++++++++++++
 arch/arm/mach-mmp/Kconfig                 |   18 +++
 arch/arm/mach-mmp/Makefile                |    1 +
 arch/arm/mach-mmp/common.c                |   11 ++-
 arch/arm/mach-mmp/common.h                |    2 +
 arch/arm/mach-mmp/headsmp.S               |  104 ++++++++++++++++
 arch/arm/mach-mmp/include/mach/addr-map.h |    6 +
 arch/arm/mach-mmp/mmp2-dt.c               |   41 ++++++
 arch/arm/mach-mmp/platsmp.c               |  167 +++++++++++++++++++++++++
 arch/arm/mach-mmp/reset.c                 |   66 ++++++++++
 arch/arm/mach-mmp/reset.h                 |   29 +++++
 drivers/clk/mmp/Makefile                  |    1 +
 13 files changed, 671 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/boot/dts/pxa988-dkb.dts
 create mode 100644 arch/arm/boot/dts/pxa988.dtsi
 create mode 100644 arch/arm/mach-mmp/headsmp.S
 create mode 100644 arch/arm/mach-mmp/platsmp.c
 create mode 100644 arch/arm/mach-mmp/reset.c
 create mode 100644 arch/arm/mach-mmp/reset.h

diff --git a/arch/arm/boot/dts/pxa988-dkb.dts b/arch/arm/boot/dts/pxa988-dkb.dts
new file mode 100644
index 0000000..891c78a
--- /dev/null
+++ b/arch/arm/boot/dts/pxa988-dkb.dts
@@ -0,0 +1,36 @@
+/*
+ *  Copyright (C) 2012 Marvell Technology Group Ltd.
+ *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/dts-v1/;
+/include/ "pxa988.dtsi"
+
+/ {
+	model = "Marvell PXA988 DKB Development Board";
+	compatible = "marvell,pxa988-dkb", "marvell,pxa988";
+
+	chosen {
+		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
+	};
+
+	memory {
+		reg = <0x00000000 0x10000000>;
+	};
+
+	soc {
+		apb@d4000000 {
+			uart1: uart@d4017000 {
+				status = "okay";
+			};
+
+			rtc: rtc@d4010000 {
+				status = "okay";
+			};
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/pxa988.dtsi b/arch/arm/boot/dts/pxa988.dtsi
new file mode 100644
index 0000000..f69bf77
--- /dev/null
+++ b/arch/arm/boot/dts/pxa988.dtsi
@@ -0,0 +1,190 @@
+/*
+ *  Copyright (C) 2013 Marvell Technology Group Ltd.
+ *  Author: Chao Xie <chao.xie@marvell.com>
+ *	    Neil Zhang <zhangwm@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+	interrupt-parent = <&gic>;
+
+	aliases {
+		serial0 = &uart1;
+		serial1 = &uart2;
+		serial2 = &uart3;
+		i2c0 = &twsi1;
+		i2c1 = &twsi2;
+	};
+
+	cpus {
+		cpu@0 {
+			compatible = "arm,cortex-a9";
+			next-level-cache = <&L2>;
+		};
+		cpu@1 {
+			compatible = "arm,cortex-a9";
+			next-level-cache = <&L2>;
+		};
+	};
+
+
+	soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		interrupt-parent = <&gic>;
+		ranges;
+
+		gic: interrupt-controller@d1dfe100 {
+			compatible = "arm,cortex-a9-gic";
+			#interrupt-cells = <3>;
+			#address-cells = <1>;
+			interrupt-controller;
+			reg = <0xd1dff000 0x1000>,
+			      <0xd1dfe100 0x0100>;
+		};
+
+		L2: l2-cache-controller@d1dfb000 {
+			compatible = "arm,pl310-cache";
+			reg = <0xd1dfb000 0x1000>;
+			arm,data-latency = <2 1 1>;
+			arm,tag-latency = <2 1 1>;
+			arm,pwr-dynamic-clk-gating;
+			arm,pwr-standby-mode;
+			cache-unified;
+			cache-level = <2>;
+		};
+
+		local-timer@d1dfe600 {
+			compatible = "arm,cortex-a9-twd-timer";
+			reg = <0xd1dfe600 0x20>;
+			interrupts = <1 13 0x304>;
+		};
+
+		axi@d4200000 {	/* AXI */
+			compatible = "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0xd4200000 0xd4200000 0x00200000>;
+
+			intc: wakeupgen@d4282000 {
+				compatible = "marvell,mmp-intc";
+				reg = <0xd4282000 0x1000>;
+				marvell,intc-wakeup = <0x114 0x3
+						    0x144 0x3>;
+			};
+
+		};
+
+		apb@d4000000 {	/* APB */
+			compatible = "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0xd4000000 0xd4000000 0x00200000>;
+
+			timer0: timer@d4014000 {
+				compatible = "marvell,mmp-timer";
+				reg = <0xd4014000 0x100>;
+				interrupts = <0 13 0x4>;
+			};
+
+			uart1: uart@d4017000 {
+				compatible = "marvell,mmp-uart";
+				reg = <0xd4017000 0x1000>;
+				interrupts = <0 27 0x4>;
+				status = "disabled";
+			};
+
+			uart2: uart@d4018000 {
+				compatible = "marvell,mmp-uart";
+				reg = <0xd4018000 0x1000>;
+				interrupts = <0 28 0x4>;
+				status = "disabled";
+			};
+
+			uart3: uart@d4036000 {
+				compatible = "marvell,mmp-uart";
+				reg = <0xd4036000 0x1000>;
+				interrupts = <0 59 0x4>;
+				status = "disabled";
+			};
+
+			gpio@d4019000 {
+				compatible = "marvell,mmp-gpio";
+				#address-cells = <1>;
+				#size-cells = <1>;
+				reg = <0xd4019000 0x1000>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				interrupts = <49>;
+				interrupt-names = "gpio_mux";
+				interrupt-controller;
+				#interrupt-cells = <1>;
+				ranges;
+
+				gcb0: gpio@d4019000 {
+					reg = <0xd4019000 0x4>;
+				};
+
+				gcb1: gpio@d4019004 {
+					reg = <0xd4019004 0x4>;
+				};
+
+				gcb2: gpio@d4019008 {
+					reg = <0xd4019008 0x4>;
+				};
+
+				gcb3: gpio@d4019100 {
+					reg = <0xd4019100 0x4>;
+				};
+			};
+
+			twsi1: i2c@d4011000 {
+				compatible = "marvell,mmp-twsi";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <0xd4011000 0x1000>;
+				interrupts = <0 7 0x4>;
+				marvell,i2c-fast-mode;
+				status = "disabled";
+			};
+
+			twsi2: i2c@d4037000 {
+				compatible = "marvell,mmp-twsi";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <0xd4037000 0x1000>;
+				interrupts = <0 54 0x4>;
+				status = "disabled";
+			};
+
+			rtc: rtc@d4010000 {
+				compatible = "marvell,mmp-rtc";
+				reg = <0xd4010000 0x1000>;
+				interrupts = <0 5 0x4>,<0 6 0x4>;
+				interrupt-names = "rtc 1Hz", "rtc alarm";
+				status = "disabled";
+			};
+			pmx: pinmux@d401e000 {
+				compatible = "pinconf-single";
+				reg = <0xd401e000 0x330>;
+				#address-cells = <1>;
+				#size-cells = <1>;
+				#gpio-range-cells = <3>;
+				ranges;
+
+				pinctrl-single,register-width = <32>;
+				pinctrl-single,function-mask = <7>;
+
+				range: gpio-range {
+					#pinctrl-single,gpio-range-cells = <3>;
+				};
+			};
+		};
+	};
+};
diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig
index ebdda83..ee2904e 100644
--- a/arch/arm/mach-mmp/Kconfig
+++ b/arch/arm/mach-mmp/Kconfig
@@ -100,6 +100,7 @@ config MACH_MMP2_DT
 	bool "Support MMP2 (ARMv7) platforms from device tree"
 	depends on !CPU_MOHAWK
 	select CPU_MMP2
+	select CPU_PXA988
 	select USE_OF
 	select PINCTRL
 	select PINCTRL_SINGLE
@@ -123,6 +124,23 @@ config CPU_PXA910
 	help
 	  Select code specific to PXA910
 
+config CPU_PXA988
+	bool
+	select CPU_V7
+	select ARM_GIC
+	select HAVE_SMP
+	select HAVE_ARM_SCU
+	select LOCAL_TIMERS
+	select HAVE_ARM_TWD
+	select COMMON_CLK
+	select CLKSRC_OF
+	select MIGHT_HAVE_CACHE_L2X0
+	help
+	  Say 'Y' here if you want to support the Marvell pxa988-base
+	  platforms.
+	  PXA988 is an SoC with dual-core Cotex-A9 and comunication
+	  processor, code name "Emei".
+
 config CPU_MMP2
 	bool
 	select COMMON_CLK
diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile
index 095c155..e5885ef 100644
--- a/arch/arm/mach-mmp/Makefile
+++ b/arch/arm/mach-mmp/Makefile
@@ -8,6 +8,7 @@ obj-y				+= common.o devices.o time.o irq.o
 obj-$(CONFIG_CPU_PXA168)	+= pxa168.o
 obj-$(CONFIG_CPU_PXA910)	+= pxa910.o
 obj-$(CONFIG_CPU_MMP2)		+= mmp2.o sram.o
+obj-$(CONFIG_CPU_PXA988)	+= platsmp.o headsmp.o reset.o
 
 ifeq ($(CONFIG_COMMON_CLK), )
 obj-y				+= clock.o
diff --git a/arch/arm/mach-mmp/common.c b/arch/arm/mach-mmp/common.c
index 9292b79..0c621bc 100644
--- a/arch/arm/mach-mmp/common.c
+++ b/arch/arm/mach-mmp/common.c
@@ -11,6 +11,10 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/of.h>
+#include <linux/io.h>
+#include <linux/ioport.h>
+#include <linux/of_address.h>
 
 #include <asm/page.h>
 #include <asm/mach/map.h>
@@ -36,7 +40,12 @@ static struct map_desc standard_io_desc[] __initdata = {
 		.virtual	= (unsigned long)AXI_VIRT_BASE,
 		.length		= AXI_PHYS_SIZE,
 		.type		= MT_DEVICE,
-	},
+	}, {
+		.pfn		= __phys_to_pfn(MMP_CORE_PERIPH_PHYS_BASE),
+		.virtual	= (unsigned long)MMP_CORE_PERIPH_VIRT_BASE,
+		.length		= MMP_CORE_PERIPH_PHYS_SIZE,
+		.type		= MT_DEVICE,
+	}
 };
 
 void __init mmp_map_io(void)
diff --git a/arch/arm/mach-mmp/common.h b/arch/arm/mach-mmp/common.h
index 0bdc50b..ea0225f 100644
--- a/arch/arm/mach-mmp/common.h
+++ b/arch/arm/mach-mmp/common.h
@@ -1,5 +1,7 @@
 #define ARRAY_AND_SIZE(x)	(x), ARRAY_SIZE(x)
 
+extern struct smp_operations mmp_smp_ops;
+
 extern void timer_init(int irq);
 
 extern void __init icu_init_irq(void);
diff --git a/arch/arm/mach-mmp/headsmp.S b/arch/arm/mach-mmp/headsmp.S
new file mode 100644
index 0000000..2b6177e
--- /dev/null
+++ b/arch/arm/mach-mmp/headsmp.S
@@ -0,0 +1,104 @@
+/*
+ * linux/arch/arm/mach-mmp/headsmp.S
+ *
+ * Copyright (C) 2012 Marvell, Inc.
+ *
+ * Author: Neil Zhang <zhangwm@marvell.com>
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+#include <linux/linkage.h>
+#include <linux/init.h>
+#include <asm/memory.h>
+#include <asm/cache.h>
+#include <asm/assembler.h>
+#include <mach/addr-map.h>
+
+	__CPUINIT
+
+/*
+ * Marvell specific entry point for secondary CPUs.
+ * The secondary kernel init calls v7_flush_dcache_all before it enables
+ * the L1; however, the L1 comes out of reset in an undefined state, so
+ * the clean + invalidate performed by v7_flush_dcache_all causes a bunch
+ * of cache lines with uninitialized data and uninitialized tags to get
+ * written out to memory, which does really unpleasant things to the main
+ * processor.  We fix this by performing an invalidate, rather than a
+ * clean + invalidate for secondary core, before jumping into the kernel.
+ *
+ * This funciton is cloned from arch/arm/mach-tegra/headsmp.S, and needs
+ * to be called for both secondary cores startup and primary core resume
+ * procedures.
+ */
+	.align L1_CACHE_SHIFT
+
+
+/*
+ * PXA specific entry point for secondary CPUs.  This provides
+ * a "holding pen" into which all secondary cores are held until we're
+ * ready for them to initialise.
+ */
+ENTRY(mmp_secondary_startup)
+	mrc	p15, 0, r0, c0, c0, 5
+	and	r0, r0, #15
+	adr	r4, 1f
+	ldmia	r4, {r5, r6}
+	sub	r4, r4, r5
+	add	r6, r6, r4
+pen:	ldr	r7, [r6]
+	cmp	r7, r0
+	bne	pen
+
+	/*
+	 * we've been released from the holding pen: secondary_stack
+	 * should now contain the SVC stack for this core
+	 */
+	bl	v7_invalidate_l1
+	b	secondary_startup
+ENDPROC(mmp_secondary_startup)
+
+	.align	2
+1:	.long	.
+	.long	pen_release
+
+
+/*
+ * Note: The following code is located into the .data section. This is to
+ *       allow sw_reset_flag and cpu_plugin_handler to be accessed with a
+ *       relative load while we can't rely on any MMU translation.
+ *       Reference from: arch/arm/kernel/sleep.S
+ */
+
+	.data
+	.align
+
+/*
+ * ROM code jumps to this function while waking up from CPU
+ * OFF or software reset state. Physical address of the function is
+ * stored at CA9_WARM_RESET_VECTOR while system is bring up.
+ */
+ENTRY(mmp_cpu_reset_entry)
+	adr	r1, mmp_entry_vectors
+	mrc	p15, 0, r0, c0, c0, 5
+	and	r0, r0, #15		@ fetch CPUID
+1:
+	ldr	r2, [r1, r0, lsl #2]    @ get the handler addr for this core
+	cmp	r2, #0
+	movne	pc, r2			@ jump to the handler
+	beq	1b
+ENDPROC(mmp_cpu_reset_entry)
+
+	/* Point to the address that save handlers for each core */
+	.global mmp_entry_vectors
+mmp_entry_vectors:
+	.rept   CONFIG_NR_CPUS
+        .long   0                               @ preserve stack phys ptr here
+	.endr
diff --git a/arch/arm/mach-mmp/include/mach/addr-map.h b/arch/arm/mach-mmp/include/mach/addr-map.h
index f88a44c..092005b 100644
--- a/arch/arm/mach-mmp/include/mach/addr-map.h
+++ b/arch/arm/mach-mmp/include/mach/addr-map.h
@@ -25,6 +25,10 @@
 #define AXI_VIRT_BASE		IOMEM(0xfe200000)
 #define AXI_PHYS_SIZE		0x00200000
 
+#define MMP_CORE_PERIPH_PHYS_BASE	0xd1dfe000
+#define MMP_CORE_PERIPH_VIRT_BASE	IOMEM(0xfe400000)
+#define MMP_CORE_PERIPH_PHYS_SIZE	0x00002000
+
 /* Static Memory Controller - Chip Select 0 and 1 */
 #define SMC_CS0_PHYS_BASE	0x80000000
 #define SMC_CS0_PHYS_SIZE	0x10000000
@@ -43,4 +47,6 @@
 #define CIU_VIRT_BASE		(AXI_VIRT_BASE + 0x82c00)
 #define CIU_REG(x)		(CIU_VIRT_BASE + (x))
 
+#define SCU_VIRT_BASE		(MMP_CORE_PERIPH_VIRT_BASE)
+
 #endif /* __ASM_MACH_ADDR_MAP_H */
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 0ce46f1..56df68c 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -11,15 +11,19 @@
 
 #include <linux/io.h>
 #include <linux/irq.h>
+#include <linux/irqchip.h>
 #include <linux/irqdomain.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
+#include <linux/clocksource.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/time.h>
+#include <asm/hardware/cache-l2x0.h>
 #include <mach/irqs.h>
 #include <mach/regs-apbc.h>
 
 #include "common.h"
+#include "reset.h"
 
 extern void __init mmp_dt_irq_init(void);
 
@@ -35,14 +39,41 @@ static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
 	{}
 };
 
+static const struct of_dev_auxdata pxa988_auxdata_lookup[] __initconst = {
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "pxa-gpio", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	{}
+};
+
 static void __init mmp2_dt_init(void)
 {
 	of_platform_populate(NULL, of_default_bus_match_table,
 			     mmp2_auxdata_lookup, NULL);
 }
 
+static void __init pxa988_dt_init_early(void)
+{
+	mmp_entry_vector_init();
+}
+
+static void __init pxa988_dt_init_machine(void)
+{
+	l2x0_of_init(0x30800000, 0xFE7FFFFF);
+
+	pxa910_clk_init();
+
+	of_platform_populate(NULL, of_default_bus_match_table,
+				pxa988_auxdata_lookup, NULL);
+}
+
 static const char *mmp2_dt_board_compat[] __initdata = {
 	"marvell,mmp2-brownstone",
+	"marvell,pxa988-dkb",
 	NULL,
 };
 
@@ -53,3 +84,13 @@ DT_MACHINE_START(MMP2_DT, "Marvell MMP2 (Device Tree Support)")
 	.init_machine	= mmp2_dt_init,
 	.dt_compat	= mmp2_dt_board_compat,
 MACHINE_END
+
+DT_MACHINE_START(PXA988_DT, "Marvell PXA988 (Device Tree Support)")
+	.smp		= smp_ops(mmp_smp_ops),
+	.map_io		= mmp_map_io,
+	.init_early	= pxa988_dt_init_early,
+	.init_irq	= irqchip_init,
+	.init_time	= clocksource_of_init,
+	.init_machine	= pxa988_dt_init_machine,
+	.dt_compat	= mmp2_dt_board_compat,
+MACHINE_END
diff --git a/arch/arm/mach-mmp/platsmp.c b/arch/arm/mach-mmp/platsmp.c
new file mode 100644
index 0000000..f341a67
--- /dev/null
+++ b/arch/arm/mach-mmp/platsmp.c
@@ -0,0 +1,167 @@
+/*
+ *  linux/arch/arm/mach-mmp/platsmp.c
+ *
+ *  Copyright (C) 2002 ARM Ltd.
+ *  All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/init.h>
+#include <linux/errno.h>
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/jiffies.h>
+#include <linux/smp.h>
+#include <linux/io.h>
+#include <linux/irq.h>
+
+#include <asm/cacheflush.h>
+#include <mach/hardware.h>
+#include <linux/irqchip/arm-gic.h>
+#include <asm/mach-types.h>
+#include <asm/localtimer.h>
+#include <asm/smp_scu.h>
+
+#include <mach/irqs.h>
+#include <mach/addr-map.h>
+
+#include "common.h"
+#include "reset.h"
+
+/*
+ * Write pen_release in a way that is guaranteed to be visible to all
+ * observers, irrespective of whether they're taking part in coherency
+ * or not.  This is necessary for the hotplug code to work reliably.
+ */
+static void __cpuinit write_pen_release(int val)
+{
+	pen_release = val;
+	smp_wmb();
+	__cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release));
+	outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1));
+}
+
+#ifdef CONFIG_HAVE_ARM_SCU
+static void __iomem *scu_get_base_addr(void)
+{
+	return SCU_VIRT_BASE;
+}
+#endif
+
+static inline unsigned int get_core_count(void)
+{
+	u32 ret = 1;
+#ifdef CONFIG_HAVE_ARM_SCU
+	ret = scu_get_core_count(scu_get_base_addr());
+#endif
+
+	return ret;
+}
+
+static DEFINE_SPINLOCK(boot_lock);
+
+static void __cpuinit mmp_secondary_init(unsigned int cpu)
+{
+	/*
+	 * let the primary processor know we're out of the
+	 * pen, then head off into the C entry point
+	 */
+	write_pen_release(-1);
+
+	/*
+	 * Synchronise with the boot thread.
+	 */
+	spin_lock(&boot_lock);
+	spin_unlock(&boot_lock);
+}
+
+static int __cpuinit mmp_boot_secondary(unsigned int cpu, struct task_struct *idle)
+{
+	unsigned long timeout;
+
+	/*
+	 * Avoid timer calibration on slave cpus. Use the value calibrated
+	 * on master cpu. Referenced from tegra3
+	 */
+	preset_lpj = loops_per_jiffy;
+
+	/*
+	 * set synchronisation state between this boot processor
+	 * and the secondary one
+	 */
+
+	spin_lock(&boot_lock);
+
+	/*
+	 * The secondary processor is waiting to be released from
+	 * the holding pen - release it, then wait for it to flag
+	 * that it has been released by resetting pen_release.
+	 *
+	 * Note that "pen_release" is the hardware CPU ID, whereas
+	 * "cpu" is Linux's internal ID.
+	 */
+	write_pen_release(cpu);
+
+	/* reset the cpu, let it branch to the kernel entry */
+	mmp_cpu_power_up(cpu);
+
+	timeout = jiffies + (1 * HZ);
+	while (time_before(jiffies, timeout)) {
+		smp_rmb();
+		if (pen_release == -1)
+			break;
+
+		udelay(10);
+	}
+
+	/*
+	 * now the secondary core is starting up let it run its
+	 * calibrations, then wait for it to finish
+	 */
+	spin_unlock(&boot_lock);
+
+	return pen_release != -1 ? -ENOSYS : 0;
+}
+
+/*
+ * Initialise the CPU possible map early - this describes the CPUs
+ * which may be present or become present in the system.
+ */
+static void __init mmp_smp_init_cpus(void)
+{
+	unsigned int i, ncores = get_core_count();
+
+	if (ncores > nr_cpu_ids) {
+		pr_warn("SMP: %u cores greater than maximum (%u), clipping\n",
+			ncores, nr_cpu_ids);
+		ncores = nr_cpu_ids;
+	}
+
+	for (i = 0; i < ncores; i++)
+		set_cpu_possible(i, true);
+}
+
+static void __init mmp_smp_prepare_cpus(unsigned int max_cpus)
+{
+	int i;
+
+	/*
+	 * Initialise the present map, which describes the set of CPUs
+	 * actually populated at the present time.
+	 */
+	for (i = 0; i < max_cpus; i++)
+		set_cpu_present(i, true);
+
+#ifdef CONFIG_HAVE_ARM_SCU
+	scu_enable(scu_get_base_addr());
+#endif
+}
+
+struct smp_operations mmp_smp_ops __initdata = {
+	.smp_init_cpus		= mmp_smp_init_cpus,
+	.smp_prepare_cpus	= mmp_smp_prepare_cpus,
+	.smp_secondary_init	= mmp_secondary_init,
+	.smp_boot_secondary	= mmp_boot_secondary,
+};
diff --git a/arch/arm/mach-mmp/reset.c b/arch/arm/mach-mmp/reset.c
new file mode 100644
index 0000000..b90ec54
--- /dev/null
+++ b/arch/arm/mach-mmp/reset.c
@@ -0,0 +1,66 @@
+/*
+ * linux/arch/arm/mach-mmp/reset.c
+ *
+ * Author:	Neil Zhang <zhangwm@marvell.com>
+ * Copyright:	(C) 2012 Marvell International Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#include <linux/kernel.h>
+#include <linux/smp.h>
+
+#include <asm/io.h>
+#include <asm/cacheflush.h>
+#include <asm/mach/map.h>
+
+#include <mach/addr-map.h>
+
+#include "reset.h"
+
+#define PMU_CC2_AP			APMU_REG(0x0100)
+#define CIU_CA9_WARM_RESET_VECTOR	CIU_REG(0x00d8)
+
+/*
+ * This function is called from boot_secondary to bootup the secondary cpu.
+ */
+void mmp_cpu_power_up(u32 cpu)
+{
+	u32 tmp;
+
+	BUG_ON(cpu == 0);
+
+	tmp = readl(PMU_CC2_AP);
+	if (tmp & CPU_CORE_RST(cpu)) {
+		/* Release secondary core from reset */
+		tmp &= ~(CPU_CORE_RST(cpu)
+			| CPU_DBG_RST(cpu) | CPU_WDOG_RST(cpu));
+		writel(tmp, PMU_CC2_AP);
+	}
+}
+
+void mmp_set_entry_vector(u32 cpu, u32 addr)
+{
+	BUG_ON(cpu >= nr_cpu_ids);
+
+	mmp_entry_vectors[cpu] = addr;
+	smp_wmb();
+	__cpuc_flush_dcache_area((void *)&mmp_entry_vectors[cpu],
+				sizeof(mmp_entry_vectors[cpu]));
+	outer_clean_range(__pa(&mmp_entry_vectors[cpu]),
+				__pa(&mmp_entry_vectors[cpu + 1]));
+}
+
+void __init mmp_entry_vector_init(void)
+{
+	int cpu;
+
+	/* We will reset from DDR directly by default */
+	writel(__pa(mmp_cpu_reset_entry), CIU_CA9_WARM_RESET_VECTOR);
+
+	for (cpu = 1; cpu < nr_cpu_ids; cpu++)
+		mmp_set_entry_vector(cpu, __pa(mmp_secondary_startup));
+}
diff --git a/arch/arm/mach-mmp/reset.h b/arch/arm/mach-mmp/reset.h
new file mode 100644
index 0000000..78d5486
--- /dev/null
+++ b/arch/arm/mach-mmp/reset.h
@@ -0,0 +1,29 @@
+/*
+ * linux/arch/arm/mach-mmp/include/mach/reset.h
+ *
+ * Author:	Neil Zhang <zhangwm@marvell.com>
+ * Copyright:	(C) 2012 Marvell International Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef __RESET_PXA988_H__
+#define __RESET_PXA988_H__
+
+#define CPU_CORE_RST(n)	(1 << ((n) * 4 + 16))
+#define CPU_DBG_RST(n)	(1 << ((n) * 4 + 18))
+#define CPU_WDOG_RST(n)	(1 << ((n) * 4 + 19))
+
+extern u32 mmp_entry_vectors[CONFIG_NR_CPUS];
+
+void mmp_secondary_startup(void);
+void mmp_cpu_reset_entry(void);
+
+void mmp_cpu_power_up(u32 cpu);
+void mmp_set_entry_vector(u32 cpu, u32 addr);
+void __init mmp_entry_vector_init(void);
+
+#endif /* __RESET_PXA988_H__ */
diff --git a/drivers/clk/mmp/Makefile b/drivers/clk/mmp/Makefile
index 392d780..59a3f9f7 100644
--- a/drivers/clk/mmp/Makefile
+++ b/drivers/clk/mmp/Makefile
@@ -7,3 +7,4 @@ obj-y += clk-apbc.o clk-apmu.o clk-frac.o
 obj-$(CONFIG_CPU_PXA168) += clk-pxa168.o
 obj-$(CONFIG_CPU_PXA910) += clk-pxa910.o
 obj-$(CONFIG_CPU_MMP2) += clk-mmp2.o
+obj-$(CONFIG_CPU_PXA988) += clk-pxa910.o
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support
@ 2013-07-09  6:42   ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel
  Cc: Neil Zhang, Chao Xie

bring up pxa988 with device tree support.

Signed-off-by: Neil Zhang <zhangwm@marvell.com>
Signed-off-by: Chao Xie <chao.xie@marvell.com>
---
 arch/arm/boot/dts/pxa988-dkb.dts          |   36 ++++++
 arch/arm/boot/dts/pxa988.dtsi             |  190 +++++++++++++++++++++++++++++
 arch/arm/mach-mmp/Kconfig                 |   18 +++
 arch/arm/mach-mmp/Makefile                |    1 +
 arch/arm/mach-mmp/common.c                |   11 ++-
 arch/arm/mach-mmp/common.h                |    2 +
 arch/arm/mach-mmp/headsmp.S               |  104 ++++++++++++++++
 arch/arm/mach-mmp/include/mach/addr-map.h |    6 +
 arch/arm/mach-mmp/mmp2-dt.c               |   41 ++++++
 arch/arm/mach-mmp/platsmp.c               |  167 +++++++++++++++++++++++++
 arch/arm/mach-mmp/reset.c                 |   66 ++++++++++
 arch/arm/mach-mmp/reset.h                 |   29 +++++
 drivers/clk/mmp/Makefile                  |    1 +
 13 files changed, 671 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/boot/dts/pxa988-dkb.dts
 create mode 100644 arch/arm/boot/dts/pxa988.dtsi
 create mode 100644 arch/arm/mach-mmp/headsmp.S
 create mode 100644 arch/arm/mach-mmp/platsmp.c
 create mode 100644 arch/arm/mach-mmp/reset.c
 create mode 100644 arch/arm/mach-mmp/reset.h

diff --git a/arch/arm/boot/dts/pxa988-dkb.dts b/arch/arm/boot/dts/pxa988-dkb.dts
new file mode 100644
index 0000000..891c78a
--- /dev/null
+++ b/arch/arm/boot/dts/pxa988-dkb.dts
@@ -0,0 +1,36 @@
+/*
+ *  Copyright (C) 2012 Marvell Technology Group Ltd.
+ *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/dts-v1/;
+/include/ "pxa988.dtsi"
+
+/ {
+	model = "Marvell PXA988 DKB Development Board";
+	compatible = "marvell,pxa988-dkb", "marvell,pxa988";
+
+	chosen {
+		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
+	};
+
+	memory {
+		reg = <0x00000000 0x10000000>;
+	};
+
+	soc {
+		apb@d4000000 {
+			uart1: uart@d4017000 {
+				status = "okay";
+			};
+
+			rtc: rtc@d4010000 {
+				status = "okay";
+			};
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/pxa988.dtsi b/arch/arm/boot/dts/pxa988.dtsi
new file mode 100644
index 0000000..f69bf77
--- /dev/null
+++ b/arch/arm/boot/dts/pxa988.dtsi
@@ -0,0 +1,190 @@
+/*
+ *  Copyright (C) 2013 Marvell Technology Group Ltd.
+ *  Author: Chao Xie <chao.xie@marvell.com>
+ *	    Neil Zhang <zhangwm@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+	interrupt-parent = <&gic>;
+
+	aliases {
+		serial0 = &uart1;
+		serial1 = &uart2;
+		serial2 = &uart3;
+		i2c0 = &twsi1;
+		i2c1 = &twsi2;
+	};
+
+	cpus {
+		cpu@0 {
+			compatible = "arm,cortex-a9";
+			next-level-cache = <&L2>;
+		};
+		cpu@1 {
+			compatible = "arm,cortex-a9";
+			next-level-cache = <&L2>;
+		};
+	};
+
+
+	soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		interrupt-parent = <&gic>;
+		ranges;
+
+		gic: interrupt-controller@d1dfe100 {
+			compatible = "arm,cortex-a9-gic";
+			#interrupt-cells = <3>;
+			#address-cells = <1>;
+			interrupt-controller;
+			reg = <0xd1dff000 0x1000>,
+			      <0xd1dfe100 0x0100>;
+		};
+
+		L2: l2-cache-controller@d1dfb000 {
+			compatible = "arm,pl310-cache";
+			reg = <0xd1dfb000 0x1000>;
+			arm,data-latency = <2 1 1>;
+			arm,tag-latency = <2 1 1>;
+			arm,pwr-dynamic-clk-gating;
+			arm,pwr-standby-mode;
+			cache-unified;
+			cache-level = <2>;
+		};
+
+		local-timer@d1dfe600 {
+			compatible = "arm,cortex-a9-twd-timer";
+			reg = <0xd1dfe600 0x20>;
+			interrupts = <1 13 0x304>;
+		};
+
+		axi@d4200000 {	/* AXI */
+			compatible = "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0xd4200000 0xd4200000 0x00200000>;
+
+			intc: wakeupgen@d4282000 {
+				compatible = "marvell,mmp-intc";
+				reg = <0xd4282000 0x1000>;
+				marvell,intc-wakeup = <0x114 0x3
+						    0x144 0x3>;
+			};
+
+		};
+
+		apb@d4000000 {	/* APB */
+			compatible = "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0xd4000000 0xd4000000 0x00200000>;
+
+			timer0: timer@d4014000 {
+				compatible = "marvell,mmp-timer";
+				reg = <0xd4014000 0x100>;
+				interrupts = <0 13 0x4>;
+			};
+
+			uart1: uart@d4017000 {
+				compatible = "marvell,mmp-uart";
+				reg = <0xd4017000 0x1000>;
+				interrupts = <0 27 0x4>;
+				status = "disabled";
+			};
+
+			uart2: uart@d4018000 {
+				compatible = "marvell,mmp-uart";
+				reg = <0xd4018000 0x1000>;
+				interrupts = <0 28 0x4>;
+				status = "disabled";
+			};
+
+			uart3: uart@d4036000 {
+				compatible = "marvell,mmp-uart";
+				reg = <0xd4036000 0x1000>;
+				interrupts = <0 59 0x4>;
+				status = "disabled";
+			};
+
+			gpio@d4019000 {
+				compatible = "marvell,mmp-gpio";
+				#address-cells = <1>;
+				#size-cells = <1>;
+				reg = <0xd4019000 0x1000>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				interrupts = <49>;
+				interrupt-names = "gpio_mux";
+				interrupt-controller;
+				#interrupt-cells = <1>;
+				ranges;
+
+				gcb0: gpio@d4019000 {
+					reg = <0xd4019000 0x4>;
+				};
+
+				gcb1: gpio@d4019004 {
+					reg = <0xd4019004 0x4>;
+				};
+
+				gcb2: gpio@d4019008 {
+					reg = <0xd4019008 0x4>;
+				};
+
+				gcb3: gpio@d4019100 {
+					reg = <0xd4019100 0x4>;
+				};
+			};
+
+			twsi1: i2c@d4011000 {
+				compatible = "marvell,mmp-twsi";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <0xd4011000 0x1000>;
+				interrupts = <0 7 0x4>;
+				marvell,i2c-fast-mode;
+				status = "disabled";
+			};
+
+			twsi2: i2c@d4037000 {
+				compatible = "marvell,mmp-twsi";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <0xd4037000 0x1000>;
+				interrupts = <0 54 0x4>;
+				status = "disabled";
+			};
+
+			rtc: rtc@d4010000 {
+				compatible = "marvell,mmp-rtc";
+				reg = <0xd4010000 0x1000>;
+				interrupts = <0 5 0x4>,<0 6 0x4>;
+				interrupt-names = "rtc 1Hz", "rtc alarm";
+				status = "disabled";
+			};
+			pmx: pinmux@d401e000 {
+				compatible = "pinconf-single";
+				reg = <0xd401e000 0x330>;
+				#address-cells = <1>;
+				#size-cells = <1>;
+				#gpio-range-cells = <3>;
+				ranges;
+
+				pinctrl-single,register-width = <32>;
+				pinctrl-single,function-mask = <7>;
+
+				range: gpio-range {
+					#pinctrl-single,gpio-range-cells = <3>;
+				};
+			};
+		};
+	};
+};
diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig
index ebdda83..ee2904e 100644
--- a/arch/arm/mach-mmp/Kconfig
+++ b/arch/arm/mach-mmp/Kconfig
@@ -100,6 +100,7 @@ config MACH_MMP2_DT
 	bool "Support MMP2 (ARMv7) platforms from device tree"
 	depends on !CPU_MOHAWK
 	select CPU_MMP2
+	select CPU_PXA988
 	select USE_OF
 	select PINCTRL
 	select PINCTRL_SINGLE
@@ -123,6 +124,23 @@ config CPU_PXA910
 	help
 	  Select code specific to PXA910
 
+config CPU_PXA988
+	bool
+	select CPU_V7
+	select ARM_GIC
+	select HAVE_SMP
+	select HAVE_ARM_SCU
+	select LOCAL_TIMERS
+	select HAVE_ARM_TWD
+	select COMMON_CLK
+	select CLKSRC_OF
+	select MIGHT_HAVE_CACHE_L2X0
+	help
+	  Say 'Y' here if you want to support the Marvell pxa988-base
+	  platforms.
+	  PXA988 is an SoC with dual-core Cotex-A9 and comunication
+	  processor, code name "Emei".
+
 config CPU_MMP2
 	bool
 	select COMMON_CLK
diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile
index 095c155..e5885ef 100644
--- a/arch/arm/mach-mmp/Makefile
+++ b/arch/arm/mach-mmp/Makefile
@@ -8,6 +8,7 @@ obj-y				+= common.o devices.o time.o irq.o
 obj-$(CONFIG_CPU_PXA168)	+= pxa168.o
 obj-$(CONFIG_CPU_PXA910)	+= pxa910.o
 obj-$(CONFIG_CPU_MMP2)		+= mmp2.o sram.o
+obj-$(CONFIG_CPU_PXA988)	+= platsmp.o headsmp.o reset.o
 
 ifeq ($(CONFIG_COMMON_CLK), )
 obj-y				+= clock.o
diff --git a/arch/arm/mach-mmp/common.c b/arch/arm/mach-mmp/common.c
index 9292b79..0c621bc 100644
--- a/arch/arm/mach-mmp/common.c
+++ b/arch/arm/mach-mmp/common.c
@@ -11,6 +11,10 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/of.h>
+#include <linux/io.h>
+#include <linux/ioport.h>
+#include <linux/of_address.h>
 
 #include <asm/page.h>
 #include <asm/mach/map.h>
@@ -36,7 +40,12 @@ static struct map_desc standard_io_desc[] __initdata = {
 		.virtual	= (unsigned long)AXI_VIRT_BASE,
 		.length		= AXI_PHYS_SIZE,
 		.type		= MT_DEVICE,
-	},
+	}, {
+		.pfn		= __phys_to_pfn(MMP_CORE_PERIPH_PHYS_BASE),
+		.virtual	= (unsigned long)MMP_CORE_PERIPH_VIRT_BASE,
+		.length		= MMP_CORE_PERIPH_PHYS_SIZE,
+		.type		= MT_DEVICE,
+	}
 };
 
 void __init mmp_map_io(void)
diff --git a/arch/arm/mach-mmp/common.h b/arch/arm/mach-mmp/common.h
index 0bdc50b..ea0225f 100644
--- a/arch/arm/mach-mmp/common.h
+++ b/arch/arm/mach-mmp/common.h
@@ -1,5 +1,7 @@
 #define ARRAY_AND_SIZE(x)	(x), ARRAY_SIZE(x)
 
+extern struct smp_operations mmp_smp_ops;
+
 extern void timer_init(int irq);
 
 extern void __init icu_init_irq(void);
diff --git a/arch/arm/mach-mmp/headsmp.S b/arch/arm/mach-mmp/headsmp.S
new file mode 100644
index 0000000..2b6177e
--- /dev/null
+++ b/arch/arm/mach-mmp/headsmp.S
@@ -0,0 +1,104 @@
+/*
+ * linux/arch/arm/mach-mmp/headsmp.S
+ *
+ * Copyright (C) 2012 Marvell, Inc.
+ *
+ * Author: Neil Zhang <zhangwm@marvell.com>
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+#include <linux/linkage.h>
+#include <linux/init.h>
+#include <asm/memory.h>
+#include <asm/cache.h>
+#include <asm/assembler.h>
+#include <mach/addr-map.h>
+
+	__CPUINIT
+
+/*
+ * Marvell specific entry point for secondary CPUs.
+ * The secondary kernel init calls v7_flush_dcache_all before it enables
+ * the L1; however, the L1 comes out of reset in an undefined state, so
+ * the clean + invalidate performed by v7_flush_dcache_all causes a bunch
+ * of cache lines with uninitialized data and uninitialized tags to get
+ * written out to memory, which does really unpleasant things to the main
+ * processor.  We fix this by performing an invalidate, rather than a
+ * clean + invalidate for secondary core, before jumping into the kernel.
+ *
+ * This funciton is cloned from arch/arm/mach-tegra/headsmp.S, and needs
+ * to be called for both secondary cores startup and primary core resume
+ * procedures.
+ */
+	.align L1_CACHE_SHIFT
+
+
+/*
+ * PXA specific entry point for secondary CPUs.  This provides
+ * a "holding pen" into which all secondary cores are held until we're
+ * ready for them to initialise.
+ */
+ENTRY(mmp_secondary_startup)
+	mrc	p15, 0, r0, c0, c0, 5
+	and	r0, r0, #15
+	adr	r4, 1f
+	ldmia	r4, {r5, r6}
+	sub	r4, r4, r5
+	add	r6, r6, r4
+pen:	ldr	r7, [r6]
+	cmp	r7, r0
+	bne	pen
+
+	/*
+	 * we've been released from the holding pen: secondary_stack
+	 * should now contain the SVC stack for this core
+	 */
+	bl	v7_invalidate_l1
+	b	secondary_startup
+ENDPROC(mmp_secondary_startup)
+
+	.align	2
+1:	.long	.
+	.long	pen_release
+
+
+/*
+ * Note: The following code is located into the .data section. This is to
+ *       allow sw_reset_flag and cpu_plugin_handler to be accessed with a
+ *       relative load while we can't rely on any MMU translation.
+ *       Reference from: arch/arm/kernel/sleep.S
+ */
+
+	.data
+	.align
+
+/*
+ * ROM code jumps to this function while waking up from CPU
+ * OFF or software reset state. Physical address of the function is
+ * stored at CA9_WARM_RESET_VECTOR while system is bring up.
+ */
+ENTRY(mmp_cpu_reset_entry)
+	adr	r1, mmp_entry_vectors
+	mrc	p15, 0, r0, c0, c0, 5
+	and	r0, r0, #15		@ fetch CPUID
+1:
+	ldr	r2, [r1, r0, lsl #2]    @ get the handler addr for this core
+	cmp	r2, #0
+	movne	pc, r2			@ jump to the handler
+	beq	1b
+ENDPROC(mmp_cpu_reset_entry)
+
+	/* Point to the address that save handlers for each core */
+	.global mmp_entry_vectors
+mmp_entry_vectors:
+	.rept   CONFIG_NR_CPUS
+        .long   0                               @ preserve stack phys ptr here
+	.endr
diff --git a/arch/arm/mach-mmp/include/mach/addr-map.h b/arch/arm/mach-mmp/include/mach/addr-map.h
index f88a44c..092005b 100644
--- a/arch/arm/mach-mmp/include/mach/addr-map.h
+++ b/arch/arm/mach-mmp/include/mach/addr-map.h
@@ -25,6 +25,10 @@
 #define AXI_VIRT_BASE		IOMEM(0xfe200000)
 #define AXI_PHYS_SIZE		0x00200000
 
+#define MMP_CORE_PERIPH_PHYS_BASE	0xd1dfe000
+#define MMP_CORE_PERIPH_VIRT_BASE	IOMEM(0xfe400000)
+#define MMP_CORE_PERIPH_PHYS_SIZE	0x00002000
+
 /* Static Memory Controller - Chip Select 0 and 1 */
 #define SMC_CS0_PHYS_BASE	0x80000000
 #define SMC_CS0_PHYS_SIZE	0x10000000
@@ -43,4 +47,6 @@
 #define CIU_VIRT_BASE		(AXI_VIRT_BASE + 0x82c00)
 #define CIU_REG(x)		(CIU_VIRT_BASE + (x))
 
+#define SCU_VIRT_BASE		(MMP_CORE_PERIPH_VIRT_BASE)
+
 #endif /* __ASM_MACH_ADDR_MAP_H */
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 0ce46f1..56df68c 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -11,15 +11,19 @@
 
 #include <linux/io.h>
 #include <linux/irq.h>
+#include <linux/irqchip.h>
 #include <linux/irqdomain.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
+#include <linux/clocksource.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/time.h>
+#include <asm/hardware/cache-l2x0.h>
 #include <mach/irqs.h>
 #include <mach/regs-apbc.h>
 
 #include "common.h"
+#include "reset.h"
 
 extern void __init mmp_dt_irq_init(void);
 
@@ -35,14 +39,41 @@ static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
 	{}
 };
 
+static const struct of_dev_auxdata pxa988_auxdata_lookup[] __initconst = {
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "pxa-gpio", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	{}
+};
+
 static void __init mmp2_dt_init(void)
 {
 	of_platform_populate(NULL, of_default_bus_match_table,
 			     mmp2_auxdata_lookup, NULL);
 }
 
+static void __init pxa988_dt_init_early(void)
+{
+	mmp_entry_vector_init();
+}
+
+static void __init pxa988_dt_init_machine(void)
+{
+	l2x0_of_init(0x30800000, 0xFE7FFFFF);
+
+	pxa910_clk_init();
+
+	of_platform_populate(NULL, of_default_bus_match_table,
+				pxa988_auxdata_lookup, NULL);
+}
+
 static const char *mmp2_dt_board_compat[] __initdata = {
 	"marvell,mmp2-brownstone",
+	"marvell,pxa988-dkb",
 	NULL,
 };
 
@@ -53,3 +84,13 @@ DT_MACHINE_START(MMP2_DT, "Marvell MMP2 (Device Tree Support)")
 	.init_machine	= mmp2_dt_init,
 	.dt_compat	= mmp2_dt_board_compat,
 MACHINE_END
+
+DT_MACHINE_START(PXA988_DT, "Marvell PXA988 (Device Tree Support)")
+	.smp		= smp_ops(mmp_smp_ops),
+	.map_io		= mmp_map_io,
+	.init_early	= pxa988_dt_init_early,
+	.init_irq	= irqchip_init,
+	.init_time	= clocksource_of_init,
+	.init_machine	= pxa988_dt_init_machine,
+	.dt_compat	= mmp2_dt_board_compat,
+MACHINE_END
diff --git a/arch/arm/mach-mmp/platsmp.c b/arch/arm/mach-mmp/platsmp.c
new file mode 100644
index 0000000..f341a67
--- /dev/null
+++ b/arch/arm/mach-mmp/platsmp.c
@@ -0,0 +1,167 @@
+/*
+ *  linux/arch/arm/mach-mmp/platsmp.c
+ *
+ *  Copyright (C) 2002 ARM Ltd.
+ *  All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/init.h>
+#include <linux/errno.h>
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/jiffies.h>
+#include <linux/smp.h>
+#include <linux/io.h>
+#include <linux/irq.h>
+
+#include <asm/cacheflush.h>
+#include <mach/hardware.h>
+#include <linux/irqchip/arm-gic.h>
+#include <asm/mach-types.h>
+#include <asm/localtimer.h>
+#include <asm/smp_scu.h>
+
+#include <mach/irqs.h>
+#include <mach/addr-map.h>
+
+#include "common.h"
+#include "reset.h"
+
+/*
+ * Write pen_release in a way that is guaranteed to be visible to all
+ * observers, irrespective of whether they're taking part in coherency
+ * or not.  This is necessary for the hotplug code to work reliably.
+ */
+static void __cpuinit write_pen_release(int val)
+{
+	pen_release = val;
+	smp_wmb();
+	__cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release));
+	outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1));
+}
+
+#ifdef CONFIG_HAVE_ARM_SCU
+static void __iomem *scu_get_base_addr(void)
+{
+	return SCU_VIRT_BASE;
+}
+#endif
+
+static inline unsigned int get_core_count(void)
+{
+	u32 ret = 1;
+#ifdef CONFIG_HAVE_ARM_SCU
+	ret = scu_get_core_count(scu_get_base_addr());
+#endif
+
+	return ret;
+}
+
+static DEFINE_SPINLOCK(boot_lock);
+
+static void __cpuinit mmp_secondary_init(unsigned int cpu)
+{
+	/*
+	 * let the primary processor know we're out of the
+	 * pen, then head off into the C entry point
+	 */
+	write_pen_release(-1);
+
+	/*
+	 * Synchronise with the boot thread.
+	 */
+	spin_lock(&boot_lock);
+	spin_unlock(&boot_lock);
+}
+
+static int __cpuinit mmp_boot_secondary(unsigned int cpu, struct task_struct *idle)
+{
+	unsigned long timeout;
+
+	/*
+	 * Avoid timer calibration on slave cpus. Use the value calibrated
+	 * on master cpu. Referenced from tegra3
+	 */
+	preset_lpj = loops_per_jiffy;
+
+	/*
+	 * set synchronisation state between this boot processor
+	 * and the secondary one
+	 */
+
+	spin_lock(&boot_lock);
+
+	/*
+	 * The secondary processor is waiting to be released from
+	 * the holding pen - release it, then wait for it to flag
+	 * that it has been released by resetting pen_release.
+	 *
+	 * Note that "pen_release" is the hardware CPU ID, whereas
+	 * "cpu" is Linux's internal ID.
+	 */
+	write_pen_release(cpu);
+
+	/* reset the cpu, let it branch to the kernel entry */
+	mmp_cpu_power_up(cpu);
+
+	timeout = jiffies + (1 * HZ);
+	while (time_before(jiffies, timeout)) {
+		smp_rmb();
+		if (pen_release == -1)
+			break;
+
+		udelay(10);
+	}
+
+	/*
+	 * now the secondary core is starting up let it run its
+	 * calibrations, then wait for it to finish
+	 */
+	spin_unlock(&boot_lock);
+
+	return pen_release != -1 ? -ENOSYS : 0;
+}
+
+/*
+ * Initialise the CPU possible map early - this describes the CPUs
+ * which may be present or become present in the system.
+ */
+static void __init mmp_smp_init_cpus(void)
+{
+	unsigned int i, ncores = get_core_count();
+
+	if (ncores > nr_cpu_ids) {
+		pr_warn("SMP: %u cores greater than maximum (%u), clipping\n",
+			ncores, nr_cpu_ids);
+		ncores = nr_cpu_ids;
+	}
+
+	for (i = 0; i < ncores; i++)
+		set_cpu_possible(i, true);
+}
+
+static void __init mmp_smp_prepare_cpus(unsigned int max_cpus)
+{
+	int i;
+
+	/*
+	 * Initialise the present map, which describes the set of CPUs
+	 * actually populated at the present time.
+	 */
+	for (i = 0; i < max_cpus; i++)
+		set_cpu_present(i, true);
+
+#ifdef CONFIG_HAVE_ARM_SCU
+	scu_enable(scu_get_base_addr());
+#endif
+}
+
+struct smp_operations mmp_smp_ops __initdata = {
+	.smp_init_cpus		= mmp_smp_init_cpus,
+	.smp_prepare_cpus	= mmp_smp_prepare_cpus,
+	.smp_secondary_init	= mmp_secondary_init,
+	.smp_boot_secondary	= mmp_boot_secondary,
+};
diff --git a/arch/arm/mach-mmp/reset.c b/arch/arm/mach-mmp/reset.c
new file mode 100644
index 0000000..b90ec54
--- /dev/null
+++ b/arch/arm/mach-mmp/reset.c
@@ -0,0 +1,66 @@
+/*
+ * linux/arch/arm/mach-mmp/reset.c
+ *
+ * Author:	Neil Zhang <zhangwm@marvell.com>
+ * Copyright:	(C) 2012 Marvell International Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#include <linux/kernel.h>
+#include <linux/smp.h>
+
+#include <asm/io.h>
+#include <asm/cacheflush.h>
+#include <asm/mach/map.h>
+
+#include <mach/addr-map.h>
+
+#include "reset.h"
+
+#define PMU_CC2_AP			APMU_REG(0x0100)
+#define CIU_CA9_WARM_RESET_VECTOR	CIU_REG(0x00d8)
+
+/*
+ * This function is called from boot_secondary to bootup the secondary cpu.
+ */
+void mmp_cpu_power_up(u32 cpu)
+{
+	u32 tmp;
+
+	BUG_ON(cpu == 0);
+
+	tmp = readl(PMU_CC2_AP);
+	if (tmp & CPU_CORE_RST(cpu)) {
+		/* Release secondary core from reset */
+		tmp &= ~(CPU_CORE_RST(cpu)
+			| CPU_DBG_RST(cpu) | CPU_WDOG_RST(cpu));
+		writel(tmp, PMU_CC2_AP);
+	}
+}
+
+void mmp_set_entry_vector(u32 cpu, u32 addr)
+{
+	BUG_ON(cpu >= nr_cpu_ids);
+
+	mmp_entry_vectors[cpu] = addr;
+	smp_wmb();
+	__cpuc_flush_dcache_area((void *)&mmp_entry_vectors[cpu],
+				sizeof(mmp_entry_vectors[cpu]));
+	outer_clean_range(__pa(&mmp_entry_vectors[cpu]),
+				__pa(&mmp_entry_vectors[cpu + 1]));
+}
+
+void __init mmp_entry_vector_init(void)
+{
+	int cpu;
+
+	/* We will reset from DDR directly by default */
+	writel(__pa(mmp_cpu_reset_entry), CIU_CA9_WARM_RESET_VECTOR);
+
+	for (cpu = 1; cpu < nr_cpu_ids; cpu++)
+		mmp_set_entry_vector(cpu, __pa(mmp_secondary_startup));
+}
diff --git a/arch/arm/mach-mmp/reset.h b/arch/arm/mach-mmp/reset.h
new file mode 100644
index 0000000..78d5486
--- /dev/null
+++ b/arch/arm/mach-mmp/reset.h
@@ -0,0 +1,29 @@
+/*
+ * linux/arch/arm/mach-mmp/include/mach/reset.h
+ *
+ * Author:	Neil Zhang <zhangwm@marvell.com>
+ * Copyright:	(C) 2012 Marvell International Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef __RESET_PXA988_H__
+#define __RESET_PXA988_H__
+
+#define CPU_CORE_RST(n)	(1 << ((n) * 4 + 16))
+#define CPU_DBG_RST(n)	(1 << ((n) * 4 + 18))
+#define CPU_WDOG_RST(n)	(1 << ((n) * 4 + 19))
+
+extern u32 mmp_entry_vectors[CONFIG_NR_CPUS];
+
+void mmp_secondary_startup(void);
+void mmp_cpu_reset_entry(void);
+
+void mmp_cpu_power_up(u32 cpu);
+void mmp_set_entry_vector(u32 cpu, u32 addr);
+void __init mmp_entry_vector_init(void);
+
+#endif /* __RESET_PXA988_H__ */
diff --git a/drivers/clk/mmp/Makefile b/drivers/clk/mmp/Makefile
index 392d780..59a3f9f7 100644
--- a/drivers/clk/mmp/Makefile
+++ b/drivers/clk/mmp/Makefile
@@ -7,3 +7,4 @@ obj-y += clk-apbc.o clk-apmu.o clk-frac.o
 obj-$(CONFIG_CPU_PXA168) += clk-pxa168.o
 obj-$(CONFIG_CPU_PXA910) += clk-pxa910.o
 obj-$(CONFIG_CPU_MMP2) += clk-mmp2.o
+obj-$(CONFIG_CPU_PXA988) += clk-pxa910.o
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support
@ 2013-07-09  6:42   ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-09  6:42 UTC (permalink / raw)
  To: linux-arm-kernel

bring up pxa988 with device tree support.

Signed-off-by: Neil Zhang <zhangwm@marvell.com>
Signed-off-by: Chao Xie <chao.xie@marvell.com>
---
 arch/arm/boot/dts/pxa988-dkb.dts          |   36 ++++++
 arch/arm/boot/dts/pxa988.dtsi             |  190 +++++++++++++++++++++++++++++
 arch/arm/mach-mmp/Kconfig                 |   18 +++
 arch/arm/mach-mmp/Makefile                |    1 +
 arch/arm/mach-mmp/common.c                |   11 ++-
 arch/arm/mach-mmp/common.h                |    2 +
 arch/arm/mach-mmp/headsmp.S               |  104 ++++++++++++++++
 arch/arm/mach-mmp/include/mach/addr-map.h |    6 +
 arch/arm/mach-mmp/mmp2-dt.c               |   41 ++++++
 arch/arm/mach-mmp/platsmp.c               |  167 +++++++++++++++++++++++++
 arch/arm/mach-mmp/reset.c                 |   66 ++++++++++
 arch/arm/mach-mmp/reset.h                 |   29 +++++
 drivers/clk/mmp/Makefile                  |    1 +
 13 files changed, 671 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/boot/dts/pxa988-dkb.dts
 create mode 100644 arch/arm/boot/dts/pxa988.dtsi
 create mode 100644 arch/arm/mach-mmp/headsmp.S
 create mode 100644 arch/arm/mach-mmp/platsmp.c
 create mode 100644 arch/arm/mach-mmp/reset.c
 create mode 100644 arch/arm/mach-mmp/reset.h

diff --git a/arch/arm/boot/dts/pxa988-dkb.dts b/arch/arm/boot/dts/pxa988-dkb.dts
new file mode 100644
index 0000000..891c78a
--- /dev/null
+++ b/arch/arm/boot/dts/pxa988-dkb.dts
@@ -0,0 +1,36 @@
+/*
+ *  Copyright (C) 2012 Marvell Technology Group Ltd.
+ *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/dts-v1/;
+/include/ "pxa988.dtsi"
+
+/ {
+	model = "Marvell PXA988 DKB Development Board";
+	compatible = "marvell,pxa988-dkb", "marvell,pxa988";
+
+	chosen {
+		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
+	};
+
+	memory {
+		reg = <0x00000000 0x10000000>;
+	};
+
+	soc {
+		apb at d4000000 {
+			uart1: uart at d4017000 {
+				status = "okay";
+			};
+
+			rtc: rtc at d4010000 {
+				status = "okay";
+			};
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/pxa988.dtsi b/arch/arm/boot/dts/pxa988.dtsi
new file mode 100644
index 0000000..f69bf77
--- /dev/null
+++ b/arch/arm/boot/dts/pxa988.dtsi
@@ -0,0 +1,190 @@
+/*
+ *  Copyright (C) 2013 Marvell Technology Group Ltd.
+ *  Author: Chao Xie <chao.xie@marvell.com>
+ *	    Neil Zhang <zhangwm@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+	interrupt-parent = <&gic>;
+
+	aliases {
+		serial0 = &uart1;
+		serial1 = &uart2;
+		serial2 = &uart3;
+		i2c0 = &twsi1;
+		i2c1 = &twsi2;
+	};
+
+	cpus {
+		cpu at 0 {
+			compatible = "arm,cortex-a9";
+			next-level-cache = <&L2>;
+		};
+		cpu at 1 {
+			compatible = "arm,cortex-a9";
+			next-level-cache = <&L2>;
+		};
+	};
+
+
+	soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		interrupt-parent = <&gic>;
+		ranges;
+
+		gic: interrupt-controller at d1dfe100 {
+			compatible = "arm,cortex-a9-gic";
+			#interrupt-cells = <3>;
+			#address-cells = <1>;
+			interrupt-controller;
+			reg = <0xd1dff000 0x1000>,
+			      <0xd1dfe100 0x0100>;
+		};
+
+		L2: l2-cache-controller at d1dfb000 {
+			compatible = "arm,pl310-cache";
+			reg = <0xd1dfb000 0x1000>;
+			arm,data-latency = <2 1 1>;
+			arm,tag-latency = <2 1 1>;
+			arm,pwr-dynamic-clk-gating;
+			arm,pwr-standby-mode;
+			cache-unified;
+			cache-level = <2>;
+		};
+
+		local-timer at d1dfe600 {
+			compatible = "arm,cortex-a9-twd-timer";
+			reg = <0xd1dfe600 0x20>;
+			interrupts = <1 13 0x304>;
+		};
+
+		axi at d4200000 {	/* AXI */
+			compatible = "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0xd4200000 0xd4200000 0x00200000>;
+
+			intc: wakeupgen at d4282000 {
+				compatible = "marvell,mmp-intc";
+				reg = <0xd4282000 0x1000>;
+				marvell,intc-wakeup = <0x114 0x3
+						    0x144 0x3>;
+			};
+
+		};
+
+		apb at d4000000 {	/* APB */
+			compatible = "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0xd4000000 0xd4000000 0x00200000>;
+
+			timer0: timer at d4014000 {
+				compatible = "marvell,mmp-timer";
+				reg = <0xd4014000 0x100>;
+				interrupts = <0 13 0x4>;
+			};
+
+			uart1: uart at d4017000 {
+				compatible = "marvell,mmp-uart";
+				reg = <0xd4017000 0x1000>;
+				interrupts = <0 27 0x4>;
+				status = "disabled";
+			};
+
+			uart2: uart at d4018000 {
+				compatible = "marvell,mmp-uart";
+				reg = <0xd4018000 0x1000>;
+				interrupts = <0 28 0x4>;
+				status = "disabled";
+			};
+
+			uart3: uart at d4036000 {
+				compatible = "marvell,mmp-uart";
+				reg = <0xd4036000 0x1000>;
+				interrupts = <0 59 0x4>;
+				status = "disabled";
+			};
+
+			gpio at d4019000 {
+				compatible = "marvell,mmp-gpio";
+				#address-cells = <1>;
+				#size-cells = <1>;
+				reg = <0xd4019000 0x1000>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				interrupts = <49>;
+				interrupt-names = "gpio_mux";
+				interrupt-controller;
+				#interrupt-cells = <1>;
+				ranges;
+
+				gcb0: gpio at d4019000 {
+					reg = <0xd4019000 0x4>;
+				};
+
+				gcb1: gpio at d4019004 {
+					reg = <0xd4019004 0x4>;
+				};
+
+				gcb2: gpio at d4019008 {
+					reg = <0xd4019008 0x4>;
+				};
+
+				gcb3: gpio at d4019100 {
+					reg = <0xd4019100 0x4>;
+				};
+			};
+
+			twsi1: i2c at d4011000 {
+				compatible = "marvell,mmp-twsi";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <0xd4011000 0x1000>;
+				interrupts = <0 7 0x4>;
+				marvell,i2c-fast-mode;
+				status = "disabled";
+			};
+
+			twsi2: i2c at d4037000 {
+				compatible = "marvell,mmp-twsi";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <0xd4037000 0x1000>;
+				interrupts = <0 54 0x4>;
+				status = "disabled";
+			};
+
+			rtc: rtc at d4010000 {
+				compatible = "marvell,mmp-rtc";
+				reg = <0xd4010000 0x1000>;
+				interrupts = <0 5 0x4>,<0 6 0x4>;
+				interrupt-names = "rtc 1Hz", "rtc alarm";
+				status = "disabled";
+			};
+			pmx: pinmux at d401e000 {
+				compatible = "pinconf-single";
+				reg = <0xd401e000 0x330>;
+				#address-cells = <1>;
+				#size-cells = <1>;
+				#gpio-range-cells = <3>;
+				ranges;
+
+				pinctrl-single,register-width = <32>;
+				pinctrl-single,function-mask = <7>;
+
+				range: gpio-range {
+					#pinctrl-single,gpio-range-cells = <3>;
+				};
+			};
+		};
+	};
+};
diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig
index ebdda83..ee2904e 100644
--- a/arch/arm/mach-mmp/Kconfig
+++ b/arch/arm/mach-mmp/Kconfig
@@ -100,6 +100,7 @@ config MACH_MMP2_DT
 	bool "Support MMP2 (ARMv7) platforms from device tree"
 	depends on !CPU_MOHAWK
 	select CPU_MMP2
+	select CPU_PXA988
 	select USE_OF
 	select PINCTRL
 	select PINCTRL_SINGLE
@@ -123,6 +124,23 @@ config CPU_PXA910
 	help
 	  Select code specific to PXA910
 
+config CPU_PXA988
+	bool
+	select CPU_V7
+	select ARM_GIC
+	select HAVE_SMP
+	select HAVE_ARM_SCU
+	select LOCAL_TIMERS
+	select HAVE_ARM_TWD
+	select COMMON_CLK
+	select CLKSRC_OF
+	select MIGHT_HAVE_CACHE_L2X0
+	help
+	  Say 'Y' here if you want to support the Marvell pxa988-base
+	  platforms.
+	  PXA988 is an SoC with dual-core Cotex-A9 and comunication
+	  processor, code name "Emei".
+
 config CPU_MMP2
 	bool
 	select COMMON_CLK
diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile
index 095c155..e5885ef 100644
--- a/arch/arm/mach-mmp/Makefile
+++ b/arch/arm/mach-mmp/Makefile
@@ -8,6 +8,7 @@ obj-y				+= common.o devices.o time.o irq.o
 obj-$(CONFIG_CPU_PXA168)	+= pxa168.o
 obj-$(CONFIG_CPU_PXA910)	+= pxa910.o
 obj-$(CONFIG_CPU_MMP2)		+= mmp2.o sram.o
+obj-$(CONFIG_CPU_PXA988)	+= platsmp.o headsmp.o reset.o
 
 ifeq ($(CONFIG_COMMON_CLK), )
 obj-y				+= clock.o
diff --git a/arch/arm/mach-mmp/common.c b/arch/arm/mach-mmp/common.c
index 9292b79..0c621bc 100644
--- a/arch/arm/mach-mmp/common.c
+++ b/arch/arm/mach-mmp/common.c
@@ -11,6 +11,10 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/of.h>
+#include <linux/io.h>
+#include <linux/ioport.h>
+#include <linux/of_address.h>
 
 #include <asm/page.h>
 #include <asm/mach/map.h>
@@ -36,7 +40,12 @@ static struct map_desc standard_io_desc[] __initdata = {
 		.virtual	= (unsigned long)AXI_VIRT_BASE,
 		.length		= AXI_PHYS_SIZE,
 		.type		= MT_DEVICE,
-	},
+	}, {
+		.pfn		= __phys_to_pfn(MMP_CORE_PERIPH_PHYS_BASE),
+		.virtual	= (unsigned long)MMP_CORE_PERIPH_VIRT_BASE,
+		.length		= MMP_CORE_PERIPH_PHYS_SIZE,
+		.type		= MT_DEVICE,
+	}
 };
 
 void __init mmp_map_io(void)
diff --git a/arch/arm/mach-mmp/common.h b/arch/arm/mach-mmp/common.h
index 0bdc50b..ea0225f 100644
--- a/arch/arm/mach-mmp/common.h
+++ b/arch/arm/mach-mmp/common.h
@@ -1,5 +1,7 @@
 #define ARRAY_AND_SIZE(x)	(x), ARRAY_SIZE(x)
 
+extern struct smp_operations mmp_smp_ops;
+
 extern void timer_init(int irq);
 
 extern void __init icu_init_irq(void);
diff --git a/arch/arm/mach-mmp/headsmp.S b/arch/arm/mach-mmp/headsmp.S
new file mode 100644
index 0000000..2b6177e
--- /dev/null
+++ b/arch/arm/mach-mmp/headsmp.S
@@ -0,0 +1,104 @@
+/*
+ * linux/arch/arm/mach-mmp/headsmp.S
+ *
+ * Copyright (C) 2012 Marvell, Inc.
+ *
+ * Author: Neil Zhang <zhangwm@marvell.com>
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+#include <linux/linkage.h>
+#include <linux/init.h>
+#include <asm/memory.h>
+#include <asm/cache.h>
+#include <asm/assembler.h>
+#include <mach/addr-map.h>
+
+	__CPUINIT
+
+/*
+ * Marvell specific entry point for secondary CPUs.
+ * The secondary kernel init calls v7_flush_dcache_all before it enables
+ * the L1; however, the L1 comes out of reset in an undefined state, so
+ * the clean + invalidate performed by v7_flush_dcache_all causes a bunch
+ * of cache lines with uninitialized data and uninitialized tags to get
+ * written out to memory, which does really unpleasant things to the main
+ * processor.  We fix this by performing an invalidate, rather than a
+ * clean + invalidate for secondary core, before jumping into the kernel.
+ *
+ * This funciton is cloned from arch/arm/mach-tegra/headsmp.S, and needs
+ * to be called for both secondary cores startup and primary core resume
+ * procedures.
+ */
+	.align L1_CACHE_SHIFT
+
+
+/*
+ * PXA specific entry point for secondary CPUs.  This provides
+ * a "holding pen" into which all secondary cores are held until we're
+ * ready for them to initialise.
+ */
+ENTRY(mmp_secondary_startup)
+	mrc	p15, 0, r0, c0, c0, 5
+	and	r0, r0, #15
+	adr	r4, 1f
+	ldmia	r4, {r5, r6}
+	sub	r4, r4, r5
+	add	r6, r6, r4
+pen:	ldr	r7, [r6]
+	cmp	r7, r0
+	bne	pen
+
+	/*
+	 * we've been released from the holding pen: secondary_stack
+	 * should now contain the SVC stack for this core
+	 */
+	bl	v7_invalidate_l1
+	b	secondary_startup
+ENDPROC(mmp_secondary_startup)
+
+	.align	2
+1:	.long	.
+	.long	pen_release
+
+
+/*
+ * Note: The following code is located into the .data section. This is to
+ *       allow sw_reset_flag and cpu_plugin_handler to be accessed with a
+ *       relative load while we can't rely on any MMU translation.
+ *       Reference from: arch/arm/kernel/sleep.S
+ */
+
+	.data
+	.align
+
+/*
+ * ROM code jumps to this function while waking up from CPU
+ * OFF or software reset state. Physical address of the function is
+ * stored at CA9_WARM_RESET_VECTOR while system is bring up.
+ */
+ENTRY(mmp_cpu_reset_entry)
+	adr	r1, mmp_entry_vectors
+	mrc	p15, 0, r0, c0, c0, 5
+	and	r0, r0, #15		@ fetch CPUID
+1:
+	ldr	r2, [r1, r0, lsl #2]    @ get the handler addr for this core
+	cmp	r2, #0
+	movne	pc, r2			@ jump to the handler
+	beq	1b
+ENDPROC(mmp_cpu_reset_entry)
+
+	/* Point to the address that save handlers for each core */
+	.global mmp_entry_vectors
+mmp_entry_vectors:
+	.rept   CONFIG_NR_CPUS
+        .long   0                               @ preserve stack phys ptr here
+	.endr
diff --git a/arch/arm/mach-mmp/include/mach/addr-map.h b/arch/arm/mach-mmp/include/mach/addr-map.h
index f88a44c..092005b 100644
--- a/arch/arm/mach-mmp/include/mach/addr-map.h
+++ b/arch/arm/mach-mmp/include/mach/addr-map.h
@@ -25,6 +25,10 @@
 #define AXI_VIRT_BASE		IOMEM(0xfe200000)
 #define AXI_PHYS_SIZE		0x00200000
 
+#define MMP_CORE_PERIPH_PHYS_BASE	0xd1dfe000
+#define MMP_CORE_PERIPH_VIRT_BASE	IOMEM(0xfe400000)
+#define MMP_CORE_PERIPH_PHYS_SIZE	0x00002000
+
 /* Static Memory Controller - Chip Select 0 and 1 */
 #define SMC_CS0_PHYS_BASE	0x80000000
 #define SMC_CS0_PHYS_SIZE	0x10000000
@@ -43,4 +47,6 @@
 #define CIU_VIRT_BASE		(AXI_VIRT_BASE + 0x82c00)
 #define CIU_REG(x)		(CIU_VIRT_BASE + (x))
 
+#define SCU_VIRT_BASE		(MMP_CORE_PERIPH_VIRT_BASE)
+
 #endif /* __ASM_MACH_ADDR_MAP_H */
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 0ce46f1..56df68c 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -11,15 +11,19 @@
 
 #include <linux/io.h>
 #include <linux/irq.h>
+#include <linux/irqchip.h>
 #include <linux/irqdomain.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
+#include <linux/clocksource.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/time.h>
+#include <asm/hardware/cache-l2x0.h>
 #include <mach/irqs.h>
 #include <mach/regs-apbc.h>
 
 #include "common.h"
+#include "reset.h"
 
 extern void __init mmp_dt_irq_init(void);
 
@@ -35,14 +39,41 @@ static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
 	{}
 };
 
+static const struct of_dev_auxdata pxa988_auxdata_lookup[] __initconst = {
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "pxa-gpio", NULL),
+	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
+	{}
+};
+
 static void __init mmp2_dt_init(void)
 {
 	of_platform_populate(NULL, of_default_bus_match_table,
 			     mmp2_auxdata_lookup, NULL);
 }
 
+static void __init pxa988_dt_init_early(void)
+{
+	mmp_entry_vector_init();
+}
+
+static void __init pxa988_dt_init_machine(void)
+{
+	l2x0_of_init(0x30800000, 0xFE7FFFFF);
+
+	pxa910_clk_init();
+
+	of_platform_populate(NULL, of_default_bus_match_table,
+				pxa988_auxdata_lookup, NULL);
+}
+
 static const char *mmp2_dt_board_compat[] __initdata = {
 	"marvell,mmp2-brownstone",
+	"marvell,pxa988-dkb",
 	NULL,
 };
 
@@ -53,3 +84,13 @@ DT_MACHINE_START(MMP2_DT, "Marvell MMP2 (Device Tree Support)")
 	.init_machine	= mmp2_dt_init,
 	.dt_compat	= mmp2_dt_board_compat,
 MACHINE_END
+
+DT_MACHINE_START(PXA988_DT, "Marvell PXA988 (Device Tree Support)")
+	.smp		= smp_ops(mmp_smp_ops),
+	.map_io		= mmp_map_io,
+	.init_early	= pxa988_dt_init_early,
+	.init_irq	= irqchip_init,
+	.init_time	= clocksource_of_init,
+	.init_machine	= pxa988_dt_init_machine,
+	.dt_compat	= mmp2_dt_board_compat,
+MACHINE_END
diff --git a/arch/arm/mach-mmp/platsmp.c b/arch/arm/mach-mmp/platsmp.c
new file mode 100644
index 0000000..f341a67
--- /dev/null
+++ b/arch/arm/mach-mmp/platsmp.c
@@ -0,0 +1,167 @@
+/*
+ *  linux/arch/arm/mach-mmp/platsmp.c
+ *
+ *  Copyright (C) 2002 ARM Ltd.
+ *  All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/init.h>
+#include <linux/errno.h>
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/jiffies.h>
+#include <linux/smp.h>
+#include <linux/io.h>
+#include <linux/irq.h>
+
+#include <asm/cacheflush.h>
+#include <mach/hardware.h>
+#include <linux/irqchip/arm-gic.h>
+#include <asm/mach-types.h>
+#include <asm/localtimer.h>
+#include <asm/smp_scu.h>
+
+#include <mach/irqs.h>
+#include <mach/addr-map.h>
+
+#include "common.h"
+#include "reset.h"
+
+/*
+ * Write pen_release in a way that is guaranteed to be visible to all
+ * observers, irrespective of whether they're taking part in coherency
+ * or not.  This is necessary for the hotplug code to work reliably.
+ */
+static void __cpuinit write_pen_release(int val)
+{
+	pen_release = val;
+	smp_wmb();
+	__cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release));
+	outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1));
+}
+
+#ifdef CONFIG_HAVE_ARM_SCU
+static void __iomem *scu_get_base_addr(void)
+{
+	return SCU_VIRT_BASE;
+}
+#endif
+
+static inline unsigned int get_core_count(void)
+{
+	u32 ret = 1;
+#ifdef CONFIG_HAVE_ARM_SCU
+	ret = scu_get_core_count(scu_get_base_addr());
+#endif
+
+	return ret;
+}
+
+static DEFINE_SPINLOCK(boot_lock);
+
+static void __cpuinit mmp_secondary_init(unsigned int cpu)
+{
+	/*
+	 * let the primary processor know we're out of the
+	 * pen, then head off into the C entry point
+	 */
+	write_pen_release(-1);
+
+	/*
+	 * Synchronise with the boot thread.
+	 */
+	spin_lock(&boot_lock);
+	spin_unlock(&boot_lock);
+}
+
+static int __cpuinit mmp_boot_secondary(unsigned int cpu, struct task_struct *idle)
+{
+	unsigned long timeout;
+
+	/*
+	 * Avoid timer calibration on slave cpus. Use the value calibrated
+	 * on master cpu. Referenced from tegra3
+	 */
+	preset_lpj = loops_per_jiffy;
+
+	/*
+	 * set synchronisation state between this boot processor
+	 * and the secondary one
+	 */
+
+	spin_lock(&boot_lock);
+
+	/*
+	 * The secondary processor is waiting to be released from
+	 * the holding pen - release it, then wait for it to flag
+	 * that it has been released by resetting pen_release.
+	 *
+	 * Note that "pen_release" is the hardware CPU ID, whereas
+	 * "cpu" is Linux's internal ID.
+	 */
+	write_pen_release(cpu);
+
+	/* reset the cpu, let it branch to the kernel entry */
+	mmp_cpu_power_up(cpu);
+
+	timeout = jiffies + (1 * HZ);
+	while (time_before(jiffies, timeout)) {
+		smp_rmb();
+		if (pen_release == -1)
+			break;
+
+		udelay(10);
+	}
+
+	/*
+	 * now the secondary core is starting up let it run its
+	 * calibrations, then wait for it to finish
+	 */
+	spin_unlock(&boot_lock);
+
+	return pen_release != -1 ? -ENOSYS : 0;
+}
+
+/*
+ * Initialise the CPU possible map early - this describes the CPUs
+ * which may be present or become present in the system.
+ */
+static void __init mmp_smp_init_cpus(void)
+{
+	unsigned int i, ncores = get_core_count();
+
+	if (ncores > nr_cpu_ids) {
+		pr_warn("SMP: %u cores greater than maximum (%u), clipping\n",
+			ncores, nr_cpu_ids);
+		ncores = nr_cpu_ids;
+	}
+
+	for (i = 0; i < ncores; i++)
+		set_cpu_possible(i, true);
+}
+
+static void __init mmp_smp_prepare_cpus(unsigned int max_cpus)
+{
+	int i;
+
+	/*
+	 * Initialise the present map, which describes the set of CPUs
+	 * actually populated at the present time.
+	 */
+	for (i = 0; i < max_cpus; i++)
+		set_cpu_present(i, true);
+
+#ifdef CONFIG_HAVE_ARM_SCU
+	scu_enable(scu_get_base_addr());
+#endif
+}
+
+struct smp_operations mmp_smp_ops __initdata = {
+	.smp_init_cpus		= mmp_smp_init_cpus,
+	.smp_prepare_cpus	= mmp_smp_prepare_cpus,
+	.smp_secondary_init	= mmp_secondary_init,
+	.smp_boot_secondary	= mmp_boot_secondary,
+};
diff --git a/arch/arm/mach-mmp/reset.c b/arch/arm/mach-mmp/reset.c
new file mode 100644
index 0000000..b90ec54
--- /dev/null
+++ b/arch/arm/mach-mmp/reset.c
@@ -0,0 +1,66 @@
+/*
+ * linux/arch/arm/mach-mmp/reset.c
+ *
+ * Author:	Neil Zhang <zhangwm@marvell.com>
+ * Copyright:	(C) 2012 Marvell International Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#include <linux/kernel.h>
+#include <linux/smp.h>
+
+#include <asm/io.h>
+#include <asm/cacheflush.h>
+#include <asm/mach/map.h>
+
+#include <mach/addr-map.h>
+
+#include "reset.h"
+
+#define PMU_CC2_AP			APMU_REG(0x0100)
+#define CIU_CA9_WARM_RESET_VECTOR	CIU_REG(0x00d8)
+
+/*
+ * This function is called from boot_secondary to bootup the secondary cpu.
+ */
+void mmp_cpu_power_up(u32 cpu)
+{
+	u32 tmp;
+
+	BUG_ON(cpu == 0);
+
+	tmp = readl(PMU_CC2_AP);
+	if (tmp & CPU_CORE_RST(cpu)) {
+		/* Release secondary core from reset */
+		tmp &= ~(CPU_CORE_RST(cpu)
+			| CPU_DBG_RST(cpu) | CPU_WDOG_RST(cpu));
+		writel(tmp, PMU_CC2_AP);
+	}
+}
+
+void mmp_set_entry_vector(u32 cpu, u32 addr)
+{
+	BUG_ON(cpu >= nr_cpu_ids);
+
+	mmp_entry_vectors[cpu] = addr;
+	smp_wmb();
+	__cpuc_flush_dcache_area((void *)&mmp_entry_vectors[cpu],
+				sizeof(mmp_entry_vectors[cpu]));
+	outer_clean_range(__pa(&mmp_entry_vectors[cpu]),
+				__pa(&mmp_entry_vectors[cpu + 1]));
+}
+
+void __init mmp_entry_vector_init(void)
+{
+	int cpu;
+
+	/* We will reset from DDR directly by default */
+	writel(__pa(mmp_cpu_reset_entry), CIU_CA9_WARM_RESET_VECTOR);
+
+	for (cpu = 1; cpu < nr_cpu_ids; cpu++)
+		mmp_set_entry_vector(cpu, __pa(mmp_secondary_startup));
+}
diff --git a/arch/arm/mach-mmp/reset.h b/arch/arm/mach-mmp/reset.h
new file mode 100644
index 0000000..78d5486
--- /dev/null
+++ b/arch/arm/mach-mmp/reset.h
@@ -0,0 +1,29 @@
+/*
+ * linux/arch/arm/mach-mmp/include/mach/reset.h
+ *
+ * Author:	Neil Zhang <zhangwm@marvell.com>
+ * Copyright:	(C) 2012 Marvell International Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef __RESET_PXA988_H__
+#define __RESET_PXA988_H__
+
+#define CPU_CORE_RST(n)	(1 << ((n) * 4 + 16))
+#define CPU_DBG_RST(n)	(1 << ((n) * 4 + 18))
+#define CPU_WDOG_RST(n)	(1 << ((n) * 4 + 19))
+
+extern u32 mmp_entry_vectors[CONFIG_NR_CPUS];
+
+void mmp_secondary_startup(void);
+void mmp_cpu_reset_entry(void);
+
+void mmp_cpu_power_up(u32 cpu);
+void mmp_set_entry_vector(u32 cpu, u32 addr);
+void __init mmp_entry_vector_init(void);
+
+#endif /* __RESET_PXA988_H__ */
diff --git a/drivers/clk/mmp/Makefile b/drivers/clk/mmp/Makefile
index 392d780..59a3f9f7 100644
--- a/drivers/clk/mmp/Makefile
+++ b/drivers/clk/mmp/Makefile
@@ -7,3 +7,4 @@ obj-y += clk-apbc.o clk-apmu.o clk-frac.o
 obj-$(CONFIG_CPU_PXA168) += clk-pxa168.o
 obj-$(CONFIG_CPU_PXA910) += clk-pxa910.o
 obj-$(CONFIG_CPU_MMP2) += clk-mmp2.o
+obj-$(CONFIG_CPU_PXA988) += clk-pxa910.o
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-09 12:49     ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-09 12:49 UTC (permalink / raw)
  To: Neil Zhang
  Cc: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

Neil,

On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> let's change it.
> 
> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> ---
>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>  arch/arm/mach-mmp/time.c                           |    2 +-
>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>  drivers/tty/serial/pxa.c                           |    4 +-
>  25 files changed, 144 insertions(+), 143 deletions(-)

I agree with the need to change, however, this has been in the binding
documentation since v3.5.  I wish we had caught this when we decided
against using stock ticker symbols (not all stock markets use
alphabetical abbreviated names, not all companies are listed on any
stock exchange).

To do this properly, the drivers are going to have to be compatible with
the old and the new names, and the binding docs updated to reflect the
legacy name and the preferred name.

thx,

Jason.

> diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> index 8b53273..ad27548 100644
> --- a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> +++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> @@ -1,8 +1,8 @@
>  * Marvell MMP Interrupt controller
>  
>  Required properties:
> -- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
> -  "mrvl,mmp2-mux-intc"
> +- compatible : Should be "marvell,mmp-intc", "marvell,mmp2-intc" or
> +  "marvell,mmp2-mux-intc"
>  - reg : Address and length of the register set of the interrupt controller.
>    If the interrupt controller is intc, address and length means the range
>    of the whold interrupt controller. If the interrupt controller is mux-intc,
> @@ -15,28 +15,28 @@ Required properties:
>  - interrupt-controller : Identifies the node as an interrupt controller.
>  - #interrupt-cells : Specifies the number of cells needed to encode an
>    interrupt source.
> -- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
> +- marvell,intc-nr-irqs : Specifies the number of interrupts in the interrupt
>    controller.
> -- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
> +- marvell,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
>    detection first.
>  
>  Example:
>  	intc: interrupt-controller@d4282000 {
> -		compatible = "mrvl,mmp2-intc";
> +		compatible = "marvell,mmp2-intc";
>  		interrupt-controller;
>  		#interrupt-cells = <1>;
>  		reg = <0xd4282000 0x1000>;
> -		mrvl,intc-nr-irqs = <64>;
> +		marvell,intc-nr-irqs = <64>;
>  	};
>  
>  	intcmux4@d4282150 {
> -		compatible = "mrvl,mmp2-mux-intc";
> +		compatible = "marvell,mmp2-mux-intc";
>  		interrupts = <4>;
>  		interrupt-controller;
>  		#interrupt-cells = <1>;
>  		reg = <0x150 0x4>, <0x168 0x4>;
>  		reg-names = "mux status", "mux mask";
> -		mrvl,intc-nr-irqs = <2>;
> +		marvell,intc-nr-irqs = <2>;
>  	};
>  
>  * Marvell Orion Interrupt controller
> diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> index 117d741..87f1d42 100644
> --- a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> +++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> @@ -3,12 +3,12 @@ Marvell Platforms Device Tree Bindings
>  
>  PXA168 Aspenite Board
>  Required root node properties:
> -	- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> +	- compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
>  
>  PXA910 DKB Board
>  Required root node properties:
> -	- compatible = "mrvl,pxa910-dkb";
> +	- compatible = "marvell,pxa910-dkb";
>  
>  MMP2 Brownstone Board
>  Required root node properties:
> -	- compatible = "mrvl,mmp2-brownstone";
> +	- compatible = "marvell,mmp2-brownstone";
> diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> index 9a6e251..1304526 100644
> --- a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> +++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> @@ -1,13 +1,13 @@
>  * Marvell MMP Timer controller
>  
>  Required properties:
> -- compatible : Should be "mrvl,mmp-timer".
> +- compatible : Should be "marvell,mmp-timer".
>  - reg : Address and length of the register set of timer controller.
>  - interrupts : Should be the interrupt number.
>  
>  Example:
>  	timer0: timer@d4014000 {
> -		compatible = "mrvl,mmp-timer";
> +		compatible = "marvell,mmp-timer";
>  		reg = <0xd4014000 0x100>;
>  		interrupts = <13>;
>  	};
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> index 12b78ac..34fdf5d 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> +++ b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> @@ -3,9 +3,9 @@
>  Required properties :
>  
>   - reg : Offset and length of the register set for the device
> - - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
> + - compatible : should be "marvell,mmp-twsi" where mmp is the name of a
>     compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
> -   For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
> +   For the pxa2xx/pxa3xx, an additional node "marvell,pxa-i2c" is required
>     as shown in the example below.
>  
>  Recommended properties :
> @@ -14,20 +14,20 @@ Recommended properties :
>   - interrupt-parent : the phandle for the interrupt controller that
>     services interrupts for this device. If the parent is the default
>     interrupt controller in device tree, it could be ignored.
> - - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
> + - marvell,i2c-polling : Disable interrupt of i2c controller. Polling
>     status register of i2c controller instead.
> - - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
> + - marvell,i2c-fast-mode : Enable fast mode of i2c controller.
>  
>  Examples:
>  	twsi1: i2c@d4011000 {
> -		compatible = "mrvl,mmp-twsi";
> +		compatible = "marvell,mmp-twsi";
>  		reg = <0xd4011000 0x1000>;
>  		interrupts = <7>;
> -		mrvl,i2c-fast-mode;
> +		marvell,i2c-fast-mode;
>  	};
>  	
>  	twsi2: i2c@d4025000 {
> -		compatible = "mrvl,mmp-twsi";
> +		compatible = "marvell,mmp-twsi";
>  		reg = <0xd4025000 0x1000>;
>  		interrupts = <58>;
>  	};
> diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> index dbe98a3..d603a3e 100644
> --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> @@ -4,18 +4,18 @@ This file documents differences between the core properties in mmc.txt
>  and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers.
>  
>  Required properties:
> -- compatible: Should be "mrvl,pxav2-mmc" or "mrvl,pxav3-mmc".
> +- compatible: Should be "marvell,pxav2-mmc" or "marvell,pxav3-mmc".
>  
>  Optional properties:
> -- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
> +- marvell,clk-delay-cycles: Specify a number of cycles to delay for tuning.
>  
>  Example:
>  
>  sdhci@d4280800 {
> -	compatible = "mrvl,pxav3-mmc";
> +	compatible = "marvell,pxav3-mmc";
>  	reg = <0xd4280800 0x800>;
>  	bus-width = <8>;
>  	interrupts = <27>;
>  	non-removable;
> -	mrvl,clk-delay-cycles = <31>;
> +	marvell,clk-delay-cycles = <31>;
>  };
> diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> index 0cda19a..886fe15 100644
> --- a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> +++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> @@ -1,7 +1,7 @@
>  * Marvell Real Time Clock controller
>  
>  Required properties:
> -- compatible: should be "mrvl,sa1100-rtc"
> +- compatible: should be "marvell,sa1100-rtc"
>  - reg: physical base address of the controller and length of memory mapped
>    region.
>  - interrupts: Should be two. The first interrupt number is the rtc alarm
> @@ -10,7 +10,7 @@ Required properties:
>  
>  Example:
>  	rtc: rtc@d4010000 {
> -		compatible = "mrvl,mmp-rtc";
> +		compatible = "marvell,mmp-rtc";
>  		reg = <0xd4010000 0x1000>;
>  		interrupts = <5>, <6>;
>  		interrupt-name = "rtc 1Hz", "rtc alarm";
> diff --git a/Documentation/devicetree/bindings/serial/mrvl-serial.txt b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> index d744340..659d35e 100644
> --- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> +++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> @@ -1,4 +1,4 @@
>  PXA UART controller
>  
>  Required properties:
> -- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
> +- compatible : should be "marvell,mmp-uart" or "marvell,pxa-uart".
> diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts
> index 7f70a39..26abfde 100644
> --- a/arch/arm/boot/dts/mmp2-brownstone.dts
> +++ b/arch/arm/boot/dts/mmp2-brownstone.dts
> @@ -12,7 +12,7 @@
>  
>  / {
>  	model = "Marvell MMP2 Brownstone Development Board";
> -	compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
> +	compatible = "marvell,mmp2-brownstone", "marvell,mmp2";
>  
>  	chosen {
>  		bootargs = "console=ttyS2,38400 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
> index 4e8b08c..ac13654 100644
> --- a/arch/arm/boot/dts/mmp2.dtsi
> +++ b/arch/arm/boot/dts/mmp2.dtsi
> @@ -32,128 +32,128 @@
>  		};
>  
>  		axi@d4200000 {	/* AXI */
> -			compatible = "mrvl,axi-bus", "simple-bus";
> +			compatible = "marvell,axi-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4200000 0x00200000>;
>  			ranges;
>  
>  			intc: interrupt-controller@d4282000 {
> -				compatible = "mrvl,mmp2-intc";
> +				compatible = "marvell,mmp2-intc";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0xd4282000 0x1000>;
> -				mrvl,intc-nr-irqs = <64>;
> +				marvell,intc-nr-irqs = <64>;
>  			};
>  
>  			intcmux4: interrupt-controller@d4282150 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <4>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x150 0x4>, <0x168 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> +				marvell,intc-nr-irqs = <2>;
>  			};
>  
>  			intcmux5: interrupt-controller@d4282154 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <5>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x154 0x4>, <0x16c 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> -				mrvl,clr-mfp-irq = <1>;
> +				marvell,intc-nr-irqs = <2>;
> +				marvell,clr-mfp-irq = <1>;
>  			};
>  
>  			intcmux9: interrupt-controller@d4282180 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <9>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x180 0x4>, <0x17c 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <3>;
> +				marvell,intc-nr-irqs = <3>;
>  			};
>  
>  			intcmux17: interrupt-controller@d4282158 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <17>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x158 0x4>, <0x170 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <5>;
> +				marvell,intc-nr-irqs = <5>;
>  			};
>  
>  			intcmux35: interrupt-controller@d428215c {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <35>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x15c 0x4>, <0x174 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <15>;
> +				marvell,intc-nr-irqs = <15>;
>  			};
>  
>  			intcmux51: interrupt-controller@d4282160 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <51>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x160 0x4>, <0x178 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> +				marvell,intc-nr-irqs = <2>;
>  			};
>  
>  			intcmux55: interrupt-controller@d4282188 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <55>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x188 0x4>, <0x184 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> +				marvell,intc-nr-irqs = <2>;
>  			};
>  		};
>  
>  		apb@d4000000 {	/* APB */
> -			compatible = "mrvl,apb-bus", "simple-bus";
> +			compatible = "marvell,apb-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4000000 0x00200000>;
>  			ranges;
>  
>  			timer0: timer@d4014000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4014000 0x100>;
>  				interrupts = <13>;
>  			};
>  
>  			uart1: uart@d4030000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4030000 0x1000>;
>  				interrupts = <27>;
>  				status = "disabled";
>  			};
>  
>  			uart2: uart@d4017000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4017000 0x1000>;
>  				interrupts = <28>;
>  				status = "disabled";
>  			};
>  
>  			uart3: uart@d4018000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4018000 0x1000>;
>  				interrupts = <24>;
>  				status = "disabled";
>  			};
>  
>  			uart4: uart@d4016000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4016000 0x1000>;
>  				interrupts = <46>;
>  				status = "disabled";
> @@ -198,24 +198,24 @@
>  			};
>  
>  			twsi1: i2c@d4011000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4011000 0x1000>;
>  				interrupts = <7>;
>  				#address-cells = <1>;
>  				#size-cells = <0>;
> -				mrvl,i2c-fast-mode;
> +				marvell,i2c-fast-mode;
>  				status = "disabled";
>  			};
>  
>  			twsi2: i2c@d4025000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4025000 0x1000>;
>  				interrupts = <58>;
>  				status = "disabled";
>  			};
>  
>  			rtc: rtc@d4010000 {
> -				compatible = "mrvl,mmp-rtc";
> +				compatible = "marvell,mmp-rtc";
>  				reg = <0xd4010000 0x1000>;
>  				interrupts = <1 0>;
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
> diff --git a/arch/arm/boot/dts/pxa168-aspenite.dts b/arch/arm/boot/dts/pxa168-aspenite.dts
> index e762fac..1e2ac17 100644
> --- a/arch/arm/boot/dts/pxa168-aspenite.dts
> +++ b/arch/arm/boot/dts/pxa168-aspenite.dts
> @@ -12,7 +12,7 @@
>  
>  / {
>  	model = "Marvell PXA168 Aspenite Development Board";
> -	compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> +	compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
>  
>  	chosen {
>  		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi
> index 975dad2..c08f5fc 100644
> --- a/arch/arm/boot/dts/pxa168.dtsi
> +++ b/arch/arm/boot/dts/pxa168.dtsi
> @@ -26,51 +26,51 @@
>  		ranges;
>  
>  		axi@d4200000 {	/* AXI */
> -			compatible = "mrvl,axi-bus", "simple-bus";
> +			compatible = "marvell,axi-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4200000 0x00200000>;
>  			ranges;
>  
>  			intc: interrupt-controller@d4282000 {
> -				compatible = "mrvl,mmp-intc";
> +				compatible = "marvell,mmp-intc";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0xd4282000 0x1000>;
> -				mrvl,intc-nr-irqs = <64>;
> +				marvell,intc-nr-irqs = <64>;
>  			};
>  
>  		};
>  
>  		apb@d4000000 {	/* APB */
> -			compatible = "mrvl,apb-bus", "simple-bus";
> +			compatible = "marvell,apb-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4000000 0x00200000>;
>  			ranges;
>  
>  			timer0: timer@d4014000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4014000 0x100>;
>  				interrupts = <13>;
>  			};
>  
>  			uart1: uart@d4017000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4017000 0x1000>;
>  				interrupts = <27>;
>  				status = "disabled";
>  			};
>  
>  			uart2: uart@d4018000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4018000 0x1000>;
>  				interrupts = <28>;
>  				status = "disabled";
>  			};
>  
>  			uart3: uart@d4026000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4026000 0x1000>;
>  				interrupts = <29>;
>  				status = "disabled";
> @@ -107,22 +107,22 @@
>  			};
>  
>  			twsi1: i2c@d4011000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4011000 0x1000>;
>  				interrupts = <7>;
> -				mrvl,i2c-fast-mode;
> +				marvell,i2c-fast-mode;
>  				status = "disabled";
>  			};
>  
>  			twsi2: i2c@d4025000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4025000 0x1000>;
>  				interrupts = <58>;
>  				status = "disabled";
>  			};
>  
>  			rtc: rtc@d4010000 {
> -				compatible = "mrvl,mmp-rtc";
> +				compatible = "marvell,mmp-rtc";
>  				reg = <0xd4010000 0x1000>;
>  				interrupts = <5 6>;
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
> diff --git a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi
> index a5e90f0..c426b1e 100644
> --- a/arch/arm/boot/dts/pxa2xx.dtsi
> +++ b/arch/arm/boot/dts/pxa2xx.dtsi
> @@ -47,7 +47,7 @@
>  		};
>  
>  		gpio: gpio@40e00000 {
> -			compatible = "mrvl,pxa-gpio";
> +			compatible = "marvell,pxa-gpio";
>  			#address-cells = <0x1>;
>  			#size-cells = <0x1>;
>  			reg = <0x40e00000 0x10000>;
> @@ -76,35 +76,35 @@
>  		};
>  
>  		ffuart: uart@40100000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x40100000 0x30>;
>  			interrupts = <22>;
>  			status = "disabled";
>  		};
>  
>  		btuart: uart@40200000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x40200000 0x30>;
>  			interrupts = <21>;
>  			status = "disabled";
>  		};
>  
>  		stuart: uart@40700000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x40700000 0x30>;
>  			interrupts = <20>;
>  			status = "disabled";
>  		};
>  
>  		hwuart: uart@41100000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x41100000 0x30>;
>  			interrupts = <7>;
>  			status = "disabled";
>  		};
>  
>  		pxai2c1: i2c@40301680 {
> -			compatible = "mrvl,pxa-i2c";
> +			compatible = "marvell,pxa-i2c";
>  			reg = <0x40301680 0x30>;
>  			interrupts = <18>;
>  			#address-cells = <0x1>;
> @@ -113,14 +113,14 @@
>  		};
>  
>  		usb0: ohci@4c000000 {
> -			compatible = "mrvl,pxa-ohci";
> +			compatible = "marvell,pxa-ohci";
>  			reg = <0x4c000000 0x10000>;
>  			interrupts = <3>;
>  			status = "disabled";
>  		};
>  
>  		mmc0: mmc@41100000 {
> -			compatible = "mrvl,pxa-mmc";
> +			compatible = "marvell,pxa-mmc";
>  			reg = <0x41100000 0x1000>;
>  			interrupts = <23>;
>  			status = "disabled";
> diff --git a/arch/arm/boot/dts/pxa3xx.dtsi b/arch/arm/boot/dts/pxa3xx.dtsi
> index f9d92da..0798031 100644
> --- a/arch/arm/boot/dts/pxa3xx.dtsi
> +++ b/arch/arm/boot/dts/pxa3xx.dtsi
> @@ -7,7 +7,7 @@
>  
>  	pxabus {
>  		pwri2c: i2c@40f500c0 {
> -			compatible = "mrvl,pwri2c";
> +			compatible = "marvell,pwri2c";
>  			reg = <0x40f500c0 0x30>;
>  			interrupts = <6>;
>  			#address-cells = <0x1>;
> diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts
> index 595492a..7384254 100644
> --- a/arch/arm/boot/dts/pxa910-dkb.dts
> +++ b/arch/arm/boot/dts/pxa910-dkb.dts
> @@ -12,7 +12,7 @@
>  
>  / {
>  	model = "Marvell PXA910 DKB Development Board";
> -	compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
> +	compatible = "marvell,pxa910-dkb", "marvell,pxa910";
>  
>  	chosen {
>  		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
> index 0247c62..b5594a0 100644
> --- a/arch/arm/boot/dts/pxa910.dtsi
> +++ b/arch/arm/boot/dts/pxa910.dtsi
> @@ -31,58 +31,59 @@
>  		};
>  
>  		axi@d4200000 {	/* AXI */
> -			compatible = "mrvl,axi-bus", "simple-bus";
> +			compatible = "marvell,axi-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4200000 0x00200000>;
>  			ranges;
>  
>  			intc: interrupt-controller@d4282000 {
> -				compatible = "mrvl,mmp-intc";
> +				compatible = "marvell,mmp-intc";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0xd4282000 0x1000>;
> -				mrvl,intc-nr-irqs = <64>;
> +				marvell,intc-nr-irqs = <64>;
> +
>  			};
>  
>  		};
>  
>  		apb@d4000000 {	/* APB */
> -			compatible = "mrvl,apb-bus", "simple-bus";
> +			compatible = "marvell,apb-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4000000 0x00200000>;
>  			ranges;
>  
>  			timer0: timer@d4014000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4014000 0x100>;
>  				interrupts = <13>;
>  			};
>  
>  			timer1: timer@d4016000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4016000 0x100>;
>  				interrupts = <29>;
>  				status = "disabled";
>  			};
>  
>  			uart1: uart@d4017000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4017000 0x1000>;
>  				interrupts = <27>;
>  				status = "disabled";
>  			};
>  
>  			uart2: uart@d4018000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4018000 0x1000>;
>  				interrupts = <28>;
>  				status = "disabled";
>  			};
>  
>  			uart3: uart@d4036000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4036000 0x1000>;
>  				interrupts = <59>;
>  				status = "disabled";
> @@ -119,17 +120,17 @@
>  			};
>  
>  			twsi1: i2c@d4011000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				#address-cells = <1>;
>  				#size-cells = <0>;
>  				reg = <0xd4011000 0x1000>;
>  				interrupts = <7>;
> -				mrvl,i2c-fast-mode;
> +				marvell,i2c-fast-mode;
>  				status = "disabled";
>  			};
>  
>  			twsi2: i2c@d4037000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				#address-cells = <1>;
>  				#size-cells = <0>;
>  				reg = <0xd4037000 0x1000>;
> @@ -138,7 +139,7 @@
>  			};
>  
>  			rtc: rtc@d4010000 {
> -				compatible = "mrvl,mmp-rtc";
> +				compatible = "marvell,mmp-rtc";
>  				reg = <0xd4010000 0x1000>;
>  				interrupts = <5 6>;
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
> diff --git a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c
> index 3c71246..a7a53611 100644
> --- a/arch/arm/mach-mmp/irq.c
> +++ b/arch/arm/mach-mmp/irq.c
> @@ -327,13 +327,13 @@ void __init mmp2_init_icu(void)
>  
>  #ifdef CONFIG_OF
>  static const struct of_device_id intc_ids[] __initconst = {
> -	{ .compatible = "mrvl,mmp-intc", .data = &mmp_conf },
> -	{ .compatible = "mrvl,mmp2-intc", .data = &mmp2_conf },
> +	{ .compatible = "marvell,mmp-intc", .data = &mmp_conf },
> +	{ .compatible = "marvell,mmp2-intc", .data = &mmp2_conf },
>  	{}
>  };
>  
>  static const struct of_device_id mmp_mux_irq_match[] __initconst = {
> -	{ .compatible = "mrvl,mmp2-mux-intc" },
> +	{ .compatible = "marvell,mmp2-mux-intc" },
>  	{}
>  };
>  
> @@ -352,10 +352,10 @@ int __init mmp2_mux_init(struct device_node *parent)
>  		if (!node)
>  			break;
>  		of_id = of_match_node(&mmp_mux_irq_match[0], node);
> -		ret = of_property_read_u32(node, "mrvl,intc-nr-irqs",
> +		ret = of_property_read_u32(node, "marvell,intc-nr-irqs",
>  					   &nr_irqs);
>  		if (ret) {
> -			pr_err("Not found mrvl,intc-nr-irqs property\n");
> +			pr_err("Not found marvell,intc-nr-irqs property\n");
>  			ret = -EINVAL;
>  			goto err;
>  		}
> @@ -385,7 +385,7 @@ int __init mmp2_mux_init(struct device_node *parent)
>  			ret = irq_base;
>  			goto err;
>  		}
> -		if (!of_property_read_u32(node, "mrvl,clr-mfp-irq",
> +		if (!of_property_read_u32(node, "marvell,clr-mfp-irq",
>  					  &mfp_irq)) {
>  			icu_data[i].clr_mfp_irq_base = irq_base;
>  			icu_data[i].clr_mfp_hwirq = mfp_irq;
> @@ -424,9 +424,9 @@ void __init mmp_dt_irq_init(void)
>  	of_id = of_match_node(intc_ids, node);
>  	conf = of_id->data;
>  
> -	ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs);
> +	ret = of_property_read_u32(node, "marvell,intc-nr-irqs", &nr_irqs);
>  	if (ret) {
> -		pr_err("Not found mrvl,intc-nr-irqs property\n");
> +		pr_err("Not found marvell,intc-nr-irqs property\n");
>  		return;
>  	}
>  
> diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
> index b37915d..62c5adb 100644
> --- a/arch/arm/mach-mmp/mmp-dt.c
> +++ b/arch/arm/mach-mmp/mmp-dt.c
> @@ -23,24 +23,24 @@ extern void __init mmp_dt_irq_init(void);
>  extern void __init mmp_dt_init_timer(void);
>  
>  static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
>  	{}
>  };
>  
>  static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
>  	{}
>  };
>  
> @@ -57,8 +57,8 @@ static void __init pxa910_dt_init(void)
>  }
>  
>  static const char *mmp_dt_board_compat[] __initdata = {
> -	"mrvl,pxa168-aspenite",
> -	"mrvl,pxa910-dkb",
> +	"marvell,pxa168-aspenite",
> +	"marvell,pxa910-dkb",
>  	NULL,
>  };
>  
> diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
> index 4ac2567..6523ecf 100644
> --- a/arch/arm/mach-mmp/mmp2-dt.c
> +++ b/arch/arm/mach-mmp/mmp2-dt.c
> @@ -25,14 +25,14 @@ extern void __init mmp_dt_irq_init(void);
>  extern void __init mmp_dt_init_timer(void);
>  
>  static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
>  	{}
>  };
>  
> @@ -43,7 +43,7 @@ static void __init mmp2_dt_init(void)
>  }
>  
>  static const char *mmp2_dt_board_compat[] __initdata = {
> -	"mrvl,mmp2-brownstone",
> +	"marvell,mmp2-brownstone",
>  	NULL,
>  };
>  
> diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
> index 7ac41e8..67e7d5c 100644
> --- a/arch/arm/mach-mmp/time.c
> +++ b/arch/arm/mach-mmp/time.c
> @@ -208,7 +208,7 @@ void __init timer_init(int irq)
>  
>  #ifdef CONFIG_OF
>  static struct of_device_id mmp_timer_dt_ids[] = {
> -	{ .compatible = "mrvl,mmp-timer", },
> +	{ .compatible = "marvell,mmp-timer", },
>  	{}
>  };
>  
> diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c
> index 3835979..b679367 100644
> --- a/arch/arm/mach-pxa/pxa-dt.c
> +++ b/arch/arm/mach-pxa/pxa-dt.c
> @@ -23,15 +23,15 @@
>  extern void __init pxa3xx_dt_init_irq(void);
>  
>  static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40100000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40200000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40700000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x41600000, "pxa2xx-uart.3", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40100000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40200000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40700000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x41600000, "pxa2xx-uart.3", NULL),
>  	OF_DEV_AUXDATA("marvell,pxa-mmc",	0x41100000, "pxa2xx-mci.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-gpio",		0x40e00000, "pxa-gpio", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-gpio",	0x40e00000, "pxa-gpio", NULL),
>  	OF_DEV_AUXDATA("marvell,pxa-ohci",	0x4c000000, "pxa27x-ohci", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-i2c",		0x40301680, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,pwri2c",		0x40f500c0, "pxa3xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-i2c",	0x40301680, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,pwri2c",	0x40f500c0, "pxa3xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,pxa3xx-nand",	0x43100000, "pxa3xx-nand", NULL),
>  	{}
>  };
> diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
> index fbafed2..6f2b17d 100644
> --- a/drivers/i2c/busses/i2c-pxa.c
> +++ b/drivers/i2c/busses/i2c-pxa.c
> @@ -1040,9 +1040,9 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
>  };
>  
>  static struct of_device_id i2c_pxa_dt_ids[] = {
> -	{ .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
> -	{ .compatible = "mrvl,pwri2c", .data = (void *)REGS_PXA3XX },
> -	{ .compatible = "mrvl,mmp-twsi", .data = (void *)REGS_PXA2XX },
> +	{ .compatible = "marvell,pxa-i2c", .data = (void *)REGS_PXA2XX },
> +	{ .compatible = "marvell,pwri2c", .data = (void *)REGS_PXA3XX },
> +	{ .compatible = "marvell,mmp-twsi", .data = (void *)REGS_PXA2XX },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, i2c_pxa_dt_ids);
> @@ -1060,9 +1060,9 @@ static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
>  	/* For device tree we always use the dynamic or alias-assigned ID */
>  	i2c->adap.nr = -1;
>  
> -	if (of_get_property(np, "mrvl,i2c-polling", NULL))
> +	if (of_get_property(np, "marvell,i2c-polling", NULL))
>  		i2c->use_pio = 1;
> -	if (of_get_property(np, "mrvl,i2c-fast-mode", NULL))
> +	if (of_get_property(np, "marvell,i2c-fast-mode", NULL))
>  		i2c->fast_mode = 1;
>  	*i2c_types = (u32)(of_id->data);
>  	return 0;
> diff --git a/drivers/mmc/host/sdhci-pxav2.c b/drivers/mmc/host/sdhci-pxav2.c
> index 6a3f702..1dd6500 100644
> --- a/drivers/mmc/host/sdhci-pxav2.c
> +++ b/drivers/mmc/host/sdhci-pxav2.c
> @@ -120,7 +120,7 @@ static const struct sdhci_ops pxav2_sdhci_ops = {
>  #ifdef CONFIG_OF
>  static const struct of_device_id sdhci_pxav2_of_match[] = {
>  	{
> -		.compatible = "mrvl,pxav2-mmc",
> +		.compatible = "marvell,pxav2-mmc",
>  	},
>  	{},
>  };
> @@ -144,7 +144,7 @@ static struct sdhci_pxa_platdata *pxav2_get_mmc_pdata(struct device *dev)
>  	if (bus_width == 8)
>  		pdata->flags |= PXA_FLAG_SD_8_BIT_CAPABLE_SLOT;
>  
> -	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> +	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
>  	if (clk_delay_cycles > 0) {
>  		pdata->clk_delay_sel = 1;
>  		pdata->clk_delay_cycles = clk_delay_cycles;
> diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
> index 1ae358e..a88974b 100644
> --- a/drivers/mmc/host/sdhci-pxav3.c
> +++ b/drivers/mmc/host/sdhci-pxav3.c
> @@ -185,7 +185,7 @@ static struct sdhci_pltfm_data sdhci_pxav3_pdata = {
>  #ifdef CONFIG_OF
>  static const struct of_device_id sdhci_pxav3_of_match[] = {
>  	{
> -		.compatible = "mrvl,pxav3-mmc",
> +		.compatible = "marvell,pxav3-mmc",
>  	},
>  	{},
>  };
> @@ -201,7 +201,7 @@ static struct sdhci_pxa_platdata *pxav3_get_mmc_pdata(struct device *dev)
>  	if (!pdata)
>  		return NULL;
>  
> -	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> +	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
>  	if (clk_delay_cycles > 0)
>  		pdata->clk_delay_cycles = clk_delay_cycles;
>  
> diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
> index 0f7adeb..307dd37 100644
> --- a/drivers/rtc/rtc-sa1100.c
> +++ b/drivers/rtc/rtc-sa1100.c
> @@ -339,8 +339,8 @@ static SIMPLE_DEV_PM_OPS(sa1100_rtc_pm_ops, sa1100_rtc_suspend,
>  
>  #ifdef CONFIG_OF
>  static struct of_device_id sa1100_rtc_dt_ids[] = {
> -	{ .compatible = "mrvl,sa1100-rtc", },
> -	{ .compatible = "mrvl,mmp-rtc", },
> +	{ .compatible = "marvell,sa1100-rtc", },
> +	{ .compatible = "marvell,mmp-rtc", },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, sa1100_rtc_dt_ids);
> diff --git a/drivers/tty/serial/pxa.c b/drivers/tty/serial/pxa.c
> index 05f504e..cb1a439 100644
> --- a/drivers/tty/serial/pxa.c
> +++ b/drivers/tty/serial/pxa.c
> @@ -852,8 +852,8 @@ static const struct dev_pm_ops serial_pxa_pm_ops = {
>  #endif
>  
>  static struct of_device_id serial_pxa_dt_ids[] = {
> -	{ .compatible = "mrvl,pxa-uart", },
> -	{ .compatible = "mrvl,mmp-uart", },
> +	{ .compatible = "marvell,pxa-uart", },
> +	{ .compatible = "marvell,mmp-uart", },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, serial_pxa_dt_ids);
> -- 
> 1.7.4.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-09 12:49     ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-09 12:49 UTC (permalink / raw)
  To: Neil Zhang
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	grant.likely-QSEj5FYQhm4dnm+yROfE0A,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Neil,

On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> let's change it.
> 
> Signed-off-by: Neil Zhang <zhangwm-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
> ---
>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>  arch/arm/mach-mmp/time.c                           |    2 +-
>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>  drivers/tty/serial/pxa.c                           |    4 +-
>  25 files changed, 144 insertions(+), 143 deletions(-)

I agree with the need to change, however, this has been in the binding
documentation since v3.5.  I wish we had caught this when we decided
against using stock ticker symbols (not all stock markets use
alphabetical abbreviated names, not all companies are listed on any
stock exchange).

To do this properly, the drivers are going to have to be compatible with
the old and the new names, and the binding docs updated to reflect the
legacy name and the preferred name.

thx,

Jason.

> diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> index 8b53273..ad27548 100644
> --- a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> +++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> @@ -1,8 +1,8 @@
>  * Marvell MMP Interrupt controller
>  
>  Required properties:
> -- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
> -  "mrvl,mmp2-mux-intc"
> +- compatible : Should be "marvell,mmp-intc", "marvell,mmp2-intc" or
> +  "marvell,mmp2-mux-intc"
>  - reg : Address and length of the register set of the interrupt controller.
>    If the interrupt controller is intc, address and length means the range
>    of the whold interrupt controller. If the interrupt controller is mux-intc,
> @@ -15,28 +15,28 @@ Required properties:
>  - interrupt-controller : Identifies the node as an interrupt controller.
>  - #interrupt-cells : Specifies the number of cells needed to encode an
>    interrupt source.
> -- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
> +- marvell,intc-nr-irqs : Specifies the number of interrupts in the interrupt
>    controller.
> -- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
> +- marvell,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
>    detection first.
>  
>  Example:
>  	intc: interrupt-controller@d4282000 {
> -		compatible = "mrvl,mmp2-intc";
> +		compatible = "marvell,mmp2-intc";
>  		interrupt-controller;
>  		#interrupt-cells = <1>;
>  		reg = <0xd4282000 0x1000>;
> -		mrvl,intc-nr-irqs = <64>;
> +		marvell,intc-nr-irqs = <64>;
>  	};
>  
>  	intcmux4@d4282150 {
> -		compatible = "mrvl,mmp2-mux-intc";
> +		compatible = "marvell,mmp2-mux-intc";
>  		interrupts = <4>;
>  		interrupt-controller;
>  		#interrupt-cells = <1>;
>  		reg = <0x150 0x4>, <0x168 0x4>;
>  		reg-names = "mux status", "mux mask";
> -		mrvl,intc-nr-irqs = <2>;
> +		marvell,intc-nr-irqs = <2>;
>  	};
>  
>  * Marvell Orion Interrupt controller
> diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> index 117d741..87f1d42 100644
> --- a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> +++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> @@ -3,12 +3,12 @@ Marvell Platforms Device Tree Bindings
>  
>  PXA168 Aspenite Board
>  Required root node properties:
> -	- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> +	- compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
>  
>  PXA910 DKB Board
>  Required root node properties:
> -	- compatible = "mrvl,pxa910-dkb";
> +	- compatible = "marvell,pxa910-dkb";
>  
>  MMP2 Brownstone Board
>  Required root node properties:
> -	- compatible = "mrvl,mmp2-brownstone";
> +	- compatible = "marvell,mmp2-brownstone";
> diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> index 9a6e251..1304526 100644
> --- a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> +++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> @@ -1,13 +1,13 @@
>  * Marvell MMP Timer controller
>  
>  Required properties:
> -- compatible : Should be "mrvl,mmp-timer".
> +- compatible : Should be "marvell,mmp-timer".
>  - reg : Address and length of the register set of timer controller.
>  - interrupts : Should be the interrupt number.
>  
>  Example:
>  	timer0: timer@d4014000 {
> -		compatible = "mrvl,mmp-timer";
> +		compatible = "marvell,mmp-timer";
>  		reg = <0xd4014000 0x100>;
>  		interrupts = <13>;
>  	};
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> index 12b78ac..34fdf5d 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> +++ b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> @@ -3,9 +3,9 @@
>  Required properties :
>  
>   - reg : Offset and length of the register set for the device
> - - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
> + - compatible : should be "marvell,mmp-twsi" where mmp is the name of a
>     compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
> -   For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
> +   For the pxa2xx/pxa3xx, an additional node "marvell,pxa-i2c" is required
>     as shown in the example below.
>  
>  Recommended properties :
> @@ -14,20 +14,20 @@ Recommended properties :
>   - interrupt-parent : the phandle for the interrupt controller that
>     services interrupts for this device. If the parent is the default
>     interrupt controller in device tree, it could be ignored.
> - - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
> + - marvell,i2c-polling : Disable interrupt of i2c controller. Polling
>     status register of i2c controller instead.
> - - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
> + - marvell,i2c-fast-mode : Enable fast mode of i2c controller.
>  
>  Examples:
>  	twsi1: i2c@d4011000 {
> -		compatible = "mrvl,mmp-twsi";
> +		compatible = "marvell,mmp-twsi";
>  		reg = <0xd4011000 0x1000>;
>  		interrupts = <7>;
> -		mrvl,i2c-fast-mode;
> +		marvell,i2c-fast-mode;
>  	};
>  	
>  	twsi2: i2c@d4025000 {
> -		compatible = "mrvl,mmp-twsi";
> +		compatible = "marvell,mmp-twsi";
>  		reg = <0xd4025000 0x1000>;
>  		interrupts = <58>;
>  	};
> diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> index dbe98a3..d603a3e 100644
> --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> @@ -4,18 +4,18 @@ This file documents differences between the core properties in mmc.txt
>  and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers.
>  
>  Required properties:
> -- compatible: Should be "mrvl,pxav2-mmc" or "mrvl,pxav3-mmc".
> +- compatible: Should be "marvell,pxav2-mmc" or "marvell,pxav3-mmc".
>  
>  Optional properties:
> -- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
> +- marvell,clk-delay-cycles: Specify a number of cycles to delay for tuning.
>  
>  Example:
>  
>  sdhci@d4280800 {
> -	compatible = "mrvl,pxav3-mmc";
> +	compatible = "marvell,pxav3-mmc";
>  	reg = <0xd4280800 0x800>;
>  	bus-width = <8>;
>  	interrupts = <27>;
>  	non-removable;
> -	mrvl,clk-delay-cycles = <31>;
> +	marvell,clk-delay-cycles = <31>;
>  };
> diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> index 0cda19a..886fe15 100644
> --- a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> +++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> @@ -1,7 +1,7 @@
>  * Marvell Real Time Clock controller
>  
>  Required properties:
> -- compatible: should be "mrvl,sa1100-rtc"
> +- compatible: should be "marvell,sa1100-rtc"
>  - reg: physical base address of the controller and length of memory mapped
>    region.
>  - interrupts: Should be two. The first interrupt number is the rtc alarm
> @@ -10,7 +10,7 @@ Required properties:
>  
>  Example:
>  	rtc: rtc@d4010000 {
> -		compatible = "mrvl,mmp-rtc";
> +		compatible = "marvell,mmp-rtc";
>  		reg = <0xd4010000 0x1000>;
>  		interrupts = <5>, <6>;
>  		interrupt-name = "rtc 1Hz", "rtc alarm";
> diff --git a/Documentation/devicetree/bindings/serial/mrvl-serial.txt b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> index d744340..659d35e 100644
> --- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> +++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> @@ -1,4 +1,4 @@
>  PXA UART controller
>  
>  Required properties:
> -- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
> +- compatible : should be "marvell,mmp-uart" or "marvell,pxa-uart".
> diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts
> index 7f70a39..26abfde 100644
> --- a/arch/arm/boot/dts/mmp2-brownstone.dts
> +++ b/arch/arm/boot/dts/mmp2-brownstone.dts
> @@ -12,7 +12,7 @@
>  
>  / {
>  	model = "Marvell MMP2 Brownstone Development Board";
> -	compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
> +	compatible = "marvell,mmp2-brownstone", "marvell,mmp2";
>  
>  	chosen {
>  		bootargs = "console=ttyS2,38400 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
> index 4e8b08c..ac13654 100644
> --- a/arch/arm/boot/dts/mmp2.dtsi
> +++ b/arch/arm/boot/dts/mmp2.dtsi
> @@ -32,128 +32,128 @@
>  		};
>  
>  		axi@d4200000 {	/* AXI */
> -			compatible = "mrvl,axi-bus", "simple-bus";
> +			compatible = "marvell,axi-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4200000 0x00200000>;
>  			ranges;
>  
>  			intc: interrupt-controller@d4282000 {
> -				compatible = "mrvl,mmp2-intc";
> +				compatible = "marvell,mmp2-intc";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0xd4282000 0x1000>;
> -				mrvl,intc-nr-irqs = <64>;
> +				marvell,intc-nr-irqs = <64>;
>  			};
>  
>  			intcmux4: interrupt-controller@d4282150 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <4>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x150 0x4>, <0x168 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> +				marvell,intc-nr-irqs = <2>;
>  			};
>  
>  			intcmux5: interrupt-controller@d4282154 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <5>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x154 0x4>, <0x16c 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> -				mrvl,clr-mfp-irq = <1>;
> +				marvell,intc-nr-irqs = <2>;
> +				marvell,clr-mfp-irq = <1>;
>  			};
>  
>  			intcmux9: interrupt-controller@d4282180 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <9>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x180 0x4>, <0x17c 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <3>;
> +				marvell,intc-nr-irqs = <3>;
>  			};
>  
>  			intcmux17: interrupt-controller@d4282158 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <17>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x158 0x4>, <0x170 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <5>;
> +				marvell,intc-nr-irqs = <5>;
>  			};
>  
>  			intcmux35: interrupt-controller@d428215c {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <35>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x15c 0x4>, <0x174 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <15>;
> +				marvell,intc-nr-irqs = <15>;
>  			};
>  
>  			intcmux51: interrupt-controller@d4282160 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <51>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x160 0x4>, <0x178 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> +				marvell,intc-nr-irqs = <2>;
>  			};
>  
>  			intcmux55: interrupt-controller@d4282188 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <55>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x188 0x4>, <0x184 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> +				marvell,intc-nr-irqs = <2>;
>  			};
>  		};
>  
>  		apb@d4000000 {	/* APB */
> -			compatible = "mrvl,apb-bus", "simple-bus";
> +			compatible = "marvell,apb-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4000000 0x00200000>;
>  			ranges;
>  
>  			timer0: timer@d4014000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4014000 0x100>;
>  				interrupts = <13>;
>  			};
>  
>  			uart1: uart@d4030000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4030000 0x1000>;
>  				interrupts = <27>;
>  				status = "disabled";
>  			};
>  
>  			uart2: uart@d4017000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4017000 0x1000>;
>  				interrupts = <28>;
>  				status = "disabled";
>  			};
>  
>  			uart3: uart@d4018000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4018000 0x1000>;
>  				interrupts = <24>;
>  				status = "disabled";
>  			};
>  
>  			uart4: uart@d4016000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4016000 0x1000>;
>  				interrupts = <46>;
>  				status = "disabled";
> @@ -198,24 +198,24 @@
>  			};
>  
>  			twsi1: i2c@d4011000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4011000 0x1000>;
>  				interrupts = <7>;
>  				#address-cells = <1>;
>  				#size-cells = <0>;
> -				mrvl,i2c-fast-mode;
> +				marvell,i2c-fast-mode;
>  				status = "disabled";
>  			};
>  
>  			twsi2: i2c@d4025000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4025000 0x1000>;
>  				interrupts = <58>;
>  				status = "disabled";
>  			};
>  
>  			rtc: rtc@d4010000 {
> -				compatible = "mrvl,mmp-rtc";
> +				compatible = "marvell,mmp-rtc";
>  				reg = <0xd4010000 0x1000>;
>  				interrupts = <1 0>;
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
> diff --git a/arch/arm/boot/dts/pxa168-aspenite.dts b/arch/arm/boot/dts/pxa168-aspenite.dts
> index e762fac..1e2ac17 100644
> --- a/arch/arm/boot/dts/pxa168-aspenite.dts
> +++ b/arch/arm/boot/dts/pxa168-aspenite.dts
> @@ -12,7 +12,7 @@
>  
>  / {
>  	model = "Marvell PXA168 Aspenite Development Board";
> -	compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> +	compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
>  
>  	chosen {
>  		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi
> index 975dad2..c08f5fc 100644
> --- a/arch/arm/boot/dts/pxa168.dtsi
> +++ b/arch/arm/boot/dts/pxa168.dtsi
> @@ -26,51 +26,51 @@
>  		ranges;
>  
>  		axi@d4200000 {	/* AXI */
> -			compatible = "mrvl,axi-bus", "simple-bus";
> +			compatible = "marvell,axi-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4200000 0x00200000>;
>  			ranges;
>  
>  			intc: interrupt-controller@d4282000 {
> -				compatible = "mrvl,mmp-intc";
> +				compatible = "marvell,mmp-intc";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0xd4282000 0x1000>;
> -				mrvl,intc-nr-irqs = <64>;
> +				marvell,intc-nr-irqs = <64>;
>  			};
>  
>  		};
>  
>  		apb@d4000000 {	/* APB */
> -			compatible = "mrvl,apb-bus", "simple-bus";
> +			compatible = "marvell,apb-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4000000 0x00200000>;
>  			ranges;
>  
>  			timer0: timer@d4014000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4014000 0x100>;
>  				interrupts = <13>;
>  			};
>  
>  			uart1: uart@d4017000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4017000 0x1000>;
>  				interrupts = <27>;
>  				status = "disabled";
>  			};
>  
>  			uart2: uart@d4018000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4018000 0x1000>;
>  				interrupts = <28>;
>  				status = "disabled";
>  			};
>  
>  			uart3: uart@d4026000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4026000 0x1000>;
>  				interrupts = <29>;
>  				status = "disabled";
> @@ -107,22 +107,22 @@
>  			};
>  
>  			twsi1: i2c@d4011000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4011000 0x1000>;
>  				interrupts = <7>;
> -				mrvl,i2c-fast-mode;
> +				marvell,i2c-fast-mode;
>  				status = "disabled";
>  			};
>  
>  			twsi2: i2c@d4025000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4025000 0x1000>;
>  				interrupts = <58>;
>  				status = "disabled";
>  			};
>  
>  			rtc: rtc@d4010000 {
> -				compatible = "mrvl,mmp-rtc";
> +				compatible = "marvell,mmp-rtc";
>  				reg = <0xd4010000 0x1000>;
>  				interrupts = <5 6>;
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
> diff --git a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi
> index a5e90f0..c426b1e 100644
> --- a/arch/arm/boot/dts/pxa2xx.dtsi
> +++ b/arch/arm/boot/dts/pxa2xx.dtsi
> @@ -47,7 +47,7 @@
>  		};
>  
>  		gpio: gpio@40e00000 {
> -			compatible = "mrvl,pxa-gpio";
> +			compatible = "marvell,pxa-gpio";
>  			#address-cells = <0x1>;
>  			#size-cells = <0x1>;
>  			reg = <0x40e00000 0x10000>;
> @@ -76,35 +76,35 @@
>  		};
>  
>  		ffuart: uart@40100000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x40100000 0x30>;
>  			interrupts = <22>;
>  			status = "disabled";
>  		};
>  
>  		btuart: uart@40200000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x40200000 0x30>;
>  			interrupts = <21>;
>  			status = "disabled";
>  		};
>  
>  		stuart: uart@40700000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x40700000 0x30>;
>  			interrupts = <20>;
>  			status = "disabled";
>  		};
>  
>  		hwuart: uart@41100000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x41100000 0x30>;
>  			interrupts = <7>;
>  			status = "disabled";
>  		};
>  
>  		pxai2c1: i2c@40301680 {
> -			compatible = "mrvl,pxa-i2c";
> +			compatible = "marvell,pxa-i2c";
>  			reg = <0x40301680 0x30>;
>  			interrupts = <18>;
>  			#address-cells = <0x1>;
> @@ -113,14 +113,14 @@
>  		};
>  
>  		usb0: ohci@4c000000 {
> -			compatible = "mrvl,pxa-ohci";
> +			compatible = "marvell,pxa-ohci";
>  			reg = <0x4c000000 0x10000>;
>  			interrupts = <3>;
>  			status = "disabled";
>  		};
>  
>  		mmc0: mmc@41100000 {
> -			compatible = "mrvl,pxa-mmc";
> +			compatible = "marvell,pxa-mmc";
>  			reg = <0x41100000 0x1000>;
>  			interrupts = <23>;
>  			status = "disabled";
> diff --git a/arch/arm/boot/dts/pxa3xx.dtsi b/arch/arm/boot/dts/pxa3xx.dtsi
> index f9d92da..0798031 100644
> --- a/arch/arm/boot/dts/pxa3xx.dtsi
> +++ b/arch/arm/boot/dts/pxa3xx.dtsi
> @@ -7,7 +7,7 @@
>  
>  	pxabus {
>  		pwri2c: i2c@40f500c0 {
> -			compatible = "mrvl,pwri2c";
> +			compatible = "marvell,pwri2c";
>  			reg = <0x40f500c0 0x30>;
>  			interrupts = <6>;
>  			#address-cells = <0x1>;
> diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts
> index 595492a..7384254 100644
> --- a/arch/arm/boot/dts/pxa910-dkb.dts
> +++ b/arch/arm/boot/dts/pxa910-dkb.dts
> @@ -12,7 +12,7 @@
>  
>  / {
>  	model = "Marvell PXA910 DKB Development Board";
> -	compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
> +	compatible = "marvell,pxa910-dkb", "marvell,pxa910";
>  
>  	chosen {
>  		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
> index 0247c62..b5594a0 100644
> --- a/arch/arm/boot/dts/pxa910.dtsi
> +++ b/arch/arm/boot/dts/pxa910.dtsi
> @@ -31,58 +31,59 @@
>  		};
>  
>  		axi@d4200000 {	/* AXI */
> -			compatible = "mrvl,axi-bus", "simple-bus";
> +			compatible = "marvell,axi-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4200000 0x00200000>;
>  			ranges;
>  
>  			intc: interrupt-controller@d4282000 {
> -				compatible = "mrvl,mmp-intc";
> +				compatible = "marvell,mmp-intc";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0xd4282000 0x1000>;
> -				mrvl,intc-nr-irqs = <64>;
> +				marvell,intc-nr-irqs = <64>;
> +
>  			};
>  
>  		};
>  
>  		apb@d4000000 {	/* APB */
> -			compatible = "mrvl,apb-bus", "simple-bus";
> +			compatible = "marvell,apb-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4000000 0x00200000>;
>  			ranges;
>  
>  			timer0: timer@d4014000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4014000 0x100>;
>  				interrupts = <13>;
>  			};
>  
>  			timer1: timer@d4016000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4016000 0x100>;
>  				interrupts = <29>;
>  				status = "disabled";
>  			};
>  
>  			uart1: uart@d4017000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4017000 0x1000>;
>  				interrupts = <27>;
>  				status = "disabled";
>  			};
>  
>  			uart2: uart@d4018000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4018000 0x1000>;
>  				interrupts = <28>;
>  				status = "disabled";
>  			};
>  
>  			uart3: uart@d4036000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4036000 0x1000>;
>  				interrupts = <59>;
>  				status = "disabled";
> @@ -119,17 +120,17 @@
>  			};
>  
>  			twsi1: i2c@d4011000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				#address-cells = <1>;
>  				#size-cells = <0>;
>  				reg = <0xd4011000 0x1000>;
>  				interrupts = <7>;
> -				mrvl,i2c-fast-mode;
> +				marvell,i2c-fast-mode;
>  				status = "disabled";
>  			};
>  
>  			twsi2: i2c@d4037000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				#address-cells = <1>;
>  				#size-cells = <0>;
>  				reg = <0xd4037000 0x1000>;
> @@ -138,7 +139,7 @@
>  			};
>  
>  			rtc: rtc@d4010000 {
> -				compatible = "mrvl,mmp-rtc";
> +				compatible = "marvell,mmp-rtc";
>  				reg = <0xd4010000 0x1000>;
>  				interrupts = <5 6>;
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
> diff --git a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c
> index 3c71246..a7a53611 100644
> --- a/arch/arm/mach-mmp/irq.c
> +++ b/arch/arm/mach-mmp/irq.c
> @@ -327,13 +327,13 @@ void __init mmp2_init_icu(void)
>  
>  #ifdef CONFIG_OF
>  static const struct of_device_id intc_ids[] __initconst = {
> -	{ .compatible = "mrvl,mmp-intc", .data = &mmp_conf },
> -	{ .compatible = "mrvl,mmp2-intc", .data = &mmp2_conf },
> +	{ .compatible = "marvell,mmp-intc", .data = &mmp_conf },
> +	{ .compatible = "marvell,mmp2-intc", .data = &mmp2_conf },
>  	{}
>  };
>  
>  static const struct of_device_id mmp_mux_irq_match[] __initconst = {
> -	{ .compatible = "mrvl,mmp2-mux-intc" },
> +	{ .compatible = "marvell,mmp2-mux-intc" },
>  	{}
>  };
>  
> @@ -352,10 +352,10 @@ int __init mmp2_mux_init(struct device_node *parent)
>  		if (!node)
>  			break;
>  		of_id = of_match_node(&mmp_mux_irq_match[0], node);
> -		ret = of_property_read_u32(node, "mrvl,intc-nr-irqs",
> +		ret = of_property_read_u32(node, "marvell,intc-nr-irqs",
>  					   &nr_irqs);
>  		if (ret) {
> -			pr_err("Not found mrvl,intc-nr-irqs property\n");
> +			pr_err("Not found marvell,intc-nr-irqs property\n");
>  			ret = -EINVAL;
>  			goto err;
>  		}
> @@ -385,7 +385,7 @@ int __init mmp2_mux_init(struct device_node *parent)
>  			ret = irq_base;
>  			goto err;
>  		}
> -		if (!of_property_read_u32(node, "mrvl,clr-mfp-irq",
> +		if (!of_property_read_u32(node, "marvell,clr-mfp-irq",
>  					  &mfp_irq)) {
>  			icu_data[i].clr_mfp_irq_base = irq_base;
>  			icu_data[i].clr_mfp_hwirq = mfp_irq;
> @@ -424,9 +424,9 @@ void __init mmp_dt_irq_init(void)
>  	of_id = of_match_node(intc_ids, node);
>  	conf = of_id->data;
>  
> -	ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs);
> +	ret = of_property_read_u32(node, "marvell,intc-nr-irqs", &nr_irqs);
>  	if (ret) {
> -		pr_err("Not found mrvl,intc-nr-irqs property\n");
> +		pr_err("Not found marvell,intc-nr-irqs property\n");
>  		return;
>  	}
>  
> diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
> index b37915d..62c5adb 100644
> --- a/arch/arm/mach-mmp/mmp-dt.c
> +++ b/arch/arm/mach-mmp/mmp-dt.c
> @@ -23,24 +23,24 @@ extern void __init mmp_dt_irq_init(void);
>  extern void __init mmp_dt_init_timer(void);
>  
>  static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
>  	{}
>  };
>  
>  static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
>  	{}
>  };
>  
> @@ -57,8 +57,8 @@ static void __init pxa910_dt_init(void)
>  }
>  
>  static const char *mmp_dt_board_compat[] __initdata = {
> -	"mrvl,pxa168-aspenite",
> -	"mrvl,pxa910-dkb",
> +	"marvell,pxa168-aspenite",
> +	"marvell,pxa910-dkb",
>  	NULL,
>  };
>  
> diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
> index 4ac2567..6523ecf 100644
> --- a/arch/arm/mach-mmp/mmp2-dt.c
> +++ b/arch/arm/mach-mmp/mmp2-dt.c
> @@ -25,14 +25,14 @@ extern void __init mmp_dt_irq_init(void);
>  extern void __init mmp_dt_init_timer(void);
>  
>  static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
>  	{}
>  };
>  
> @@ -43,7 +43,7 @@ static void __init mmp2_dt_init(void)
>  }
>  
>  static const char *mmp2_dt_board_compat[] __initdata = {
> -	"mrvl,mmp2-brownstone",
> +	"marvell,mmp2-brownstone",
>  	NULL,
>  };
>  
> diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
> index 7ac41e8..67e7d5c 100644
> --- a/arch/arm/mach-mmp/time.c
> +++ b/arch/arm/mach-mmp/time.c
> @@ -208,7 +208,7 @@ void __init timer_init(int irq)
>  
>  #ifdef CONFIG_OF
>  static struct of_device_id mmp_timer_dt_ids[] = {
> -	{ .compatible = "mrvl,mmp-timer", },
> +	{ .compatible = "marvell,mmp-timer", },
>  	{}
>  };
>  
> diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c
> index 3835979..b679367 100644
> --- a/arch/arm/mach-pxa/pxa-dt.c
> +++ b/arch/arm/mach-pxa/pxa-dt.c
> @@ -23,15 +23,15 @@
>  extern void __init pxa3xx_dt_init_irq(void);
>  
>  static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40100000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40200000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40700000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x41600000, "pxa2xx-uart.3", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40100000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40200000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40700000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x41600000, "pxa2xx-uart.3", NULL),
>  	OF_DEV_AUXDATA("marvell,pxa-mmc",	0x41100000, "pxa2xx-mci.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-gpio",		0x40e00000, "pxa-gpio", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-gpio",	0x40e00000, "pxa-gpio", NULL),
>  	OF_DEV_AUXDATA("marvell,pxa-ohci",	0x4c000000, "pxa27x-ohci", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-i2c",		0x40301680, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,pwri2c",		0x40f500c0, "pxa3xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-i2c",	0x40301680, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,pwri2c",	0x40f500c0, "pxa3xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,pxa3xx-nand",	0x43100000, "pxa3xx-nand", NULL),
>  	{}
>  };
> diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
> index fbafed2..6f2b17d 100644
> --- a/drivers/i2c/busses/i2c-pxa.c
> +++ b/drivers/i2c/busses/i2c-pxa.c
> @@ -1040,9 +1040,9 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
>  };
>  
>  static struct of_device_id i2c_pxa_dt_ids[] = {
> -	{ .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
> -	{ .compatible = "mrvl,pwri2c", .data = (void *)REGS_PXA3XX },
> -	{ .compatible = "mrvl,mmp-twsi", .data = (void *)REGS_PXA2XX },
> +	{ .compatible = "marvell,pxa-i2c", .data = (void *)REGS_PXA2XX },
> +	{ .compatible = "marvell,pwri2c", .data = (void *)REGS_PXA3XX },
> +	{ .compatible = "marvell,mmp-twsi", .data = (void *)REGS_PXA2XX },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, i2c_pxa_dt_ids);
> @@ -1060,9 +1060,9 @@ static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
>  	/* For device tree we always use the dynamic or alias-assigned ID */
>  	i2c->adap.nr = -1;
>  
> -	if (of_get_property(np, "mrvl,i2c-polling", NULL))
> +	if (of_get_property(np, "marvell,i2c-polling", NULL))
>  		i2c->use_pio = 1;
> -	if (of_get_property(np, "mrvl,i2c-fast-mode", NULL))
> +	if (of_get_property(np, "marvell,i2c-fast-mode", NULL))
>  		i2c->fast_mode = 1;
>  	*i2c_types = (u32)(of_id->data);
>  	return 0;
> diff --git a/drivers/mmc/host/sdhci-pxav2.c b/drivers/mmc/host/sdhci-pxav2.c
> index 6a3f702..1dd6500 100644
> --- a/drivers/mmc/host/sdhci-pxav2.c
> +++ b/drivers/mmc/host/sdhci-pxav2.c
> @@ -120,7 +120,7 @@ static const struct sdhci_ops pxav2_sdhci_ops = {
>  #ifdef CONFIG_OF
>  static const struct of_device_id sdhci_pxav2_of_match[] = {
>  	{
> -		.compatible = "mrvl,pxav2-mmc",
> +		.compatible = "marvell,pxav2-mmc",
>  	},
>  	{},
>  };
> @@ -144,7 +144,7 @@ static struct sdhci_pxa_platdata *pxav2_get_mmc_pdata(struct device *dev)
>  	if (bus_width == 8)
>  		pdata->flags |= PXA_FLAG_SD_8_BIT_CAPABLE_SLOT;
>  
> -	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> +	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
>  	if (clk_delay_cycles > 0) {
>  		pdata->clk_delay_sel = 1;
>  		pdata->clk_delay_cycles = clk_delay_cycles;
> diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
> index 1ae358e..a88974b 100644
> --- a/drivers/mmc/host/sdhci-pxav3.c
> +++ b/drivers/mmc/host/sdhci-pxav3.c
> @@ -185,7 +185,7 @@ static struct sdhci_pltfm_data sdhci_pxav3_pdata = {
>  #ifdef CONFIG_OF
>  static const struct of_device_id sdhci_pxav3_of_match[] = {
>  	{
> -		.compatible = "mrvl,pxav3-mmc",
> +		.compatible = "marvell,pxav3-mmc",
>  	},
>  	{},
>  };
> @@ -201,7 +201,7 @@ static struct sdhci_pxa_platdata *pxav3_get_mmc_pdata(struct device *dev)
>  	if (!pdata)
>  		return NULL;
>  
> -	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> +	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
>  	if (clk_delay_cycles > 0)
>  		pdata->clk_delay_cycles = clk_delay_cycles;
>  
> diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
> index 0f7adeb..307dd37 100644
> --- a/drivers/rtc/rtc-sa1100.c
> +++ b/drivers/rtc/rtc-sa1100.c
> @@ -339,8 +339,8 @@ static SIMPLE_DEV_PM_OPS(sa1100_rtc_pm_ops, sa1100_rtc_suspend,
>  
>  #ifdef CONFIG_OF
>  static struct of_device_id sa1100_rtc_dt_ids[] = {
> -	{ .compatible = "mrvl,sa1100-rtc", },
> -	{ .compatible = "mrvl,mmp-rtc", },
> +	{ .compatible = "marvell,sa1100-rtc", },
> +	{ .compatible = "marvell,mmp-rtc", },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, sa1100_rtc_dt_ids);
> diff --git a/drivers/tty/serial/pxa.c b/drivers/tty/serial/pxa.c
> index 05f504e..cb1a439 100644
> --- a/drivers/tty/serial/pxa.c
> +++ b/drivers/tty/serial/pxa.c
> @@ -852,8 +852,8 @@ static const struct dev_pm_ops serial_pxa_pm_ops = {
>  #endif
>  
>  static struct of_device_id serial_pxa_dt_ids[] = {
> -	{ .compatible = "mrvl,pxa-uart", },
> -	{ .compatible = "mrvl,mmp-uart", },
> +	{ .compatible = "marvell,pxa-uart", },
> +	{ .compatible = "marvell,mmp-uart", },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, serial_pxa_dt_ids);
> -- 
> 1.7.4.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-09 12:49     ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-09 12:49 UTC (permalink / raw)
  To: linux-arm-kernel

Neil,

On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> let's change it.
> 
> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> ---
>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>  arch/arm/mach-mmp/time.c                           |    2 +-
>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>  drivers/tty/serial/pxa.c                           |    4 +-
>  25 files changed, 144 insertions(+), 143 deletions(-)

I agree with the need to change, however, this has been in the binding
documentation since v3.5.  I wish we had caught this when we decided
against using stock ticker symbols (not all stock markets use
alphabetical abbreviated names, not all companies are listed on any
stock exchange).

To do this properly, the drivers are going to have to be compatible with
the old and the new names, and the binding docs updated to reflect the
legacy name and the preferred name.

thx,

Jason.

> diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> index 8b53273..ad27548 100644
> --- a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> +++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> @@ -1,8 +1,8 @@
>  * Marvell MMP Interrupt controller
>  
>  Required properties:
> -- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
> -  "mrvl,mmp2-mux-intc"
> +- compatible : Should be "marvell,mmp-intc", "marvell,mmp2-intc" or
> +  "marvell,mmp2-mux-intc"
>  - reg : Address and length of the register set of the interrupt controller.
>    If the interrupt controller is intc, address and length means the range
>    of the whold interrupt controller. If the interrupt controller is mux-intc,
> @@ -15,28 +15,28 @@ Required properties:
>  - interrupt-controller : Identifies the node as an interrupt controller.
>  - #interrupt-cells : Specifies the number of cells needed to encode an
>    interrupt source.
> -- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
> +- marvell,intc-nr-irqs : Specifies the number of interrupts in the interrupt
>    controller.
> -- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
> +- marvell,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
>    detection first.
>  
>  Example:
>  	intc: interrupt-controller at d4282000 {
> -		compatible = "mrvl,mmp2-intc";
> +		compatible = "marvell,mmp2-intc";
>  		interrupt-controller;
>  		#interrupt-cells = <1>;
>  		reg = <0xd4282000 0x1000>;
> -		mrvl,intc-nr-irqs = <64>;
> +		marvell,intc-nr-irqs = <64>;
>  	};
>  
>  	intcmux4 at d4282150 {
> -		compatible = "mrvl,mmp2-mux-intc";
> +		compatible = "marvell,mmp2-mux-intc";
>  		interrupts = <4>;
>  		interrupt-controller;
>  		#interrupt-cells = <1>;
>  		reg = <0x150 0x4>, <0x168 0x4>;
>  		reg-names = "mux status", "mux mask";
> -		mrvl,intc-nr-irqs = <2>;
> +		marvell,intc-nr-irqs = <2>;
>  	};
>  
>  * Marvell Orion Interrupt controller
> diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> index 117d741..87f1d42 100644
> --- a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> +++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> @@ -3,12 +3,12 @@ Marvell Platforms Device Tree Bindings
>  
>  PXA168 Aspenite Board
>  Required root node properties:
> -	- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> +	- compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
>  
>  PXA910 DKB Board
>  Required root node properties:
> -	- compatible = "mrvl,pxa910-dkb";
> +	- compatible = "marvell,pxa910-dkb";
>  
>  MMP2 Brownstone Board
>  Required root node properties:
> -	- compatible = "mrvl,mmp2-brownstone";
> +	- compatible = "marvell,mmp2-brownstone";
> diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> index 9a6e251..1304526 100644
> --- a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> +++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> @@ -1,13 +1,13 @@
>  * Marvell MMP Timer controller
>  
>  Required properties:
> -- compatible : Should be "mrvl,mmp-timer".
> +- compatible : Should be "marvell,mmp-timer".
>  - reg : Address and length of the register set of timer controller.
>  - interrupts : Should be the interrupt number.
>  
>  Example:
>  	timer0: timer at d4014000 {
> -		compatible = "mrvl,mmp-timer";
> +		compatible = "marvell,mmp-timer";
>  		reg = <0xd4014000 0x100>;
>  		interrupts = <13>;
>  	};
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> index 12b78ac..34fdf5d 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> +++ b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> @@ -3,9 +3,9 @@
>  Required properties :
>  
>   - reg : Offset and length of the register set for the device
> - - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
> + - compatible : should be "marvell,mmp-twsi" where mmp is the name of a
>     compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
> -   For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
> +   For the pxa2xx/pxa3xx, an additional node "marvell,pxa-i2c" is required
>     as shown in the example below.
>  
>  Recommended properties :
> @@ -14,20 +14,20 @@ Recommended properties :
>   - interrupt-parent : the phandle for the interrupt controller that
>     services interrupts for this device. If the parent is the default
>     interrupt controller in device tree, it could be ignored.
> - - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
> + - marvell,i2c-polling : Disable interrupt of i2c controller. Polling
>     status register of i2c controller instead.
> - - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
> + - marvell,i2c-fast-mode : Enable fast mode of i2c controller.
>  
>  Examples:
>  	twsi1: i2c at d4011000 {
> -		compatible = "mrvl,mmp-twsi";
> +		compatible = "marvell,mmp-twsi";
>  		reg = <0xd4011000 0x1000>;
>  		interrupts = <7>;
> -		mrvl,i2c-fast-mode;
> +		marvell,i2c-fast-mode;
>  	};
>  	
>  	twsi2: i2c at d4025000 {
> -		compatible = "mrvl,mmp-twsi";
> +		compatible = "marvell,mmp-twsi";
>  		reg = <0xd4025000 0x1000>;
>  		interrupts = <58>;
>  	};
> diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> index dbe98a3..d603a3e 100644
> --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> @@ -4,18 +4,18 @@ This file documents differences between the core properties in mmc.txt
>  and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers.
>  
>  Required properties:
> -- compatible: Should be "mrvl,pxav2-mmc" or "mrvl,pxav3-mmc".
> +- compatible: Should be "marvell,pxav2-mmc" or "marvell,pxav3-mmc".
>  
>  Optional properties:
> -- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
> +- marvell,clk-delay-cycles: Specify a number of cycles to delay for tuning.
>  
>  Example:
>  
>  sdhci at d4280800 {
> -	compatible = "mrvl,pxav3-mmc";
> +	compatible = "marvell,pxav3-mmc";
>  	reg = <0xd4280800 0x800>;
>  	bus-width = <8>;
>  	interrupts = <27>;
>  	non-removable;
> -	mrvl,clk-delay-cycles = <31>;
> +	marvell,clk-delay-cycles = <31>;
>  };
> diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> index 0cda19a..886fe15 100644
> --- a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> +++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> @@ -1,7 +1,7 @@
>  * Marvell Real Time Clock controller
>  
>  Required properties:
> -- compatible: should be "mrvl,sa1100-rtc"
> +- compatible: should be "marvell,sa1100-rtc"
>  - reg: physical base address of the controller and length of memory mapped
>    region.
>  - interrupts: Should be two. The first interrupt number is the rtc alarm
> @@ -10,7 +10,7 @@ Required properties:
>  
>  Example:
>  	rtc: rtc at d4010000 {
> -		compatible = "mrvl,mmp-rtc";
> +		compatible = "marvell,mmp-rtc";
>  		reg = <0xd4010000 0x1000>;
>  		interrupts = <5>, <6>;
>  		interrupt-name = "rtc 1Hz", "rtc alarm";
> diff --git a/Documentation/devicetree/bindings/serial/mrvl-serial.txt b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> index d744340..659d35e 100644
> --- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> +++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> @@ -1,4 +1,4 @@
>  PXA UART controller
>  
>  Required properties:
> -- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
> +- compatible : should be "marvell,mmp-uart" or "marvell,pxa-uart".
> diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts
> index 7f70a39..26abfde 100644
> --- a/arch/arm/boot/dts/mmp2-brownstone.dts
> +++ b/arch/arm/boot/dts/mmp2-brownstone.dts
> @@ -12,7 +12,7 @@
>  
>  / {
>  	model = "Marvell MMP2 Brownstone Development Board";
> -	compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
> +	compatible = "marvell,mmp2-brownstone", "marvell,mmp2";
>  
>  	chosen {
>  		bootargs = "console=ttyS2,38400 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
> index 4e8b08c..ac13654 100644
> --- a/arch/arm/boot/dts/mmp2.dtsi
> +++ b/arch/arm/boot/dts/mmp2.dtsi
> @@ -32,128 +32,128 @@
>  		};
>  
>  		axi at d4200000 {	/* AXI */
> -			compatible = "mrvl,axi-bus", "simple-bus";
> +			compatible = "marvell,axi-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4200000 0x00200000>;
>  			ranges;
>  
>  			intc: interrupt-controller at d4282000 {
> -				compatible = "mrvl,mmp2-intc";
> +				compatible = "marvell,mmp2-intc";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0xd4282000 0x1000>;
> -				mrvl,intc-nr-irqs = <64>;
> +				marvell,intc-nr-irqs = <64>;
>  			};
>  
>  			intcmux4: interrupt-controller at d4282150 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <4>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x150 0x4>, <0x168 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> +				marvell,intc-nr-irqs = <2>;
>  			};
>  
>  			intcmux5: interrupt-controller at d4282154 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <5>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x154 0x4>, <0x16c 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> -				mrvl,clr-mfp-irq = <1>;
> +				marvell,intc-nr-irqs = <2>;
> +				marvell,clr-mfp-irq = <1>;
>  			};
>  
>  			intcmux9: interrupt-controller at d4282180 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <9>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x180 0x4>, <0x17c 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <3>;
> +				marvell,intc-nr-irqs = <3>;
>  			};
>  
>  			intcmux17: interrupt-controller at d4282158 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <17>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x158 0x4>, <0x170 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <5>;
> +				marvell,intc-nr-irqs = <5>;
>  			};
>  
>  			intcmux35: interrupt-controller at d428215c {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <35>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x15c 0x4>, <0x174 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <15>;
> +				marvell,intc-nr-irqs = <15>;
>  			};
>  
>  			intcmux51: interrupt-controller at d4282160 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <51>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x160 0x4>, <0x178 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> +				marvell,intc-nr-irqs = <2>;
>  			};
>  
>  			intcmux55: interrupt-controller at d4282188 {
> -				compatible = "mrvl,mmp2-mux-intc";
> +				compatible = "marvell,mmp2-mux-intc";
>  				interrupts = <55>;
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0x188 0x4>, <0x184 0x4>;
>  				reg-names = "mux status", "mux mask";
> -				mrvl,intc-nr-irqs = <2>;
> +				marvell,intc-nr-irqs = <2>;
>  			};
>  		};
>  
>  		apb at d4000000 {	/* APB */
> -			compatible = "mrvl,apb-bus", "simple-bus";
> +			compatible = "marvell,apb-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4000000 0x00200000>;
>  			ranges;
>  
>  			timer0: timer at d4014000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4014000 0x100>;
>  				interrupts = <13>;
>  			};
>  
>  			uart1: uart at d4030000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4030000 0x1000>;
>  				interrupts = <27>;
>  				status = "disabled";
>  			};
>  
>  			uart2: uart at d4017000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4017000 0x1000>;
>  				interrupts = <28>;
>  				status = "disabled";
>  			};
>  
>  			uart3: uart at d4018000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4018000 0x1000>;
>  				interrupts = <24>;
>  				status = "disabled";
>  			};
>  
>  			uart4: uart at d4016000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4016000 0x1000>;
>  				interrupts = <46>;
>  				status = "disabled";
> @@ -198,24 +198,24 @@
>  			};
>  
>  			twsi1: i2c at d4011000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4011000 0x1000>;
>  				interrupts = <7>;
>  				#address-cells = <1>;
>  				#size-cells = <0>;
> -				mrvl,i2c-fast-mode;
> +				marvell,i2c-fast-mode;
>  				status = "disabled";
>  			};
>  
>  			twsi2: i2c at d4025000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4025000 0x1000>;
>  				interrupts = <58>;
>  				status = "disabled";
>  			};
>  
>  			rtc: rtc at d4010000 {
> -				compatible = "mrvl,mmp-rtc";
> +				compatible = "marvell,mmp-rtc";
>  				reg = <0xd4010000 0x1000>;
>  				interrupts = <1 0>;
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
> diff --git a/arch/arm/boot/dts/pxa168-aspenite.dts b/arch/arm/boot/dts/pxa168-aspenite.dts
> index e762fac..1e2ac17 100644
> --- a/arch/arm/boot/dts/pxa168-aspenite.dts
> +++ b/arch/arm/boot/dts/pxa168-aspenite.dts
> @@ -12,7 +12,7 @@
>  
>  / {
>  	model = "Marvell PXA168 Aspenite Development Board";
> -	compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> +	compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
>  
>  	chosen {
>  		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi
> index 975dad2..c08f5fc 100644
> --- a/arch/arm/boot/dts/pxa168.dtsi
> +++ b/arch/arm/boot/dts/pxa168.dtsi
> @@ -26,51 +26,51 @@
>  		ranges;
>  
>  		axi at d4200000 {	/* AXI */
> -			compatible = "mrvl,axi-bus", "simple-bus";
> +			compatible = "marvell,axi-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4200000 0x00200000>;
>  			ranges;
>  
>  			intc: interrupt-controller at d4282000 {
> -				compatible = "mrvl,mmp-intc";
> +				compatible = "marvell,mmp-intc";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0xd4282000 0x1000>;
> -				mrvl,intc-nr-irqs = <64>;
> +				marvell,intc-nr-irqs = <64>;
>  			};
>  
>  		};
>  
>  		apb at d4000000 {	/* APB */
> -			compatible = "mrvl,apb-bus", "simple-bus";
> +			compatible = "marvell,apb-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4000000 0x00200000>;
>  			ranges;
>  
>  			timer0: timer at d4014000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4014000 0x100>;
>  				interrupts = <13>;
>  			};
>  
>  			uart1: uart at d4017000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4017000 0x1000>;
>  				interrupts = <27>;
>  				status = "disabled";
>  			};
>  
>  			uart2: uart at d4018000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4018000 0x1000>;
>  				interrupts = <28>;
>  				status = "disabled";
>  			};
>  
>  			uart3: uart at d4026000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4026000 0x1000>;
>  				interrupts = <29>;
>  				status = "disabled";
> @@ -107,22 +107,22 @@
>  			};
>  
>  			twsi1: i2c at d4011000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4011000 0x1000>;
>  				interrupts = <7>;
> -				mrvl,i2c-fast-mode;
> +				marvell,i2c-fast-mode;
>  				status = "disabled";
>  			};
>  
>  			twsi2: i2c at d4025000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				reg = <0xd4025000 0x1000>;
>  				interrupts = <58>;
>  				status = "disabled";
>  			};
>  
>  			rtc: rtc at d4010000 {
> -				compatible = "mrvl,mmp-rtc";
> +				compatible = "marvell,mmp-rtc";
>  				reg = <0xd4010000 0x1000>;
>  				interrupts = <5 6>;
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
> diff --git a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi
> index a5e90f0..c426b1e 100644
> --- a/arch/arm/boot/dts/pxa2xx.dtsi
> +++ b/arch/arm/boot/dts/pxa2xx.dtsi
> @@ -47,7 +47,7 @@
>  		};
>  
>  		gpio: gpio at 40e00000 {
> -			compatible = "mrvl,pxa-gpio";
> +			compatible = "marvell,pxa-gpio";
>  			#address-cells = <0x1>;
>  			#size-cells = <0x1>;
>  			reg = <0x40e00000 0x10000>;
> @@ -76,35 +76,35 @@
>  		};
>  
>  		ffuart: uart at 40100000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x40100000 0x30>;
>  			interrupts = <22>;
>  			status = "disabled";
>  		};
>  
>  		btuart: uart at 40200000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x40200000 0x30>;
>  			interrupts = <21>;
>  			status = "disabled";
>  		};
>  
>  		stuart: uart at 40700000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x40700000 0x30>;
>  			interrupts = <20>;
>  			status = "disabled";
>  		};
>  
>  		hwuart: uart at 41100000 {
> -			compatible = "mrvl,pxa-uart";
> +			compatible = "marvell,pxa-uart";
>  			reg = <0x41100000 0x30>;
>  			interrupts = <7>;
>  			status = "disabled";
>  		};
>  
>  		pxai2c1: i2c at 40301680 {
> -			compatible = "mrvl,pxa-i2c";
> +			compatible = "marvell,pxa-i2c";
>  			reg = <0x40301680 0x30>;
>  			interrupts = <18>;
>  			#address-cells = <0x1>;
> @@ -113,14 +113,14 @@
>  		};
>  
>  		usb0: ohci at 4c000000 {
> -			compatible = "mrvl,pxa-ohci";
> +			compatible = "marvell,pxa-ohci";
>  			reg = <0x4c000000 0x10000>;
>  			interrupts = <3>;
>  			status = "disabled";
>  		};
>  
>  		mmc0: mmc at 41100000 {
> -			compatible = "mrvl,pxa-mmc";
> +			compatible = "marvell,pxa-mmc";
>  			reg = <0x41100000 0x1000>;
>  			interrupts = <23>;
>  			status = "disabled";
> diff --git a/arch/arm/boot/dts/pxa3xx.dtsi b/arch/arm/boot/dts/pxa3xx.dtsi
> index f9d92da..0798031 100644
> --- a/arch/arm/boot/dts/pxa3xx.dtsi
> +++ b/arch/arm/boot/dts/pxa3xx.dtsi
> @@ -7,7 +7,7 @@
>  
>  	pxabus {
>  		pwri2c: i2c at 40f500c0 {
> -			compatible = "mrvl,pwri2c";
> +			compatible = "marvell,pwri2c";
>  			reg = <0x40f500c0 0x30>;
>  			interrupts = <6>;
>  			#address-cells = <0x1>;
> diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts
> index 595492a..7384254 100644
> --- a/arch/arm/boot/dts/pxa910-dkb.dts
> +++ b/arch/arm/boot/dts/pxa910-dkb.dts
> @@ -12,7 +12,7 @@
>  
>  / {
>  	model = "Marvell PXA910 DKB Development Board";
> -	compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
> +	compatible = "marvell,pxa910-dkb", "marvell,pxa910";
>  
>  	chosen {
>  		bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
> index 0247c62..b5594a0 100644
> --- a/arch/arm/boot/dts/pxa910.dtsi
> +++ b/arch/arm/boot/dts/pxa910.dtsi
> @@ -31,58 +31,59 @@
>  		};
>  
>  		axi at d4200000 {	/* AXI */
> -			compatible = "mrvl,axi-bus", "simple-bus";
> +			compatible = "marvell,axi-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4200000 0x00200000>;
>  			ranges;
>  
>  			intc: interrupt-controller at d4282000 {
> -				compatible = "mrvl,mmp-intc";
> +				compatible = "marvell,mmp-intc";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
>  				reg = <0xd4282000 0x1000>;
> -				mrvl,intc-nr-irqs = <64>;
> +				marvell,intc-nr-irqs = <64>;
> +
>  			};
>  
>  		};
>  
>  		apb at d4000000 {	/* APB */
> -			compatible = "mrvl,apb-bus", "simple-bus";
> +			compatible = "marvell,apb-bus", "simple-bus";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			reg = <0xd4000000 0x00200000>;
>  			ranges;
>  
>  			timer0: timer at d4014000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4014000 0x100>;
>  				interrupts = <13>;
>  			};
>  
>  			timer1: timer at d4016000 {
> -				compatible = "mrvl,mmp-timer";
> +				compatible = "marvell,mmp-timer";
>  				reg = <0xd4016000 0x100>;
>  				interrupts = <29>;
>  				status = "disabled";
>  			};
>  
>  			uart1: uart at d4017000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4017000 0x1000>;
>  				interrupts = <27>;
>  				status = "disabled";
>  			};
>  
>  			uart2: uart at d4018000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4018000 0x1000>;
>  				interrupts = <28>;
>  				status = "disabled";
>  			};
>  
>  			uart3: uart at d4036000 {
> -				compatible = "mrvl,mmp-uart";
> +				compatible = "marvell,mmp-uart";
>  				reg = <0xd4036000 0x1000>;
>  				interrupts = <59>;
>  				status = "disabled";
> @@ -119,17 +120,17 @@
>  			};
>  
>  			twsi1: i2c at d4011000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				#address-cells = <1>;
>  				#size-cells = <0>;
>  				reg = <0xd4011000 0x1000>;
>  				interrupts = <7>;
> -				mrvl,i2c-fast-mode;
> +				marvell,i2c-fast-mode;
>  				status = "disabled";
>  			};
>  
>  			twsi2: i2c at d4037000 {
> -				compatible = "mrvl,mmp-twsi";
> +				compatible = "marvell,mmp-twsi";
>  				#address-cells = <1>;
>  				#size-cells = <0>;
>  				reg = <0xd4037000 0x1000>;
> @@ -138,7 +139,7 @@
>  			};
>  
>  			rtc: rtc at d4010000 {
> -				compatible = "mrvl,mmp-rtc";
> +				compatible = "marvell,mmp-rtc";
>  				reg = <0xd4010000 0x1000>;
>  				interrupts = <5 6>;
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
> diff --git a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c
> index 3c71246..a7a53611 100644
> --- a/arch/arm/mach-mmp/irq.c
> +++ b/arch/arm/mach-mmp/irq.c
> @@ -327,13 +327,13 @@ void __init mmp2_init_icu(void)
>  
>  #ifdef CONFIG_OF
>  static const struct of_device_id intc_ids[] __initconst = {
> -	{ .compatible = "mrvl,mmp-intc", .data = &mmp_conf },
> -	{ .compatible = "mrvl,mmp2-intc", .data = &mmp2_conf },
> +	{ .compatible = "marvell,mmp-intc", .data = &mmp_conf },
> +	{ .compatible = "marvell,mmp2-intc", .data = &mmp2_conf },
>  	{}
>  };
>  
>  static const struct of_device_id mmp_mux_irq_match[] __initconst = {
> -	{ .compatible = "mrvl,mmp2-mux-intc" },
> +	{ .compatible = "marvell,mmp2-mux-intc" },
>  	{}
>  };
>  
> @@ -352,10 +352,10 @@ int __init mmp2_mux_init(struct device_node *parent)
>  		if (!node)
>  			break;
>  		of_id = of_match_node(&mmp_mux_irq_match[0], node);
> -		ret = of_property_read_u32(node, "mrvl,intc-nr-irqs",
> +		ret = of_property_read_u32(node, "marvell,intc-nr-irqs",
>  					   &nr_irqs);
>  		if (ret) {
> -			pr_err("Not found mrvl,intc-nr-irqs property\n");
> +			pr_err("Not found marvell,intc-nr-irqs property\n");
>  			ret = -EINVAL;
>  			goto err;
>  		}
> @@ -385,7 +385,7 @@ int __init mmp2_mux_init(struct device_node *parent)
>  			ret = irq_base;
>  			goto err;
>  		}
> -		if (!of_property_read_u32(node, "mrvl,clr-mfp-irq",
> +		if (!of_property_read_u32(node, "marvell,clr-mfp-irq",
>  					  &mfp_irq)) {
>  			icu_data[i].clr_mfp_irq_base = irq_base;
>  			icu_data[i].clr_mfp_hwirq = mfp_irq;
> @@ -424,9 +424,9 @@ void __init mmp_dt_irq_init(void)
>  	of_id = of_match_node(intc_ids, node);
>  	conf = of_id->data;
>  
> -	ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs);
> +	ret = of_property_read_u32(node, "marvell,intc-nr-irqs", &nr_irqs);
>  	if (ret) {
> -		pr_err("Not found mrvl,intc-nr-irqs property\n");
> +		pr_err("Not found marvell,intc-nr-irqs property\n");
>  		return;
>  	}
>  
> diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
> index b37915d..62c5adb 100644
> --- a/arch/arm/mach-mmp/mmp-dt.c
> +++ b/arch/arm/mach-mmp/mmp-dt.c
> @@ -23,24 +23,24 @@ extern void __init mmp_dt_irq_init(void);
>  extern void __init mmp_dt_init_timer(void);
>  
>  static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
>  	{}
>  };
>  
>  static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
>  	{}
>  };
>  
> @@ -57,8 +57,8 @@ static void __init pxa910_dt_init(void)
>  }
>  
>  static const char *mmp_dt_board_compat[] __initdata = {
> -	"mrvl,pxa168-aspenite",
> -	"mrvl,pxa910-dkb",
> +	"marvell,pxa168-aspenite",
> +	"marvell,pxa910-dkb",
>  	NULL,
>  };
>  
> diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
> index 4ac2567..6523ecf 100644
> --- a/arch/arm/mach-mmp/mmp2-dt.c
> +++ b/arch/arm/mach-mmp/mmp2-dt.c
> @@ -25,14 +25,14 @@ extern void __init mmp_dt_irq_init(void);
>  extern void __init mmp_dt_init_timer(void);
>  
>  static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio", NULL),
> -	OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> +	OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
>  	{}
>  };
>  
> @@ -43,7 +43,7 @@ static void __init mmp2_dt_init(void)
>  }
>  
>  static const char *mmp2_dt_board_compat[] __initdata = {
> -	"mrvl,mmp2-brownstone",
> +	"marvell,mmp2-brownstone",
>  	NULL,
>  };
>  
> diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
> index 7ac41e8..67e7d5c 100644
> --- a/arch/arm/mach-mmp/time.c
> +++ b/arch/arm/mach-mmp/time.c
> @@ -208,7 +208,7 @@ void __init timer_init(int irq)
>  
>  #ifdef CONFIG_OF
>  static struct of_device_id mmp_timer_dt_ids[] = {
> -	{ .compatible = "mrvl,mmp-timer", },
> +	{ .compatible = "marvell,mmp-timer", },
>  	{}
>  };
>  
> diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c
> index 3835979..b679367 100644
> --- a/arch/arm/mach-pxa/pxa-dt.c
> +++ b/arch/arm/mach-pxa/pxa-dt.c
> @@ -23,15 +23,15 @@
>  extern void __init pxa3xx_dt_init_irq(void);
>  
>  static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst = {
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40100000, "pxa2xx-uart.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40200000, "pxa2xx-uart.1", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x40700000, "pxa2xx-uart.2", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-uart",		0x41600000, "pxa2xx-uart.3", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40100000, "pxa2xx-uart.0", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40200000, "pxa2xx-uart.1", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x40700000, "pxa2xx-uart.2", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-uart",	0x41600000, "pxa2xx-uart.3", NULL),
>  	OF_DEV_AUXDATA("marvell,pxa-mmc",	0x41100000, "pxa2xx-mci.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-gpio",		0x40e00000, "pxa-gpio", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-gpio",	0x40e00000, "pxa-gpio", NULL),
>  	OF_DEV_AUXDATA("marvell,pxa-ohci",	0x4c000000, "pxa27x-ohci", NULL),
> -	OF_DEV_AUXDATA("mrvl,pxa-i2c",		0x40301680, "pxa2xx-i2c.0", NULL),
> -	OF_DEV_AUXDATA("mrvl,pwri2c",		0x40f500c0, "pxa3xx-i2c.1", NULL),
> +	OF_DEV_AUXDATA("marvell,pxa-i2c",	0x40301680, "pxa2xx-i2c.0", NULL),
> +	OF_DEV_AUXDATA("marvell,pwri2c",	0x40f500c0, "pxa3xx-i2c.1", NULL),
>  	OF_DEV_AUXDATA("marvell,pxa3xx-nand",	0x43100000, "pxa3xx-nand", NULL),
>  	{}
>  };
> diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
> index fbafed2..6f2b17d 100644
> --- a/drivers/i2c/busses/i2c-pxa.c
> +++ b/drivers/i2c/busses/i2c-pxa.c
> @@ -1040,9 +1040,9 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
>  };
>  
>  static struct of_device_id i2c_pxa_dt_ids[] = {
> -	{ .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
> -	{ .compatible = "mrvl,pwri2c", .data = (void *)REGS_PXA3XX },
> -	{ .compatible = "mrvl,mmp-twsi", .data = (void *)REGS_PXA2XX },
> +	{ .compatible = "marvell,pxa-i2c", .data = (void *)REGS_PXA2XX },
> +	{ .compatible = "marvell,pwri2c", .data = (void *)REGS_PXA3XX },
> +	{ .compatible = "marvell,mmp-twsi", .data = (void *)REGS_PXA2XX },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, i2c_pxa_dt_ids);
> @@ -1060,9 +1060,9 @@ static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
>  	/* For device tree we always use the dynamic or alias-assigned ID */
>  	i2c->adap.nr = -1;
>  
> -	if (of_get_property(np, "mrvl,i2c-polling", NULL))
> +	if (of_get_property(np, "marvell,i2c-polling", NULL))
>  		i2c->use_pio = 1;
> -	if (of_get_property(np, "mrvl,i2c-fast-mode", NULL))
> +	if (of_get_property(np, "marvell,i2c-fast-mode", NULL))
>  		i2c->fast_mode = 1;
>  	*i2c_types = (u32)(of_id->data);
>  	return 0;
> diff --git a/drivers/mmc/host/sdhci-pxav2.c b/drivers/mmc/host/sdhci-pxav2.c
> index 6a3f702..1dd6500 100644
> --- a/drivers/mmc/host/sdhci-pxav2.c
> +++ b/drivers/mmc/host/sdhci-pxav2.c
> @@ -120,7 +120,7 @@ static const struct sdhci_ops pxav2_sdhci_ops = {
>  #ifdef CONFIG_OF
>  static const struct of_device_id sdhci_pxav2_of_match[] = {
>  	{
> -		.compatible = "mrvl,pxav2-mmc",
> +		.compatible = "marvell,pxav2-mmc",
>  	},
>  	{},
>  };
> @@ -144,7 +144,7 @@ static struct sdhci_pxa_platdata *pxav2_get_mmc_pdata(struct device *dev)
>  	if (bus_width == 8)
>  		pdata->flags |= PXA_FLAG_SD_8_BIT_CAPABLE_SLOT;
>  
> -	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> +	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
>  	if (clk_delay_cycles > 0) {
>  		pdata->clk_delay_sel = 1;
>  		pdata->clk_delay_cycles = clk_delay_cycles;
> diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
> index 1ae358e..a88974b 100644
> --- a/drivers/mmc/host/sdhci-pxav3.c
> +++ b/drivers/mmc/host/sdhci-pxav3.c
> @@ -185,7 +185,7 @@ static struct sdhci_pltfm_data sdhci_pxav3_pdata = {
>  #ifdef CONFIG_OF
>  static const struct of_device_id sdhci_pxav3_of_match[] = {
>  	{
> -		.compatible = "mrvl,pxav3-mmc",
> +		.compatible = "marvell,pxav3-mmc",
>  	},
>  	{},
>  };
> @@ -201,7 +201,7 @@ static struct sdhci_pxa_platdata *pxav3_get_mmc_pdata(struct device *dev)
>  	if (!pdata)
>  		return NULL;
>  
> -	of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> +	of_property_read_u32(np, "marvell,clk-delay-cycles", &clk_delay_cycles);
>  	if (clk_delay_cycles > 0)
>  		pdata->clk_delay_cycles = clk_delay_cycles;
>  
> diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
> index 0f7adeb..307dd37 100644
> --- a/drivers/rtc/rtc-sa1100.c
> +++ b/drivers/rtc/rtc-sa1100.c
> @@ -339,8 +339,8 @@ static SIMPLE_DEV_PM_OPS(sa1100_rtc_pm_ops, sa1100_rtc_suspend,
>  
>  #ifdef CONFIG_OF
>  static struct of_device_id sa1100_rtc_dt_ids[] = {
> -	{ .compatible = "mrvl,sa1100-rtc", },
> -	{ .compatible = "mrvl,mmp-rtc", },
> +	{ .compatible = "marvell,sa1100-rtc", },
> +	{ .compatible = "marvell,mmp-rtc", },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, sa1100_rtc_dt_ids);
> diff --git a/drivers/tty/serial/pxa.c b/drivers/tty/serial/pxa.c
> index 05f504e..cb1a439 100644
> --- a/drivers/tty/serial/pxa.c
> +++ b/drivers/tty/serial/pxa.c
> @@ -852,8 +852,8 @@ static const struct dev_pm_ops serial_pxa_pm_ops = {
>  #endif
>  
>  static struct of_device_id serial_pxa_dt_ids[] = {
> -	{ .compatible = "mrvl,pxa-uart", },
> -	{ .compatible = "mrvl,mmp-uart", },
> +	{ .compatible = "marvell,pxa-uart", },
> +	{ .compatible = "marvell,mmp-uart", },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, serial_pxa_dt_ids);
> -- 
> 1.7.4.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
  2013-07-09  6:42   ` Neil Zhang
  (?)
@ 2013-07-09 16:14     ` Thomas Petazzoni
  -1 siblings, 0 replies; 96+ messages in thread
From: Thomas Petazzoni @ 2013-07-09 16:14 UTC (permalink / raw)
  To: Neil Zhang
  Cc: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

Dear Neil Zhang,

On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
> support CLOCKSOURCE OF DECLARE for mmp timer.
> 
> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> ---
>  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
>  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
>  arch/arm/mach-mmp/time.c    |   15 ++-------------
>  3 files changed, 5 insertions(+), 18 deletions(-)

Maybe it would be good to take this opportunity to move
arch/arm/mach-mmp/time.c into drivers/clocksource/.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-09 16:14     ` Thomas Petazzoni
  0 siblings, 0 replies; 96+ messages in thread
From: Thomas Petazzoni @ 2013-07-09 16:14 UTC (permalink / raw)
  To: Neil Zhang
  Cc: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

Dear Neil Zhang,

On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
> support CLOCKSOURCE OF DECLARE for mmp timer.
> 
> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> ---
>  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
>  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
>  arch/arm/mach-mmp/time.c    |   15 ++-------------
>  3 files changed, 5 insertions(+), 18 deletions(-)

Maybe it would be good to take this opportunity to move
arch/arm/mach-mmp/time.c into drivers/clocksource/.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-09 16:14     ` Thomas Petazzoni
  0 siblings, 0 replies; 96+ messages in thread
From: Thomas Petazzoni @ 2013-07-09 16:14 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Neil Zhang,

On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
> support CLOCKSOURCE OF DECLARE for mmp timer.
> 
> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> ---
>  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
>  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
>  arch/arm/mach-mmp/time.c    |   15 ++-------------
>  3 files changed, 5 insertions(+), 18 deletions(-)

Maybe it would be good to take this opportunity to move
arch/arm/mach-mmp/time.c into drivers/clocksource/.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
  2013-07-09 16:14     ` Thomas Petazzoni
  (?)
@ 2013-07-09 21:16       ` Arnd Bergmann
  -1 siblings, 0 replies; 96+ messages in thread
From: Arnd Bergmann @ 2013-07-09 21:16 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Neil Zhang, grant.likely, haojian.zhuang, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Tuesday 09 July 2013, Thomas Petazzoni wrote:
> Dear Neil Zhang,
> 
> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
> > support CLOCKSOURCE OF DECLARE for mmp timer.
> > 
> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> > ---
> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
> >  3 files changed, 5 insertions(+), 18 deletions(-)
> 
> Maybe it would be good to take this opportunity to move
> arch/arm/mach-mmp/time.c into drivers/clocksource/.

+1

Or we might want to have a more coordinated move of all clocksource
drivers in arch/arm to drivers/clocksource now, as we have done for some
other subsystems.

	Arnd

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-09 21:16       ` Arnd Bergmann
  0 siblings, 0 replies; 96+ messages in thread
From: Arnd Bergmann @ 2013-07-09 21:16 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	grant.likely-QSEj5FYQhm4dnm+yROfE0A, Neil Zhang,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Tuesday 09 July 2013, Thomas Petazzoni wrote:
> Dear Neil Zhang,
> 
> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
> > support CLOCKSOURCE OF DECLARE for mmp timer.
> > 
> > Signed-off-by: Neil Zhang <zhangwm-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
> > ---
> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
> >  3 files changed, 5 insertions(+), 18 deletions(-)
> 
> Maybe it would be good to take this opportunity to move
> arch/arm/mach-mmp/time.c into drivers/clocksource/.

+1

Or we might want to have a more coordinated move of all clocksource
drivers in arch/arm to drivers/clocksource now, as we have done for some
other subsystems.

	Arnd

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-09 21:16       ` Arnd Bergmann
  0 siblings, 0 replies; 96+ messages in thread
From: Arnd Bergmann @ 2013-07-09 21:16 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 09 July 2013, Thomas Petazzoni wrote:
> Dear Neil Zhang,
> 
> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
> > support CLOCKSOURCE OF DECLARE for mmp timer.
> > 
> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> > ---
> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
> >  3 files changed, 5 insertions(+), 18 deletions(-)
> 
> Maybe it would be good to take this opportunity to move
> arch/arm/mach-mmp/time.c into drivers/clocksource/.

+1

Or we might want to have a more coordinated move of all clocksource
drivers in arch/arm to drivers/clocksource now, as we have done for some
other subsystems.

	Arnd

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support
  2013-07-09  6:42   ` Neil Zhang
@ 2013-07-09 22:05     ` Arnd Bergmann
  -1 siblings, 0 replies; 96+ messages in thread
From: Arnd Bergmann @ 2013-07-09 22:05 UTC (permalink / raw)
  To: Neil Zhang
  Cc: grant.likely, haojian.zhuang, devicetree-discuss, linux-kernel,
	linux-arm-kernel, Chao Xie

On Tuesday 09 July 2013, Neil Zhang wrote:
> +	soc {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		interrupt-parent = <&gic>;
> +		ranges;
> +
> +		gic: interrupt-controller@d1dfe100 {
> +			compatible = "arm,cortex-a9-gic";
> +			#interrupt-cells = <3>;
> +			#address-cells = <1>;
> +			interrupt-controller;
> +			reg = <0xd1dff000 0x1000>,
> +			      <0xd1dfe100 0x0100>;
> +		};
> +
> +		L2: l2-cache-controller@d1dfb000 {
> +			compatible = "arm,pl310-cache";
> +			reg = <0xd1dfb000 0x1000>;
> +			arm,data-latency = <2 1 1>;
> +			arm,tag-latency = <2 1 1>;
> +			arm,pwr-dynamic-clk-gating;
> +			arm,pwr-standby-mode;
> +			cache-unified;
> +			cache-level = <2>;
> +		};
> +
> +		local-timer@d1dfe600 {
> +			compatible = "arm,cortex-a9-twd-timer";
> +			reg = <0xd1dfe600 0x20>;
> +			interrupts = <1 13 0x304>;
> +		};
> +
> +		axi@d4200000 {	/* AXI */
> +			compatible = "simple-bus";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			ranges = <0xd4200000 0xd4200000 0x00200000>;
> +
> +			intc: wakeupgen@d4282000 {
> +				compatible = "marvell,mmp-intc";
> +				reg = <0xd4282000 0x1000>;
> +				marvell,intc-wakeup = <0x114 0x3
> +						    0x144 0x3>;
> +			};
> +		};

I am guessing that the structure does not actually reflect the hardware.

Shouldn't AXI be the top-level bus, with the other stuff under it?

> +
> +
> +			uart1: uart@d4017000 {
> +				compatible = "marvell,mmp-uart";
> +				reg = <0xd4017000 0x1000>;
> +				interrupts = <0 27 0x4>;
> +				status = "disabled";
> +			};

The uart node should be called "serial@d4017000" instead of "uart@d4017000".

> diff --git a/arch/arm/mach-mmp/reset.c b/arch/arm/mach-mmp/reset.c
> new file mode 100644
> index 0000000..b90ec54
> --- /dev/null
> +++ b/arch/arm/mach-mmp/reset.c
> @@ -0,0 +1,66 @@
> +/*
> + * linux/arch/arm/mach-mmp/reset.c

I think this could just be part of the smp.c file.

> + *
> + * Author:	Neil Zhang <zhangwm@marvell.com>
> + * Copyright:	(C) 2012 Marvell International Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/smp.h>
> +
> +#include <asm/io.h>
> +#include <asm/cacheflush.h>
> +#include <asm/mach/map.h>
> +
> +#include <mach/addr-map.h>
> +
> +#include "reset.h"
> +
> +#define PMU_CC2_AP			APMU_REG(0x0100)
> +#define CIU_CA9_WARM_RESET_VECTOR	CIU_REG(0x00d8)

You should not hardcode the addresses here, better find them from the device tree.
> +
> +#define CPU_CORE_RST(n)	(1 << ((n) * 4 + 16))
> +#define CPU_DBG_RST(n)	(1 << ((n) * 4 + 18))
> +#define CPU_WDOG_RST(n)	(1 << ((n) * 4 + 19))

This should probably go into a reset controller driver, in drivers/reset/

	Arnd

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support
@ 2013-07-09 22:05     ` Arnd Bergmann
  0 siblings, 0 replies; 96+ messages in thread
From: Arnd Bergmann @ 2013-07-09 22:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 09 July 2013, Neil Zhang wrote:
> +	soc {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		interrupt-parent = <&gic>;
> +		ranges;
> +
> +		gic: interrupt-controller at d1dfe100 {
> +			compatible = "arm,cortex-a9-gic";
> +			#interrupt-cells = <3>;
> +			#address-cells = <1>;
> +			interrupt-controller;
> +			reg = <0xd1dff000 0x1000>,
> +			      <0xd1dfe100 0x0100>;
> +		};
> +
> +		L2: l2-cache-controller at d1dfb000 {
> +			compatible = "arm,pl310-cache";
> +			reg = <0xd1dfb000 0x1000>;
> +			arm,data-latency = <2 1 1>;
> +			arm,tag-latency = <2 1 1>;
> +			arm,pwr-dynamic-clk-gating;
> +			arm,pwr-standby-mode;
> +			cache-unified;
> +			cache-level = <2>;
> +		};
> +
> +		local-timer at d1dfe600 {
> +			compatible = "arm,cortex-a9-twd-timer";
> +			reg = <0xd1dfe600 0x20>;
> +			interrupts = <1 13 0x304>;
> +		};
> +
> +		axi at d4200000 {	/* AXI */
> +			compatible = "simple-bus";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			ranges = <0xd4200000 0xd4200000 0x00200000>;
> +
> +			intc: wakeupgen at d4282000 {
> +				compatible = "marvell,mmp-intc";
> +				reg = <0xd4282000 0x1000>;
> +				marvell,intc-wakeup = <0x114 0x3
> +						    0x144 0x3>;
> +			};
> +		};

I am guessing that the structure does not actually reflect the hardware.

Shouldn't AXI be the top-level bus, with the other stuff under it?

> +
> +
> +			uart1: uart at d4017000 {
> +				compatible = "marvell,mmp-uart";
> +				reg = <0xd4017000 0x1000>;
> +				interrupts = <0 27 0x4>;
> +				status = "disabled";
> +			};

The uart node should be called "serial at d4017000" instead of "uart at d4017000".

> diff --git a/arch/arm/mach-mmp/reset.c b/arch/arm/mach-mmp/reset.c
> new file mode 100644
> index 0000000..b90ec54
> --- /dev/null
> +++ b/arch/arm/mach-mmp/reset.c
> @@ -0,0 +1,66 @@
> +/*
> + * linux/arch/arm/mach-mmp/reset.c

I think this could just be part of the smp.c file.

> + *
> + * Author:	Neil Zhang <zhangwm@marvell.com>
> + * Copyright:	(C) 2012 Marvell International Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/smp.h>
> +
> +#include <asm/io.h>
> +#include <asm/cacheflush.h>
> +#include <asm/mach/map.h>
> +
> +#include <mach/addr-map.h>
> +
> +#include "reset.h"
> +
> +#define PMU_CC2_AP			APMU_REG(0x0100)
> +#define CIU_CA9_WARM_RESET_VECTOR	CIU_REG(0x00d8)

You should not hardcode the addresses here, better find them from the device tree.
> +
> +#define CPU_CORE_RST(n)	(1 << ((n) * 4 + 16))
> +#define CPU_DBG_RST(n)	(1 << ((n) * 4 + 18))
> +#define CPU_WDOG_RST(n)	(1 << ((n) * 4 + 19))

This should probably go into a reset controller driver, in drivers/reset/

	Arnd

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
  2013-07-09 21:16       ` Arnd Bergmann
  (?)
@ 2013-07-10  5:58         ` Haojian Zhuang
  -1 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-10  5:58 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Thomas Petazzoni, Neil Zhang, Grant Likely, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Wed, Jul 10, 2013 at 5:16 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Tuesday 09 July 2013, Thomas Petazzoni wrote:
>> Dear Neil Zhang,
>>
>> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
>> > support CLOCKSOURCE OF DECLARE for mmp timer.
>> >
>> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> > ---
>> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
>> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
>> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
>> >  3 files changed, 5 insertions(+), 18 deletions(-)
>>
>> Maybe it would be good to take this opportunity to move
>> arch/arm/mach-mmp/time.c into drivers/clocksource/.
>
> +1
>
> Or we might want to have a more coordinated move of all clocksource
> drivers in arch/arm to drivers/clocksource now, as we have done for some
> other subsystems.
>
>         Arnd

I already sent some patches on this. But I didn't get response yet. I'll rebase
them and send them again. I hope that they could be merged in this cycle.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-10  5:58         ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-10  5:58 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Thomas Petazzoni, Neil Zhang, Grant Likely, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Wed, Jul 10, 2013 at 5:16 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Tuesday 09 July 2013, Thomas Petazzoni wrote:
>> Dear Neil Zhang,
>>
>> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
>> > support CLOCKSOURCE OF DECLARE for mmp timer.
>> >
>> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> > ---
>> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
>> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
>> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
>> >  3 files changed, 5 insertions(+), 18 deletions(-)
>>
>> Maybe it would be good to take this opportunity to move
>> arch/arm/mach-mmp/time.c into drivers/clocksource/.
>
> +1
>
> Or we might want to have a more coordinated move of all clocksource
> drivers in arch/arm to drivers/clocksource now, as we have done for some
> other subsystems.
>
>         Arnd

I already sent some patches on this. But I didn't get response yet. I'll rebase
them and send them again. I hope that they could be merged in this cycle.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-10  5:58         ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-10  5:58 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jul 10, 2013 at 5:16 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Tuesday 09 July 2013, Thomas Petazzoni wrote:
>> Dear Neil Zhang,
>>
>> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
>> > support CLOCKSOURCE OF DECLARE for mmp timer.
>> >
>> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> > ---
>> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
>> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
>> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
>> >  3 files changed, 5 insertions(+), 18 deletions(-)
>>
>> Maybe it would be good to take this opportunity to move
>> arch/arm/mach-mmp/time.c into drivers/clocksource/.
>
> +1
>
> Or we might want to have a more coordinated move of all clocksource
> drivers in arch/arm to drivers/clocksource now, as we have done for some
> other subsystems.
>
>         Arnd

I already sent some patches on this. But I didn't get response yet. I'll rebase
them and send them again. I hope that they could be merged in this cycle.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-09 12:49     ` Jason Cooper
  (?)
@ 2013-07-10  7:25       ` Neil Zhang
  -1 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-10  7:25 UTC (permalink / raw)
  To: Jason Cooper
  Cc: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="gb2312", Size: 48957 bytes --]

Jason,

> -----Original Message-----
> From: Jason Cooper [mailto:jason@lakedaemon.net]
> Sent: 2013Äê7ÔÂ9ÈÕ 20:49
> To: Neil Zhang
> Cc: grant.likely@linaro.org; haojian.zhuang@gmail.com; arnd@arndb.de;
> devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
>
> Neil,
>
> On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> > The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> > let's change it.
> >
> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> > ---
> >  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >  arch/arm/boot/dts/mmp2.dtsi                        |   56
> ++++++++++----------
> >  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >  arch/arm/boot/dts/pxa168.dtsi                      |   24
> ++++----
> >  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >  arch/arm/boot/dts/pxa910.dtsi                      |   27
> +++++-----
> >  arch/arm/mach-mmp/irq.c                            |   16
> +++---
> >  arch/arm/mach-mmp/mmp-dt.c                         |   28
> +++++-----
> >  arch/arm/mach-mmp/mmp2-dt.c                        |   16
> +++---
> >  arch/arm/mach-mmp/time.c                           |    2 +-
> >  arch/arm/mach-pxa/pxa-dt.c                         |   14
> +++---
> >  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >  drivers/tty/serial/pxa.c                           |    4 +-
> >  25 files changed, 144 insertions(+), 143 deletions(-)
>
> I agree with the need to change, however, this has been in the binding
> documentation since v3.5.  I wish we had caught this when we decided
> against using stock ticker symbols (not all stock markets use alphabetical
> abbreviated names, not all companies are listed on any stock exchange).
>
> To do this properly, the drivers are going to have to be compatible with the
> old and the new names, and the binding docs updated to reflect the legacy
> name and the preferred name.
>
Do you mean it's better to support both legacy and preferred name at the same time?

> thx,
>
> Jason.
>
> > diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > index 8b53273..ad27548 100644
> > --- a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > +++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > @@ -1,8 +1,8 @@
> >  * Marvell MMP Interrupt controller
> >
> >  Required properties:
> > -- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
> > -  "mrvl,mmp2-mux-intc"
> > +- compatible : Should be "marvell,mmp-intc", "marvell,mmp2-intc" or
> > +  "marvell,mmp2-mux-intc"
> >  - reg : Address and length of the register set of the interrupt controller.
> >    If the interrupt controller is intc, address and length means the range
> >    of the whold interrupt controller. If the interrupt controller is
> > mux-intc, @@ -15,28 +15,28 @@ Required properties:
> >  - interrupt-controller : Identifies the node as an interrupt controller.
> >  - #interrupt-cells : Specifies the number of cells needed to encode an
> >    interrupt source.
> > -- mrvl,intc-nr-irqs : Specifies the number of interrupts in the
> > interrupt
> > +- marvell,intc-nr-irqs : Specifies the number of interrupts in the
> > +interrupt
> >    controller.
> > -- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP
> > edge
> > +- marvell,clr-mfp-irq : Specifies the interrupt that needs to clear
> > +MFP edge
> >    detection first.
> >
> >  Example:
> >     intc: interrupt-controller@d4282000 {
> > -           compatible = "mrvl,mmp2-intc";
> > +           compatible = "marvell,mmp2-intc";
> >             interrupt-controller;
> >             #interrupt-cells = <1>;
> >             reg = <0xd4282000 0x1000>;
> > -           mrvl,intc-nr-irqs = <64>;
> > +           marvell,intc-nr-irqs = <64>;
> >     };
> >
> >     intcmux4@d4282150 {
> > -           compatible = "mrvl,mmp2-mux-intc";
> > +           compatible = "marvell,mmp2-mux-intc";
> >             interrupts = <4>;
> >             interrupt-controller;
> >             #interrupt-cells = <1>;
> >             reg = <0x150 0x4>, <0x168 0x4>;
> >             reg-names = "mux status", "mux mask";
> > -           mrvl,intc-nr-irqs = <2>;
> > +           marvell,intc-nr-irqs = <2>;
> >     };
> >
> >  * Marvell Orion Interrupt controller
> > diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > index 117d741..87f1d42 100644
> > --- a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > +++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > @@ -3,12 +3,12 @@ Marvell Platforms Device Tree Bindings
> >
> >  PXA168 Aspenite Board
> >  Required root node properties:
> > -   - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> > +   - compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
> >
> >  PXA910 DKB Board
> >  Required root node properties:
> > -   - compatible = "mrvl,pxa910-dkb";
> > +   - compatible = "marvell,pxa910-dkb";
> >
> >  MMP2 Brownstone Board
> >  Required root node properties:
> > -   - compatible = "mrvl,mmp2-brownstone";
> > +   - compatible = "marvell,mmp2-brownstone";
> > diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > index 9a6e251..1304526 100644
> > --- a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > +++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > @@ -1,13 +1,13 @@
> >  * Marvell MMP Timer controller
> >
> >  Required properties:
> > -- compatible : Should be "mrvl,mmp-timer".
> > +- compatible : Should be "marvell,mmp-timer".
> >  - reg : Address and length of the register set of timer controller.
> >  - interrupts : Should be the interrupt number.
> >
> >  Example:
> >     timer0: timer@d4014000 {
> > -           compatible = "mrvl,mmp-timer";
> > +           compatible = "marvell,mmp-timer";
> >             reg = <0xd4014000 0x100>;
> >             interrupts = <13>;
> >     };
> > diff --git a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > index 12b78ac..34fdf5d 100644
> > --- a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > +++ b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > @@ -3,9 +3,9 @@
> >  Required properties :
> >
> >   - reg : Offset and length of the register set for the device
> > - - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
> > + - compatible : should be "marvell,mmp-twsi" where mmp is the name of
> > + a
> >     compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
> > -   For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
> > +   For the pxa2xx/pxa3xx, an additional node "marvell,pxa-i2c" is
> > + required
> >     as shown in the example below.
> >
> >  Recommended properties :
> > @@ -14,20 +14,20 @@ Recommended properties :
> >   - interrupt-parent : the phandle for the interrupt controller that
> >     services interrupts for this device. If the parent is the default
> >     interrupt controller in device tree, it could be ignored.
> > - - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
> > + - marvell,i2c-polling : Disable interrupt of i2c controller. Polling
> >     status register of i2c controller instead.
> > - - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
> > + - marvell,i2c-fast-mode : Enable fast mode of i2c controller.
> >
> >  Examples:
> >     twsi1: i2c@d4011000 {
> > -           compatible = "mrvl,mmp-twsi";
> > +           compatible = "marvell,mmp-twsi";
> >             reg = <0xd4011000 0x1000>;
> >             interrupts = <7>;
> > -           mrvl,i2c-fast-mode;
> > +           marvell,i2c-fast-mode;
> >     };
> >
> >     twsi2: i2c@d4025000 {
> > -           compatible = "mrvl,mmp-twsi";
> > +           compatible = "marvell,mmp-twsi";
> >             reg = <0xd4025000 0x1000>;
> >             interrupts = <58>;
> >     };
> > diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > index dbe98a3..d603a3e 100644
> > --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > @@ -4,18 +4,18 @@ This file documents differences between the core
> > properties in mmc.txt  and the properties used by the sdhci-pxav2 and
> sdhci-pxav3 drivers.
> >
> >  Required properties:
> > -- compatible: Should be "mrvl,pxav2-mmc" or "mrvl,pxav3-mmc".
> > +- compatible: Should be "marvell,pxav2-mmc" or "marvell,pxav3-mmc".
> >
> >  Optional properties:
> > -- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
> > +- marvell,clk-delay-cycles: Specify a number of cycles to delay for tuning.
> >
> >  Example:
> >
> >  sdhci@d4280800 {
> > -   compatible = "mrvl,pxav3-mmc";
> > +   compatible = "marvell,pxav3-mmc";
> >     reg = <0xd4280800 0x800>;
> >     bus-width = <8>;
> >     interrupts = <27>;
> >     non-removable;
> > -   mrvl,clk-delay-cycles = <31>;
> > +   marvell,clk-delay-cycles = <31>;
> >  };
> > diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > index 0cda19a..886fe15 100644
> > --- a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > +++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > @@ -1,7 +1,7 @@
> >  * Marvell Real Time Clock controller
> >
> >  Required properties:
> > -- compatible: should be "mrvl,sa1100-rtc"
> > +- compatible: should be "marvell,sa1100-rtc"
> >  - reg: physical base address of the controller and length of memory
> mapped
> >    region.
> >  - interrupts: Should be two. The first interrupt number is the rtc
> > alarm @@ -10,7 +10,7 @@ Required properties:
> >
> >  Example:
> >     rtc: rtc@d4010000 {
> > -           compatible = "mrvl,mmp-rtc";
> > +           compatible = "marvell,mmp-rtc";
> >             reg = <0xd4010000 0x1000>;
> >             interrupts = <5>, <6>;
> >             interrupt-name = "rtc 1Hz", "rtc alarm"; diff --git
> > a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > index d744340..659d35e 100644
> > --- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > +++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > @@ -1,4 +1,4 @@
> >  PXA UART controller
> >
> >  Required properties:
> > -- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
> > +- compatible : should be "marvell,mmp-uart" or "marvell,pxa-uart".
> > diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts
> > b/arch/arm/boot/dts/mmp2-brownstone.dts
> > index 7f70a39..26abfde 100644
> > --- a/arch/arm/boot/dts/mmp2-brownstone.dts
> > +++ b/arch/arm/boot/dts/mmp2-brownstone.dts
> > @@ -12,7 +12,7 @@
> >
> >  / {
> >     model = "Marvell MMP2 Brownstone Development Board";
> > -   compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
> > +   compatible = "marvell,mmp2-brownstone", "marvell,mmp2";
> >
> >     chosen {
> >             bootargs = "console=ttyS2,38400 root=/dev/nfs
> > nfsroot=192.168.1.100:/nfsroot/
> > ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> > diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
> > index 4e8b08c..ac13654 100644
> > --- a/arch/arm/boot/dts/mmp2.dtsi
> > +++ b/arch/arm/boot/dts/mmp2.dtsi
> > @@ -32,128 +32,128 @@
> >             };
> >
> >             axi@d4200000 {  /* AXI */
> > -                   compatible = "mrvl,axi-bus", "simple-bus";
> > +                   compatible = "marvell,axi-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4200000 0x00200000>;
> >                     ranges;
> >
> >                     intc: interrupt-controller@d4282000 {
> > -                           compatible = "mrvl,mmp2-intc";
> > +                           compatible = "marvell,mmp2-intc";
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0xd4282000 0x1000>;
> > -                           mrvl,intc-nr-irqs = <64>;
> > +                           marvell,intc-nr-irqs = <64>;
> >                     };
> >
> >                     intcmux4: interrupt-controller@d4282150 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <4>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x150 0x4>, <0x168 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > +                           marvell,intc-nr-irqs = <2>;
> >                     };
> >
> >                     intcmux5: interrupt-controller@d4282154 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <5>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x154 0x4>, <0x16c 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > -                           mrvl,clr-mfp-irq = <1>;
> > +                           marvell,intc-nr-irqs = <2>;
> > +                           marvell,clr-mfp-irq = <1>;
> >                     };
> >
> >                     intcmux9: interrupt-controller@d4282180 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <9>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x180 0x4>, <0x17c 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <3>;
> > +                           marvell,intc-nr-irqs = <3>;
> >                     };
> >
> >                     intcmux17: interrupt-controller@d4282158 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <17>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x158 0x4>, <0x170 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <5>;
> > +                           marvell,intc-nr-irqs = <5>;
> >                     };
> >
> >                     intcmux35: interrupt-controller@d428215c {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <35>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x15c 0x4>, <0x174 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <15>;
> > +                           marvell,intc-nr-irqs = <15>;
> >                     };
> >
> >                     intcmux51: interrupt-controller@d4282160 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <51>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x160 0x4>, <0x178 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > +                           marvell,intc-nr-irqs = <2>;
> >                     };
> >
> >                     intcmux55: interrupt-controller@d4282188 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <55>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x188 0x4>, <0x184 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > +                           marvell,intc-nr-irqs = <2>;
> >                     };
> >             };
> >
> >             apb@d4000000 {  /* APB */
> > -                   compatible = "mrvl,apb-bus", "simple-bus";
> > +                   compatible = "marvell,apb-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4000000 0x00200000>;
> >                     ranges;
> >
> >                     timer0: timer@d4014000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4014000 0x100>;
> >                             interrupts = <13>;
> >                     };
> >
> >                     uart1: uart@d4030000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4030000 0x1000>;
> >                             interrupts = <27>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart2: uart@d4017000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4017000 0x1000>;
> >                             interrupts = <28>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart3: uart@d4018000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4018000 0x1000>;
> >                             interrupts = <24>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart4: uart@d4016000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4016000 0x1000>;
> >                             interrupts = <46>;
> >                             status = "disabled";
> > @@ -198,24 +198,24 @@
> >                     };
> >
> >                     twsi1: i2c@d4011000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4011000 0x1000>;
> >                             interrupts = <7>;
> >                             #address-cells = <1>;
> >                             #size-cells = <0>;
> > -                           mrvl,i2c-fast-mode;
> > +                           marvell,i2c-fast-mode;
> >                             status = "disabled";
> >                     };
> >
> >                     twsi2: i2c@d4025000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4025000 0x1000>;
> >                             interrupts = <58>;
> >                             status = "disabled";
> >                     };
> >
> >                     rtc: rtc@d4010000 {
> > -                           compatible = "mrvl,mmp-rtc";
> > +                           compatible = "marvell,mmp-rtc";
> >                             reg = <0xd4010000 0x1000>;
> >                             interrupts = <1 0>;
> >                             interrupt-names = "rtc 1Hz", "rtc alarm"; diff --git
> > a/arch/arm/boot/dts/pxa168-aspenite.dts
> > b/arch/arm/boot/dts/pxa168-aspenite.dts
> > index e762fac..1e2ac17 100644
> > --- a/arch/arm/boot/dts/pxa168-aspenite.dts
> > +++ b/arch/arm/boot/dts/pxa168-aspenite.dts
> > @@ -12,7 +12,7 @@
> >
> >  / {
> >     model = "Marvell PXA168 Aspenite Development Board";
> > -   compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> > +   compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
> >
> >     chosen {
> >             bootargs = "console=ttyS0,115200 root=/dev/nfs
> > nfsroot=192.168.1.100:/nfsroot/
> > ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> > diff --git a/arch/arm/boot/dts/pxa168.dtsi
> > b/arch/arm/boot/dts/pxa168.dtsi index 975dad2..c08f5fc 100644
> > --- a/arch/arm/boot/dts/pxa168.dtsi
> > +++ b/arch/arm/boot/dts/pxa168.dtsi
> > @@ -26,51 +26,51 @@
> >             ranges;
> >
> >             axi@d4200000 {  /* AXI */
> > -                   compatible = "mrvl,axi-bus", "simple-bus";
> > +                   compatible = "marvell,axi-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4200000 0x00200000>;
> >                     ranges;
> >
> >                     intc: interrupt-controller@d4282000 {
> > -                           compatible = "mrvl,mmp-intc";
> > +                           compatible = "marvell,mmp-intc";
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0xd4282000 0x1000>;
> > -                           mrvl,intc-nr-irqs = <64>;
> > +                           marvell,intc-nr-irqs = <64>;
> >                     };
> >
> >             };
> >
> >             apb@d4000000 {  /* APB */
> > -                   compatible = "mrvl,apb-bus", "simple-bus";
> > +                   compatible = "marvell,apb-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4000000 0x00200000>;
> >                     ranges;
> >
> >                     timer0: timer@d4014000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4014000 0x100>;
> >                             interrupts = <13>;
> >                     };
> >
> >                     uart1: uart@d4017000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4017000 0x1000>;
> >                             interrupts = <27>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart2: uart@d4018000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4018000 0x1000>;
> >                             interrupts = <28>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart3: uart@d4026000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4026000 0x1000>;
> >                             interrupts = <29>;
> >                             status = "disabled";
> > @@ -107,22 +107,22 @@
> >                     };
> >
> >                     twsi1: i2c@d4011000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4011000 0x1000>;
> >                             interrupts = <7>;
> > -                           mrvl,i2c-fast-mode;
> > +                           marvell,i2c-fast-mode;
> >                             status = "disabled";
> >                     };
> >
> >                     twsi2: i2c@d4025000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4025000 0x1000>;
> >                             interrupts = <58>;
> >                             status = "disabled";
> >                     };
> >
> >                     rtc: rtc@d4010000 {
> > -                           compatible = "mrvl,mmp-rtc";
> > +                           compatible = "marvell,mmp-rtc";
> >                             reg = <0xd4010000 0x1000>;
> >                             interrupts = <5 6>;
> >                             interrupt-names = "rtc 1Hz", "rtc alarm"; diff --git
> > a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi index
> > a5e90f0..c426b1e 100644
> > --- a/arch/arm/boot/dts/pxa2xx.dtsi
> > +++ b/arch/arm/boot/dts/pxa2xx.dtsi
> > @@ -47,7 +47,7 @@
> >             };
> >
> >             gpio: gpio@40e00000 {
> > -                   compatible = "mrvl,pxa-gpio";
> > +                   compatible = "marvell,pxa-gpio";
> >                     #address-cells = <0x1>;
> >                     #size-cells = <0x1>;
> >                     reg = <0x40e00000 0x10000>;
> > @@ -76,35 +76,35 @@
> >             };
> >
> >             ffuart: uart@40100000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x40100000 0x30>;
> >                     interrupts = <22>;
> >                     status = "disabled";
> >             };
> >
> >             btuart: uart@40200000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x40200000 0x30>;
> >                     interrupts = <21>;
> >                     status = "disabled";
> >             };
> >
> >             stuart: uart@40700000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x40700000 0x30>;
> >                     interrupts = <20>;
> >                     status = "disabled";
> >             };
> >
> >             hwuart: uart@41100000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x41100000 0x30>;
> >                     interrupts = <7>;
> >                     status = "disabled";
> >             };
> >
> >             pxai2c1: i2c@40301680 {
> > -                   compatible = "mrvl,pxa-i2c";
> > +                   compatible = "marvell,pxa-i2c";
> >                     reg = <0x40301680 0x30>;
> >                     interrupts = <18>;
> >                     #address-cells = <0x1>;
> > @@ -113,14 +113,14 @@
> >             };
> >
> >             usb0: ohci@4c000000 {
> > -                   compatible = "mrvl,pxa-ohci";
> > +                   compatible = "marvell,pxa-ohci";
> >                     reg = <0x4c000000 0x10000>;
> >                     interrupts = <3>;
> >                     status = "disabled";
> >             };
> >
> >             mmc0: mmc@41100000 {
> > -                   compatible = "mrvl,pxa-mmc";
> > +                   compatible = "marvell,pxa-mmc";
> >                     reg = <0x41100000 0x1000>;
> >                     interrupts = <23>;
> >                     status = "disabled";
> > diff --git a/arch/arm/boot/dts/pxa3xx.dtsi
> > b/arch/arm/boot/dts/pxa3xx.dtsi index f9d92da..0798031 100644
> > --- a/arch/arm/boot/dts/pxa3xx.dtsi
> > +++ b/arch/arm/boot/dts/pxa3xx.dtsi
> > @@ -7,7 +7,7 @@
> >
> >     pxabus {
> >             pwri2c: i2c@40f500c0 {
> > -                   compatible = "mrvl,pwri2c";
> > +                   compatible = "marvell,pwri2c";
> >                     reg = <0x40f500c0 0x30>;
> >                     interrupts = <6>;
> >                     #address-cells = <0x1>;
> > diff --git a/arch/arm/boot/dts/pxa910-dkb.dts
> > b/arch/arm/boot/dts/pxa910-dkb.dts
> > index 595492a..7384254 100644
> > --- a/arch/arm/boot/dts/pxa910-dkb.dts
> > +++ b/arch/arm/boot/dts/pxa910-dkb.dts
> > @@ -12,7 +12,7 @@
> >
> >  / {
> >     model = "Marvell PXA910 DKB Development Board";
> > -   compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
> > +   compatible = "marvell,pxa910-dkb", "marvell,pxa910";
> >
> >     chosen {
> >             bootargs = "console=ttyS0,115200 root=/dev/nfs
> > nfsroot=192.168.1.100:/nfsroot/
> > ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> > diff --git a/arch/arm/boot/dts/pxa910.dtsi
> > b/arch/arm/boot/dts/pxa910.dtsi index 0247c62..b5594a0 100644
> > --- a/arch/arm/boot/dts/pxa910.dtsi
> > +++ b/arch/arm/boot/dts/pxa910.dtsi
> > @@ -31,58 +31,59 @@
> >             };
> >
> >             axi@d4200000 {  /* AXI */
> > -                   compatible = "mrvl,axi-bus", "simple-bus";
> > +                   compatible = "marvell,axi-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4200000 0x00200000>;
> >                     ranges;
> >
> >                     intc: interrupt-controller@d4282000 {
> > -                           compatible = "mrvl,mmp-intc";
> > +                           compatible = "marvell,mmp-intc";
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0xd4282000 0x1000>;
> > -                           mrvl,intc-nr-irqs = <64>;
> > +                           marvell,intc-nr-irqs = <64>;
> > +
> >                     };
> >
> >             };
> >
> >             apb@d4000000 {  /* APB */
> > -                   compatible = "mrvl,apb-bus", "simple-bus";
> > +                   compatible = "marvell,apb-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4000000 0x00200000>;
> >                     ranges;
> >
> >                     timer0: timer@d4014000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4014000 0x100>;
> >                             interrupts = <13>;
> >                     };
> >
> >                     timer1: timer@d4016000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4016000 0x100>;
> >                             interrupts = <29>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart1: uart@d4017000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4017000 0x1000>;
> >                             interrupts = <27>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart2: uart@d4018000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4018000 0x1000>;
> >                             interrupts = <28>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart3: uart@d4036000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4036000 0x1000>;
> >                             interrupts = <59>;
> >                             status = "disabled";
> > @@ -119,17 +120,17 @@
> >                     };
> >
> >                     twsi1: i2c@d4011000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             #address-cells = <1>;
> >                             #size-cells = <0>;
> >                             reg = <0xd4011000 0x1000>;
> >                             interrupts = <7>;
> > -                           mrvl,i2c-fast-mode;
> > +                           marvell,i2c-fast-mode;
> >                             status = "disabled";
> >                     };
> >
> >                     twsi2: i2c@d4037000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             #address-cells = <1>;
> >                             #size-cells = <0>;
> >                             reg = <0xd4037000 0x1000>;
> > @@ -138,7 +139,7 @@
> >                     };
> >
> >                     rtc: rtc@d4010000 {
> > -                           compatible = "mrvl,mmp-rtc";
> > +                           compatible = "marvell,mmp-rtc";
> >                             reg = <0xd4010000 0x1000>;
> >                             interrupts = <5 6>;
> >                             interrupt-names = "rtc 1Hz", "rtc alarm"; diff --git
> > a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c index
> > 3c71246..a7a53611 100644
> > --- a/arch/arm/mach-mmp/irq.c
> > +++ b/arch/arm/mach-mmp/irq.c
> > @@ -327,13 +327,13 @@ void __init mmp2_init_icu(void)
> >
> >  #ifdef CONFIG_OF
> >  static const struct of_device_id intc_ids[] __initconst = {
> > -   { .compatible = "mrvl,mmp-intc", .data = &mmp_conf },
> > -   { .compatible = "mrvl,mmp2-intc", .data = &mmp2_conf },
> > +   { .compatible = "marvell,mmp-intc", .data = &mmp_conf },
> > +   { .compatible = "marvell,mmp2-intc", .data = &mmp2_conf },
> >     {}
> >  };
> >
> >  static const struct of_device_id mmp_mux_irq_match[] __initconst = {
> > -   { .compatible = "mrvl,mmp2-mux-intc" },
> > +   { .compatible = "marvell,mmp2-mux-intc" },
> >     {}
> >  };
> >
> > @@ -352,10 +352,10 @@ int __init mmp2_mux_init(struct device_node
> *parent)
> >             if (!node)
> >                     break;
> >             of_id = of_match_node(&mmp_mux_irq_match[0], node);
> > -           ret = of_property_read_u32(node, "mrvl,intc-nr-irqs",
> > +           ret = of_property_read_u32(node, "marvell,intc-nr-irqs",
> >                                        &nr_irqs);
> >             if (ret) {
> > -                   pr_err("Not found mrvl,intc-nr-irqs property\n");
> > +                   pr_err("Not found marvell,intc-nr-irqs property\n");
> >                     ret = -EINVAL;
> >                     goto err;
> >             }
> > @@ -385,7 +385,7 @@ int __init mmp2_mux_init(struct device_node
> *parent)
> >                     ret = irq_base;
> >                     goto err;
> >             }
> > -           if (!of_property_read_u32(node, "mrvl,clr-mfp-irq",
> > +           if (!of_property_read_u32(node, "marvell,clr-mfp-irq",
> >                                       &mfp_irq)) {
> >                     icu_data[i].clr_mfp_irq_base = irq_base;
> >                     icu_data[i].clr_mfp_hwirq = mfp_irq; @@ -424,9 +424,9 @@
> void
> > __init mmp_dt_irq_init(void)
> >     of_id = of_match_node(intc_ids, node);
> >     conf = of_id->data;
> >
> > -   ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs);
> > +   ret = of_property_read_u32(node, "marvell,intc-nr-irqs", &nr_irqs);
> >     if (ret) {
> > -           pr_err("Not found mrvl,intc-nr-irqs property\n");
> > +           pr_err("Not found marvell,intc-nr-irqs property\n");
> >             return;
> >     }
> >
> > diff --git a/arch/arm/mach-mmp/mmp-dt.c
> b/arch/arm/mach-mmp/mmp-dt.c
> > index b37915d..62c5adb 100644
> > --- a/arch/arm/mach-mmp/mmp-dt.c
> > +++ b/arch/arm/mach-mmp/mmp-dt.c
> > @@ -23,24 +23,24 @@ extern void __init mmp_dt_irq_init(void);  extern
> > void __init mmp_dt_init_timer(void);
> >
> >  static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4026000, "pxa2xx-uart.2",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> > +NULL),
> >     OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc",
> NULL),
> >     {}
> >  };
> >
> >  static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1",
> > +NULL),
> >     OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc",
> NULL),
> >     {}
> >  };
> >
> > @@ -57,8 +57,8 @@ static void __init pxa910_dt_init(void)  }
> >
> >  static const char *mmp_dt_board_compat[] __initdata = {
> > -   "mrvl,pxa168-aspenite",
> > -   "mrvl,pxa910-dkb",
> > +   "marvell,pxa168-aspenite",
> > +   "marvell,pxa910-dkb",
> >     NULL,
> >  };
> >
> > diff --git a/arch/arm/mach-mmp/mmp2-dt.c
> b/arch/arm/mach-mmp/mmp2-dt.c
> > index 4ac2567..6523ecf 100644
> > --- a/arch/arm/mach-mmp/mmp2-dt.c
> > +++ b/arch/arm/mach-mmp/mmp2-dt.c
> > @@ -25,14 +25,14 @@ extern void __init mmp_dt_irq_init(void);  extern
> > void __init mmp_dt_init_timer(void);
> >
> >  static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.2",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.2",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4016000, "pxa2xx-uart.3",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> > +NULL),
> >     OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc",
> NULL),
> >     {}
> >  };
> >
> > @@ -43,7 +43,7 @@ static void __init mmp2_dt_init(void)  }
> >
> >  static const char *mmp2_dt_board_compat[] __initdata = {
> > -   "mrvl,mmp2-brownstone",
> > +   "marvell,mmp2-brownstone",
> >     NULL,
> >  };
> >
> > diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
> index
> > 7ac41e8..67e7d5c 100644
> > --- a/arch/arm/mach-mmp/time.c
> > +++ b/arch/arm/mach-mmp/time.c
> > @@ -208,7 +208,7 @@ void __init timer_init(int irq)
> >
> >  #ifdef CONFIG_OF
> >  static struct of_device_id mmp_timer_dt_ids[] = {
> > -   { .compatible = "mrvl,mmp-timer", },
> > +   { .compatible = "marvell,mmp-timer", },
> >     {}
> >  };
> >
> > diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c
> > index 3835979..b679367 100644
> > --- a/arch/arm/mach-pxa/pxa-dt.c
> > +++ b/arch/arm/mach-pxa/pxa-dt.c
> > @@ -23,15 +23,15 @@
> >  extern void __init pxa3xx_dt_init_irq(void);
> >
> >  static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40100000,
> "pxa2xx-uart.0", NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40200000,
> "pxa2xx-uart.1", NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40700000,
> "pxa2xx-uart.2", NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x41600000,
> "pxa2xx-uart.3", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x40100000,
> "pxa2xx-uart.0", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x40200000,
> "pxa2xx-uart.1", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x40700000,
> "pxa2xx-uart.2", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x41600000,
> "pxa2xx-uart.3", NULL),
> >     OF_DEV_AUXDATA("marvell,pxa-mmc",       0x41100000, "pxa2xx-mci.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-gpio",         0x40e00000, "pxa-gpio",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-gpio",      0x40e00000, "pxa-gpio",
> NULL),
> >     OF_DEV_AUXDATA("marvell,pxa-ohci",      0x4c000000, "pxa27x-ohci",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-i2c",          0x40301680, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,pwri2c",           0x40f500c0, "pxa3xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-i2c",       0x40301680, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,pwri2c",        0x40f500c0, "pxa3xx-i2c.1",
> NULL),
> >     OF_DEV_AUXDATA("marvell,pxa3xx-nand",   0x43100000, "pxa3xx-nand",
> NULL),
> >     {}
> >  };
> > diff --git a/drivers/i2c/busses/i2c-pxa.c
> > b/drivers/i2c/busses/i2c-pxa.c index fbafed2..6f2b17d 100644
> > --- a/drivers/i2c/busses/i2c-pxa.c
> > +++ b/drivers/i2c/busses/i2c-pxa.c
> > @@ -1040,9 +1040,9 @@ static const struct i2c_algorithm
> > i2c_pxa_pio_algorithm = {  };
> >
> >  static struct of_device_id i2c_pxa_dt_ids[] = {
> > -   { .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
> > -   { .compatible = "mrvl,pwri2c", .data = (void *)REGS_PXA3XX },
> > -   { .compatible = "mrvl,mmp-twsi", .data = (void *)REGS_PXA2XX },
> > +   { .compatible = "marvell,pxa-i2c", .data = (void *)REGS_PXA2XX },
> > +   { .compatible = "marvell,pwri2c", .data = (void *)REGS_PXA3XX },
> > +   { .compatible = "marvell,mmp-twsi", .data = (void *)REGS_PXA2XX },
> >     {}
> >  };
> >  MODULE_DEVICE_TABLE(of, i2c_pxa_dt_ids); @@ -1060,9 +1060,9 @@
> static
> > int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
> >     /* For device tree we always use the dynamic or alias-assigned ID */
> >     i2c->adap.nr = -1;
> >
> > -   if (of_get_property(np, "mrvl,i2c-polling", NULL))
> > +   if (of_get_property(np, "marvell,i2c-polling", NULL))
> >             i2c->use_pio = 1;
> > -   if (of_get_property(np, "mrvl,i2c-fast-mode", NULL))
> > +   if (of_get_property(np, "marvell,i2c-fast-mode", NULL))
> >             i2c->fast_mode = 1;
> >     *i2c_types = (u32)(of_id->data);
> >     return 0;
> > diff --git a/drivers/mmc/host/sdhci-pxav2.c
> > b/drivers/mmc/host/sdhci-pxav2.c index 6a3f702..1dd6500 100644
> > --- a/drivers/mmc/host/sdhci-pxav2.c
> > +++ b/drivers/mmc/host/sdhci-pxav2.c
> > @@ -120,7 +120,7 @@ static const struct sdhci_ops pxav2_sdhci_ops = {
> > #ifdef CONFIG_OF  static const struct of_device_id
> > sdhci_pxav2_of_match[] = {
> >     {
> > -           .compatible = "mrvl,pxav2-mmc",
> > +           .compatible = "marvell,pxav2-mmc",
> >     },
> >     {},
> >  };
> > @@ -144,7 +144,7 @@ static struct sdhci_pxa_platdata
> *pxav2_get_mmc_pdata(struct device *dev)
> >     if (bus_width == 8)
> >             pdata->flags |= PXA_FLAG_SD_8_BIT_CAPABLE_SLOT;
> >
> > -   of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> > +   of_property_read_u32(np, "marvell,clk-delay-cycles",
> > +&clk_delay_cycles);
> >     if (clk_delay_cycles > 0) {
> >             pdata->clk_delay_sel = 1;
> >             pdata->clk_delay_cycles = clk_delay_cycles; diff --git
> > a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
> > index 1ae358e..a88974b 100644
> > --- a/drivers/mmc/host/sdhci-pxav3.c
> > +++ b/drivers/mmc/host/sdhci-pxav3.c
> > @@ -185,7 +185,7 @@ static struct sdhci_pltfm_data sdhci_pxav3_pdata
> =
> > {  #ifdef CONFIG_OF  static const struct of_device_id
> > sdhci_pxav3_of_match[] = {
> >     {
> > -           .compatible = "mrvl,pxav3-mmc",
> > +           .compatible = "marvell,pxav3-mmc",
> >     },
> >     {},
> >  };
> > @@ -201,7 +201,7 @@ static struct sdhci_pxa_platdata
> *pxav3_get_mmc_pdata(struct device *dev)
> >     if (!pdata)
> >             return NULL;
> >
> > -   of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> > +   of_property_read_u32(np, "marvell,clk-delay-cycles",
> > +&clk_delay_cycles);
> >     if (clk_delay_cycles > 0)
> >             pdata->clk_delay_cycles = clk_delay_cycles;
> >
> > diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c index
> > 0f7adeb..307dd37 100644
> > --- a/drivers/rtc/rtc-sa1100.c
> > +++ b/drivers/rtc/rtc-sa1100.c
> > @@ -339,8 +339,8 @@ static SIMPLE_DEV_PM_OPS(sa1100_rtc_pm_ops,
> > sa1100_rtc_suspend,
> >
> >  #ifdef CONFIG_OF
> >  static struct of_device_id sa1100_rtc_dt_ids[] = {
> > -   { .compatible = "mrvl,sa1100-rtc", },
> > -   { .compatible = "mrvl,mmp-rtc", },
> > +   { .compatible = "marvell,sa1100-rtc", },
> > +   { .compatible = "marvell,mmp-rtc", },
> >     {}
> >  };
> >  MODULE_DEVICE_TABLE(of, sa1100_rtc_dt_ids); diff --git
> > a/drivers/tty/serial/pxa.c b/drivers/tty/serial/pxa.c index
> > 05f504e..cb1a439 100644
> > --- a/drivers/tty/serial/pxa.c
> > +++ b/drivers/tty/serial/pxa.c
> > @@ -852,8 +852,8 @@ static const struct dev_pm_ops
> serial_pxa_pm_ops =
> > {  #endif
> >
> >  static struct of_device_id serial_pxa_dt_ids[] = {
> > -   { .compatible = "mrvl,pxa-uart", },
> > -   { .compatible = "mrvl,mmp-uart", },
> > +   { .compatible = "marvell,pxa-uart", },
> > +   { .compatible = "marvell,mmp-uart", },
> >     {}
> >  };
> >  MODULE_DEVICE_TABLE(of, serial_pxa_dt_ids);
> > --
> > 1.7.4.1
> >
> >

Best Regards,
Neil Zhang


> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10  7:25       ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-10  7:25 UTC (permalink / raw)
  To: Jason Cooper
  Cc: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

Jason,

> -----Original Message-----
> From: Jason Cooper [mailto:jason@lakedaemon.net]
> Sent: 2013年7月9日 20:49
> To: Neil Zhang
> Cc: grant.likely@linaro.org; haojian.zhuang@gmail.com; arnd@arndb.de;
> devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
>
> Neil,
>
> On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> > The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> > let's change it.
> >
> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> > ---
> >  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >  arch/arm/boot/dts/mmp2.dtsi                        |   56
> ++++++++++----------
> >  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >  arch/arm/boot/dts/pxa168.dtsi                      |   24
> ++++----
> >  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >  arch/arm/boot/dts/pxa910.dtsi                      |   27
> +++++-----
> >  arch/arm/mach-mmp/irq.c                            |   16
> +++---
> >  arch/arm/mach-mmp/mmp-dt.c                         |   28
> +++++-----
> >  arch/arm/mach-mmp/mmp2-dt.c                        |   16
> +++---
> >  arch/arm/mach-mmp/time.c                           |    2 +-
> >  arch/arm/mach-pxa/pxa-dt.c                         |   14
> +++---
> >  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >  drivers/tty/serial/pxa.c                           |    4 +-
> >  25 files changed, 144 insertions(+), 143 deletions(-)
>
> I agree with the need to change, however, this has been in the binding
> documentation since v3.5.  I wish we had caught this when we decided
> against using stock ticker symbols (not all stock markets use alphabetical
> abbreviated names, not all companies are listed on any stock exchange).
>
> To do this properly, the drivers are going to have to be compatible with the
> old and the new names, and the binding docs updated to reflect the legacy
> name and the preferred name.
>
Do you mean it's better to support both legacy and preferred name at the same time?

> thx,
>
> Jason.
>
> > diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > index 8b53273..ad27548 100644
> > --- a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > +++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > @@ -1,8 +1,8 @@
> >  * Marvell MMP Interrupt controller
> >
> >  Required properties:
> > -- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
> > -  "mrvl,mmp2-mux-intc"
> > +- compatible : Should be "marvell,mmp-intc", "marvell,mmp2-intc" or
> > +  "marvell,mmp2-mux-intc"
> >  - reg : Address and length of the register set of the interrupt controller.
> >    If the interrupt controller is intc, address and length means the range
> >    of the whold interrupt controller. If the interrupt controller is
> > mux-intc, @@ -15,28 +15,28 @@ Required properties:
> >  - interrupt-controller : Identifies the node as an interrupt controller.
> >  - #interrupt-cells : Specifies the number of cells needed to encode an
> >    interrupt source.
> > -- mrvl,intc-nr-irqs : Specifies the number of interrupts in the
> > interrupt
> > +- marvell,intc-nr-irqs : Specifies the number of interrupts in the
> > +interrupt
> >    controller.
> > -- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP
> > edge
> > +- marvell,clr-mfp-irq : Specifies the interrupt that needs to clear
> > +MFP edge
> >    detection first.
> >
> >  Example:
> >     intc: interrupt-controller@d4282000 {
> > -           compatible = "mrvl,mmp2-intc";
> > +           compatible = "marvell,mmp2-intc";
> >             interrupt-controller;
> >             #interrupt-cells = <1>;
> >             reg = <0xd4282000 0x1000>;
> > -           mrvl,intc-nr-irqs = <64>;
> > +           marvell,intc-nr-irqs = <64>;
> >     };
> >
> >     intcmux4@d4282150 {
> > -           compatible = "mrvl,mmp2-mux-intc";
> > +           compatible = "marvell,mmp2-mux-intc";
> >             interrupts = <4>;
> >             interrupt-controller;
> >             #interrupt-cells = <1>;
> >             reg = <0x150 0x4>, <0x168 0x4>;
> >             reg-names = "mux status", "mux mask";
> > -           mrvl,intc-nr-irqs = <2>;
> > +           marvell,intc-nr-irqs = <2>;
> >     };
> >
> >  * Marvell Orion Interrupt controller
> > diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > index 117d741..87f1d42 100644
> > --- a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > +++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > @@ -3,12 +3,12 @@ Marvell Platforms Device Tree Bindings
> >
> >  PXA168 Aspenite Board
> >  Required root node properties:
> > -   - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> > +   - compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
> >
> >  PXA910 DKB Board
> >  Required root node properties:
> > -   - compatible = "mrvl,pxa910-dkb";
> > +   - compatible = "marvell,pxa910-dkb";
> >
> >  MMP2 Brownstone Board
> >  Required root node properties:
> > -   - compatible = "mrvl,mmp2-brownstone";
> > +   - compatible = "marvell,mmp2-brownstone";
> > diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > index 9a6e251..1304526 100644
> > --- a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > +++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > @@ -1,13 +1,13 @@
> >  * Marvell MMP Timer controller
> >
> >  Required properties:
> > -- compatible : Should be "mrvl,mmp-timer".
> > +- compatible : Should be "marvell,mmp-timer".
> >  - reg : Address and length of the register set of timer controller.
> >  - interrupts : Should be the interrupt number.
> >
> >  Example:
> >     timer0: timer@d4014000 {
> > -           compatible = "mrvl,mmp-timer";
> > +           compatible = "marvell,mmp-timer";
> >             reg = <0xd4014000 0x100>;
> >             interrupts = <13>;
> >     };
> > diff --git a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > index 12b78ac..34fdf5d 100644
> > --- a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > +++ b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > @@ -3,9 +3,9 @@
> >  Required properties :
> >
> >   - reg : Offset and length of the register set for the device
> > - - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
> > + - compatible : should be "marvell,mmp-twsi" where mmp is the name of
> > + a
> >     compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
> > -   For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
> > +   For the pxa2xx/pxa3xx, an additional node "marvell,pxa-i2c" is
> > + required
> >     as shown in the example below.
> >
> >  Recommended properties :
> > @@ -14,20 +14,20 @@ Recommended properties :
> >   - interrupt-parent : the phandle for the interrupt controller that
> >     services interrupts for this device. If the parent is the default
> >     interrupt controller in device tree, it could be ignored.
> > - - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
> > + - marvell,i2c-polling : Disable interrupt of i2c controller. Polling
> >     status register of i2c controller instead.
> > - - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
> > + - marvell,i2c-fast-mode : Enable fast mode of i2c controller.
> >
> >  Examples:
> >     twsi1: i2c@d4011000 {
> > -           compatible = "mrvl,mmp-twsi";
> > +           compatible = "marvell,mmp-twsi";
> >             reg = <0xd4011000 0x1000>;
> >             interrupts = <7>;
> > -           mrvl,i2c-fast-mode;
> > +           marvell,i2c-fast-mode;
> >     };
> >
> >     twsi2: i2c@d4025000 {
> > -           compatible = "mrvl,mmp-twsi";
> > +           compatible = "marvell,mmp-twsi";
> >             reg = <0xd4025000 0x1000>;
> >             interrupts = <58>;
> >     };
> > diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > index dbe98a3..d603a3e 100644
> > --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > @@ -4,18 +4,18 @@ This file documents differences between the core
> > properties in mmc.txt  and the properties used by the sdhci-pxav2 and
> sdhci-pxav3 drivers.
> >
> >  Required properties:
> > -- compatible: Should be "mrvl,pxav2-mmc" or "mrvl,pxav3-mmc".
> > +- compatible: Should be "marvell,pxav2-mmc" or "marvell,pxav3-mmc".
> >
> >  Optional properties:
> > -- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
> > +- marvell,clk-delay-cycles: Specify a number of cycles to delay for tuning.
> >
> >  Example:
> >
> >  sdhci@d4280800 {
> > -   compatible = "mrvl,pxav3-mmc";
> > +   compatible = "marvell,pxav3-mmc";
> >     reg = <0xd4280800 0x800>;
> >     bus-width = <8>;
> >     interrupts = <27>;
> >     non-removable;
> > -   mrvl,clk-delay-cycles = <31>;
> > +   marvell,clk-delay-cycles = <31>;
> >  };
> > diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > index 0cda19a..886fe15 100644
> > --- a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > +++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > @@ -1,7 +1,7 @@
> >  * Marvell Real Time Clock controller
> >
> >  Required properties:
> > -- compatible: should be "mrvl,sa1100-rtc"
> > +- compatible: should be "marvell,sa1100-rtc"
> >  - reg: physical base address of the controller and length of memory
> mapped
> >    region.
> >  - interrupts: Should be two. The first interrupt number is the rtc
> > alarm @@ -10,7 +10,7 @@ Required properties:
> >
> >  Example:
> >     rtc: rtc@d4010000 {
> > -           compatible = "mrvl,mmp-rtc";
> > +           compatible = "marvell,mmp-rtc";
> >             reg = <0xd4010000 0x1000>;
> >             interrupts = <5>, <6>;
> >             interrupt-name = "rtc 1Hz", "rtc alarm"; diff --git
> > a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > index d744340..659d35e 100644
> > --- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > +++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > @@ -1,4 +1,4 @@
> >  PXA UART controller
> >
> >  Required properties:
> > -- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
> > +- compatible : should be "marvell,mmp-uart" or "marvell,pxa-uart".
> > diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts
> > b/arch/arm/boot/dts/mmp2-brownstone.dts
> > index 7f70a39..26abfde 100644
> > --- a/arch/arm/boot/dts/mmp2-brownstone.dts
> > +++ b/arch/arm/boot/dts/mmp2-brownstone.dts
> > @@ -12,7 +12,7 @@
> >
> >  / {
> >     model = "Marvell MMP2 Brownstone Development Board";
> > -   compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
> > +   compatible = "marvell,mmp2-brownstone", "marvell,mmp2";
> >
> >     chosen {
> >             bootargs = "console=ttyS2,38400 root=/dev/nfs
> > nfsroot=192.168.1.100:/nfsroot/
> > ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> > diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
> > index 4e8b08c..ac13654 100644
> > --- a/arch/arm/boot/dts/mmp2.dtsi
> > +++ b/arch/arm/boot/dts/mmp2.dtsi
> > @@ -32,128 +32,128 @@
> >             };
> >
> >             axi@d4200000 {  /* AXI */
> > -                   compatible = "mrvl,axi-bus", "simple-bus";
> > +                   compatible = "marvell,axi-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4200000 0x00200000>;
> >                     ranges;
> >
> >                     intc: interrupt-controller@d4282000 {
> > -                           compatible = "mrvl,mmp2-intc";
> > +                           compatible = "marvell,mmp2-intc";
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0xd4282000 0x1000>;
> > -                           mrvl,intc-nr-irqs = <64>;
> > +                           marvell,intc-nr-irqs = <64>;
> >                     };
> >
> >                     intcmux4: interrupt-controller@d4282150 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <4>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x150 0x4>, <0x168 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > +                           marvell,intc-nr-irqs = <2>;
> >                     };
> >
> >                     intcmux5: interrupt-controller@d4282154 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <5>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x154 0x4>, <0x16c 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > -                           mrvl,clr-mfp-irq = <1>;
> > +                           marvell,intc-nr-irqs = <2>;
> > +                           marvell,clr-mfp-irq = <1>;
> >                     };
> >
> >                     intcmux9: interrupt-controller@d4282180 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <9>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x180 0x4>, <0x17c 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <3>;
> > +                           marvell,intc-nr-irqs = <3>;
> >                     };
> >
> >                     intcmux17: interrupt-controller@d4282158 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <17>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x158 0x4>, <0x170 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <5>;
> > +                           marvell,intc-nr-irqs = <5>;
> >                     };
> >
> >                     intcmux35: interrupt-controller@d428215c {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <35>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x15c 0x4>, <0x174 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <15>;
> > +                           marvell,intc-nr-irqs = <15>;
> >                     };
> >
> >                     intcmux51: interrupt-controller@d4282160 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <51>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x160 0x4>, <0x178 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > +                           marvell,intc-nr-irqs = <2>;
> >                     };
> >
> >                     intcmux55: interrupt-controller@d4282188 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <55>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x188 0x4>, <0x184 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > +                           marvell,intc-nr-irqs = <2>;
> >                     };
> >             };
> >
> >             apb@d4000000 {  /* APB */
> > -                   compatible = "mrvl,apb-bus", "simple-bus";
> > +                   compatible = "marvell,apb-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4000000 0x00200000>;
> >                     ranges;
> >
> >                     timer0: timer@d4014000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4014000 0x100>;
> >                             interrupts = <13>;
> >                     };
> >
> >                     uart1: uart@d4030000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4030000 0x1000>;
> >                             interrupts = <27>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart2: uart@d4017000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4017000 0x1000>;
> >                             interrupts = <28>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart3: uart@d4018000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4018000 0x1000>;
> >                             interrupts = <24>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart4: uart@d4016000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4016000 0x1000>;
> >                             interrupts = <46>;
> >                             status = "disabled";
> > @@ -198,24 +198,24 @@
> >                     };
> >
> >                     twsi1: i2c@d4011000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4011000 0x1000>;
> >                             interrupts = <7>;
> >                             #address-cells = <1>;
> >                             #size-cells = <0>;
> > -                           mrvl,i2c-fast-mode;
> > +                           marvell,i2c-fast-mode;
> >                             status = "disabled";
> >                     };
> >
> >                     twsi2: i2c@d4025000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4025000 0x1000>;
> >                             interrupts = <58>;
> >                             status = "disabled";
> >                     };
> >
> >                     rtc: rtc@d4010000 {
> > -                           compatible = "mrvl,mmp-rtc";
> > +                           compatible = "marvell,mmp-rtc";
> >                             reg = <0xd4010000 0x1000>;
> >                             interrupts = <1 0>;
> >                             interrupt-names = "rtc 1Hz", "rtc alarm"; diff --git
> > a/arch/arm/boot/dts/pxa168-aspenite.dts
> > b/arch/arm/boot/dts/pxa168-aspenite.dts
> > index e762fac..1e2ac17 100644
> > --- a/arch/arm/boot/dts/pxa168-aspenite.dts
> > +++ b/arch/arm/boot/dts/pxa168-aspenite.dts
> > @@ -12,7 +12,7 @@
> >
> >  / {
> >     model = "Marvell PXA168 Aspenite Development Board";
> > -   compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> > +   compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
> >
> >     chosen {
> >             bootargs = "console=ttyS0,115200 root=/dev/nfs
> > nfsroot=192.168.1.100:/nfsroot/
> > ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> > diff --git a/arch/arm/boot/dts/pxa168.dtsi
> > b/arch/arm/boot/dts/pxa168.dtsi index 975dad2..c08f5fc 100644
> > --- a/arch/arm/boot/dts/pxa168.dtsi
> > +++ b/arch/arm/boot/dts/pxa168.dtsi
> > @@ -26,51 +26,51 @@
> >             ranges;
> >
> >             axi@d4200000 {  /* AXI */
> > -                   compatible = "mrvl,axi-bus", "simple-bus";
> > +                   compatible = "marvell,axi-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4200000 0x00200000>;
> >                     ranges;
> >
> >                     intc: interrupt-controller@d4282000 {
> > -                           compatible = "mrvl,mmp-intc";
> > +                           compatible = "marvell,mmp-intc";
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0xd4282000 0x1000>;
> > -                           mrvl,intc-nr-irqs = <64>;
> > +                           marvell,intc-nr-irqs = <64>;
> >                     };
> >
> >             };
> >
> >             apb@d4000000 {  /* APB */
> > -                   compatible = "mrvl,apb-bus", "simple-bus";
> > +                   compatible = "marvell,apb-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4000000 0x00200000>;
> >                     ranges;
> >
> >                     timer0: timer@d4014000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4014000 0x100>;
> >                             interrupts = <13>;
> >                     };
> >
> >                     uart1: uart@d4017000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4017000 0x1000>;
> >                             interrupts = <27>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart2: uart@d4018000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4018000 0x1000>;
> >                             interrupts = <28>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart3: uart@d4026000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4026000 0x1000>;
> >                             interrupts = <29>;
> >                             status = "disabled";
> > @@ -107,22 +107,22 @@
> >                     };
> >
> >                     twsi1: i2c@d4011000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4011000 0x1000>;
> >                             interrupts = <7>;
> > -                           mrvl,i2c-fast-mode;
> > +                           marvell,i2c-fast-mode;
> >                             status = "disabled";
> >                     };
> >
> >                     twsi2: i2c@d4025000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4025000 0x1000>;
> >                             interrupts = <58>;
> >                             status = "disabled";
> >                     };
> >
> >                     rtc: rtc@d4010000 {
> > -                           compatible = "mrvl,mmp-rtc";
> > +                           compatible = "marvell,mmp-rtc";
> >                             reg = <0xd4010000 0x1000>;
> >                             interrupts = <5 6>;
> >                             interrupt-names = "rtc 1Hz", "rtc alarm"; diff --git
> > a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi index
> > a5e90f0..c426b1e 100644
> > --- a/arch/arm/boot/dts/pxa2xx.dtsi
> > +++ b/arch/arm/boot/dts/pxa2xx.dtsi
> > @@ -47,7 +47,7 @@
> >             };
> >
> >             gpio: gpio@40e00000 {
> > -                   compatible = "mrvl,pxa-gpio";
> > +                   compatible = "marvell,pxa-gpio";
> >                     #address-cells = <0x1>;
> >                     #size-cells = <0x1>;
> >                     reg = <0x40e00000 0x10000>;
> > @@ -76,35 +76,35 @@
> >             };
> >
> >             ffuart: uart@40100000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x40100000 0x30>;
> >                     interrupts = <22>;
> >                     status = "disabled";
> >             };
> >
> >             btuart: uart@40200000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x40200000 0x30>;
> >                     interrupts = <21>;
> >                     status = "disabled";
> >             };
> >
> >             stuart: uart@40700000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x40700000 0x30>;
> >                     interrupts = <20>;
> >                     status = "disabled";
> >             };
> >
> >             hwuart: uart@41100000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x41100000 0x30>;
> >                     interrupts = <7>;
> >                     status = "disabled";
> >             };
> >
> >             pxai2c1: i2c@40301680 {
> > -                   compatible = "mrvl,pxa-i2c";
> > +                   compatible = "marvell,pxa-i2c";
> >                     reg = <0x40301680 0x30>;
> >                     interrupts = <18>;
> >                     #address-cells = <0x1>;
> > @@ -113,14 +113,14 @@
> >             };
> >
> >             usb0: ohci@4c000000 {
> > -                   compatible = "mrvl,pxa-ohci";
> > +                   compatible = "marvell,pxa-ohci";
> >                     reg = <0x4c000000 0x10000>;
> >                     interrupts = <3>;
> >                     status = "disabled";
> >             };
> >
> >             mmc0: mmc@41100000 {
> > -                   compatible = "mrvl,pxa-mmc";
> > +                   compatible = "marvell,pxa-mmc";
> >                     reg = <0x41100000 0x1000>;
> >                     interrupts = <23>;
> >                     status = "disabled";
> > diff --git a/arch/arm/boot/dts/pxa3xx.dtsi
> > b/arch/arm/boot/dts/pxa3xx.dtsi index f9d92da..0798031 100644
> > --- a/arch/arm/boot/dts/pxa3xx.dtsi
> > +++ b/arch/arm/boot/dts/pxa3xx.dtsi
> > @@ -7,7 +7,7 @@
> >
> >     pxabus {
> >             pwri2c: i2c@40f500c0 {
> > -                   compatible = "mrvl,pwri2c";
> > +                   compatible = "marvell,pwri2c";
> >                     reg = <0x40f500c0 0x30>;
> >                     interrupts = <6>;
> >                     #address-cells = <0x1>;
> > diff --git a/arch/arm/boot/dts/pxa910-dkb.dts
> > b/arch/arm/boot/dts/pxa910-dkb.dts
> > index 595492a..7384254 100644
> > --- a/arch/arm/boot/dts/pxa910-dkb.dts
> > +++ b/arch/arm/boot/dts/pxa910-dkb.dts
> > @@ -12,7 +12,7 @@
> >
> >  / {
> >     model = "Marvell PXA910 DKB Development Board";
> > -   compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
> > +   compatible = "marvell,pxa910-dkb", "marvell,pxa910";
> >
> >     chosen {
> >             bootargs = "console=ttyS0,115200 root=/dev/nfs
> > nfsroot=192.168.1.100:/nfsroot/
> > ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> > diff --git a/arch/arm/boot/dts/pxa910.dtsi
> > b/arch/arm/boot/dts/pxa910.dtsi index 0247c62..b5594a0 100644
> > --- a/arch/arm/boot/dts/pxa910.dtsi
> > +++ b/arch/arm/boot/dts/pxa910.dtsi
> > @@ -31,58 +31,59 @@
> >             };
> >
> >             axi@d4200000 {  /* AXI */
> > -                   compatible = "mrvl,axi-bus", "simple-bus";
> > +                   compatible = "marvell,axi-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4200000 0x00200000>;
> >                     ranges;
> >
> >                     intc: interrupt-controller@d4282000 {
> > -                           compatible = "mrvl,mmp-intc";
> > +                           compatible = "marvell,mmp-intc";
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0xd4282000 0x1000>;
> > -                           mrvl,intc-nr-irqs = <64>;
> > +                           marvell,intc-nr-irqs = <64>;
> > +
> >                     };
> >
> >             };
> >
> >             apb@d4000000 {  /* APB */
> > -                   compatible = "mrvl,apb-bus", "simple-bus";
> > +                   compatible = "marvell,apb-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4000000 0x00200000>;
> >                     ranges;
> >
> >                     timer0: timer@d4014000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4014000 0x100>;
> >                             interrupts = <13>;
> >                     };
> >
> >                     timer1: timer@d4016000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4016000 0x100>;
> >                             interrupts = <29>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart1: uart@d4017000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4017000 0x1000>;
> >                             interrupts = <27>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart2: uart@d4018000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4018000 0x1000>;
> >                             interrupts = <28>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart3: uart@d4036000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4036000 0x1000>;
> >                             interrupts = <59>;
> >                             status = "disabled";
> > @@ -119,17 +120,17 @@
> >                     };
> >
> >                     twsi1: i2c@d4011000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             #address-cells = <1>;
> >                             #size-cells = <0>;
> >                             reg = <0xd4011000 0x1000>;
> >                             interrupts = <7>;
> > -                           mrvl,i2c-fast-mode;
> > +                           marvell,i2c-fast-mode;
> >                             status = "disabled";
> >                     };
> >
> >                     twsi2: i2c@d4037000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             #address-cells = <1>;
> >                             #size-cells = <0>;
> >                             reg = <0xd4037000 0x1000>;
> > @@ -138,7 +139,7 @@
> >                     };
> >
> >                     rtc: rtc@d4010000 {
> > -                           compatible = "mrvl,mmp-rtc";
> > +                           compatible = "marvell,mmp-rtc";
> >                             reg = <0xd4010000 0x1000>;
> >                             interrupts = <5 6>;
> >                             interrupt-names = "rtc 1Hz", "rtc alarm"; diff --git
> > a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c index
> > 3c71246..a7a53611 100644
> > --- a/arch/arm/mach-mmp/irq.c
> > +++ b/arch/arm/mach-mmp/irq.c
> > @@ -327,13 +327,13 @@ void __init mmp2_init_icu(void)
> >
> >  #ifdef CONFIG_OF
> >  static const struct of_device_id intc_ids[] __initconst = {
> > -   { .compatible = "mrvl,mmp-intc", .data = &mmp_conf },
> > -   { .compatible = "mrvl,mmp2-intc", .data = &mmp2_conf },
> > +   { .compatible = "marvell,mmp-intc", .data = &mmp_conf },
> > +   { .compatible = "marvell,mmp2-intc", .data = &mmp2_conf },
> >     {}
> >  };
> >
> >  static const struct of_device_id mmp_mux_irq_match[] __initconst = {
> > -   { .compatible = "mrvl,mmp2-mux-intc" },
> > +   { .compatible = "marvell,mmp2-mux-intc" },
> >     {}
> >  };
> >
> > @@ -352,10 +352,10 @@ int __init mmp2_mux_init(struct device_node
> *parent)
> >             if (!node)
> >                     break;
> >             of_id = of_match_node(&mmp_mux_irq_match[0], node);
> > -           ret = of_property_read_u32(node, "mrvl,intc-nr-irqs",
> > +           ret = of_property_read_u32(node, "marvell,intc-nr-irqs",
> >                                        &nr_irqs);
> >             if (ret) {
> > -                   pr_err("Not found mrvl,intc-nr-irqs property\n");
> > +                   pr_err("Not found marvell,intc-nr-irqs property\n");
> >                     ret = -EINVAL;
> >                     goto err;
> >             }
> > @@ -385,7 +385,7 @@ int __init mmp2_mux_init(struct device_node
> *parent)
> >                     ret = irq_base;
> >                     goto err;
> >             }
> > -           if (!of_property_read_u32(node, "mrvl,clr-mfp-irq",
> > +           if (!of_property_read_u32(node, "marvell,clr-mfp-irq",
> >                                       &mfp_irq)) {
> >                     icu_data[i].clr_mfp_irq_base = irq_base;
> >                     icu_data[i].clr_mfp_hwirq = mfp_irq; @@ -424,9 +424,9 @@
> void
> > __init mmp_dt_irq_init(void)
> >     of_id = of_match_node(intc_ids, node);
> >     conf = of_id->data;
> >
> > -   ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs);
> > +   ret = of_property_read_u32(node, "marvell,intc-nr-irqs", &nr_irqs);
> >     if (ret) {
> > -           pr_err("Not found mrvl,intc-nr-irqs property\n");
> > +           pr_err("Not found marvell,intc-nr-irqs property\n");
> >             return;
> >     }
> >
> > diff --git a/arch/arm/mach-mmp/mmp-dt.c
> b/arch/arm/mach-mmp/mmp-dt.c
> > index b37915d..62c5adb 100644
> > --- a/arch/arm/mach-mmp/mmp-dt.c
> > +++ b/arch/arm/mach-mmp/mmp-dt.c
> > @@ -23,24 +23,24 @@ extern void __init mmp_dt_irq_init(void);  extern
> > void __init mmp_dt_init_timer(void);
> >
> >  static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4026000, "pxa2xx-uart.2",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> > +NULL),
> >     OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc",
> NULL),
> >     {}
> >  };
> >
> >  static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1",
> > +NULL),
> >     OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc",
> NULL),
> >     {}
> >  };
> >
> > @@ -57,8 +57,8 @@ static void __init pxa910_dt_init(void)  }
> >
> >  static const char *mmp_dt_board_compat[] __initdata = {
> > -   "mrvl,pxa168-aspenite",
> > -   "mrvl,pxa910-dkb",
> > +   "marvell,pxa168-aspenite",
> > +   "marvell,pxa910-dkb",
> >     NULL,
> >  };
> >
> > diff --git a/arch/arm/mach-mmp/mmp2-dt.c
> b/arch/arm/mach-mmp/mmp2-dt.c
> > index 4ac2567..6523ecf 100644
> > --- a/arch/arm/mach-mmp/mmp2-dt.c
> > +++ b/arch/arm/mach-mmp/mmp2-dt.c
> > @@ -25,14 +25,14 @@ extern void __init mmp_dt_irq_init(void);  extern
> > void __init mmp_dt_init_timer(void);
> >
> >  static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.2",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.2",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4016000, "pxa2xx-uart.3",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> > +NULL),
> >     OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc",
> NULL),
> >     {}
> >  };
> >
> > @@ -43,7 +43,7 @@ static void __init mmp2_dt_init(void)  }
> >
> >  static const char *mmp2_dt_board_compat[] __initdata = {
> > -   "mrvl,mmp2-brownstone",
> > +   "marvell,mmp2-brownstone",
> >     NULL,
> >  };
> >
> > diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
> index
> > 7ac41e8..67e7d5c 100644
> > --- a/arch/arm/mach-mmp/time.c
> > +++ b/arch/arm/mach-mmp/time.c
> > @@ -208,7 +208,7 @@ void __init timer_init(int irq)
> >
> >  #ifdef CONFIG_OF
> >  static struct of_device_id mmp_timer_dt_ids[] = {
> > -   { .compatible = "mrvl,mmp-timer", },
> > +   { .compatible = "marvell,mmp-timer", },
> >     {}
> >  };
> >
> > diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c
> > index 3835979..b679367 100644
> > --- a/arch/arm/mach-pxa/pxa-dt.c
> > +++ b/arch/arm/mach-pxa/pxa-dt.c
> > @@ -23,15 +23,15 @@
> >  extern void __init pxa3xx_dt_init_irq(void);
> >
> >  static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40100000,
> "pxa2xx-uart.0", NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40200000,
> "pxa2xx-uart.1", NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40700000,
> "pxa2xx-uart.2", NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x41600000,
> "pxa2xx-uart.3", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x40100000,
> "pxa2xx-uart.0", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x40200000,
> "pxa2xx-uart.1", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x40700000,
> "pxa2xx-uart.2", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x41600000,
> "pxa2xx-uart.3", NULL),
> >     OF_DEV_AUXDATA("marvell,pxa-mmc",       0x41100000, "pxa2xx-mci.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-gpio",         0x40e00000, "pxa-gpio",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-gpio",      0x40e00000, "pxa-gpio",
> NULL),
> >     OF_DEV_AUXDATA("marvell,pxa-ohci",      0x4c000000, "pxa27x-ohci",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-i2c",          0x40301680, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,pwri2c",           0x40f500c0, "pxa3xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-i2c",       0x40301680, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,pwri2c",        0x40f500c0, "pxa3xx-i2c.1",
> NULL),
> >     OF_DEV_AUXDATA("marvell,pxa3xx-nand",   0x43100000, "pxa3xx-nand",
> NULL),
> >     {}
> >  };
> > diff --git a/drivers/i2c/busses/i2c-pxa.c
> > b/drivers/i2c/busses/i2c-pxa.c index fbafed2..6f2b17d 100644
> > --- a/drivers/i2c/busses/i2c-pxa.c
> > +++ b/drivers/i2c/busses/i2c-pxa.c
> > @@ -1040,9 +1040,9 @@ static const struct i2c_algorithm
> > i2c_pxa_pio_algorithm = {  };
> >
> >  static struct of_device_id i2c_pxa_dt_ids[] = {
> > -   { .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
> > -   { .compatible = "mrvl,pwri2c", .data = (void *)REGS_PXA3XX },
> > -   { .compatible = "mrvl,mmp-twsi", .data = (void *)REGS_PXA2XX },
> > +   { .compatible = "marvell,pxa-i2c", .data = (void *)REGS_PXA2XX },
> > +   { .compatible = "marvell,pwri2c", .data = (void *)REGS_PXA3XX },
> > +   { .compatible = "marvell,mmp-twsi", .data = (void *)REGS_PXA2XX },
> >     {}
> >  };
> >  MODULE_DEVICE_TABLE(of, i2c_pxa_dt_ids); @@ -1060,9 +1060,9 @@
> static
> > int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
> >     /* For device tree we always use the dynamic or alias-assigned ID */
> >     i2c->adap.nr = -1;
> >
> > -   if (of_get_property(np, "mrvl,i2c-polling", NULL))
> > +   if (of_get_property(np, "marvell,i2c-polling", NULL))
> >             i2c->use_pio = 1;
> > -   if (of_get_property(np, "mrvl,i2c-fast-mode", NULL))
> > +   if (of_get_property(np, "marvell,i2c-fast-mode", NULL))
> >             i2c->fast_mode = 1;
> >     *i2c_types = (u32)(of_id->data);
> >     return 0;
> > diff --git a/drivers/mmc/host/sdhci-pxav2.c
> > b/drivers/mmc/host/sdhci-pxav2.c index 6a3f702..1dd6500 100644
> > --- a/drivers/mmc/host/sdhci-pxav2.c
> > +++ b/drivers/mmc/host/sdhci-pxav2.c
> > @@ -120,7 +120,7 @@ static const struct sdhci_ops pxav2_sdhci_ops = {
> > #ifdef CONFIG_OF  static const struct of_device_id
> > sdhci_pxav2_of_match[] = {
> >     {
> > -           .compatible = "mrvl,pxav2-mmc",
> > +           .compatible = "marvell,pxav2-mmc",
> >     },
> >     {},
> >  };
> > @@ -144,7 +144,7 @@ static struct sdhci_pxa_platdata
> *pxav2_get_mmc_pdata(struct device *dev)
> >     if (bus_width == 8)
> >             pdata->flags |= PXA_FLAG_SD_8_BIT_CAPABLE_SLOT;
> >
> > -   of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> > +   of_property_read_u32(np, "marvell,clk-delay-cycles",
> > +&clk_delay_cycles);
> >     if (clk_delay_cycles > 0) {
> >             pdata->clk_delay_sel = 1;
> >             pdata->clk_delay_cycles = clk_delay_cycles; diff --git
> > a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
> > index 1ae358e..a88974b 100644
> > --- a/drivers/mmc/host/sdhci-pxav3.c
> > +++ b/drivers/mmc/host/sdhci-pxav3.c
> > @@ -185,7 +185,7 @@ static struct sdhci_pltfm_data sdhci_pxav3_pdata
> =
> > {  #ifdef CONFIG_OF  static const struct of_device_id
> > sdhci_pxav3_of_match[] = {
> >     {
> > -           .compatible = "mrvl,pxav3-mmc",
> > +           .compatible = "marvell,pxav3-mmc",
> >     },
> >     {},
> >  };
> > @@ -201,7 +201,7 @@ static struct sdhci_pxa_platdata
> *pxav3_get_mmc_pdata(struct device *dev)
> >     if (!pdata)
> >             return NULL;
> >
> > -   of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> > +   of_property_read_u32(np, "marvell,clk-delay-cycles",
> > +&clk_delay_cycles);
> >     if (clk_delay_cycles > 0)
> >             pdata->clk_delay_cycles = clk_delay_cycles;
> >
> > diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c index
> > 0f7adeb..307dd37 100644
> > --- a/drivers/rtc/rtc-sa1100.c
> > +++ b/drivers/rtc/rtc-sa1100.c
> > @@ -339,8 +339,8 @@ static SIMPLE_DEV_PM_OPS(sa1100_rtc_pm_ops,
> > sa1100_rtc_suspend,
> >
> >  #ifdef CONFIG_OF
> >  static struct of_device_id sa1100_rtc_dt_ids[] = {
> > -   { .compatible = "mrvl,sa1100-rtc", },
> > -   { .compatible = "mrvl,mmp-rtc", },
> > +   { .compatible = "marvell,sa1100-rtc", },
> > +   { .compatible = "marvell,mmp-rtc", },
> >     {}
> >  };
> >  MODULE_DEVICE_TABLE(of, sa1100_rtc_dt_ids); diff --git
> > a/drivers/tty/serial/pxa.c b/drivers/tty/serial/pxa.c index
> > 05f504e..cb1a439 100644
> > --- a/drivers/tty/serial/pxa.c
> > +++ b/drivers/tty/serial/pxa.c
> > @@ -852,8 +852,8 @@ static const struct dev_pm_ops
> serial_pxa_pm_ops =
> > {  #endif
> >
> >  static struct of_device_id serial_pxa_dt_ids[] = {
> > -   { .compatible = "mrvl,pxa-uart", },
> > -   { .compatible = "mrvl,mmp-uart", },
> > +   { .compatible = "marvell,pxa-uart", },
> > +   { .compatible = "marvell,mmp-uart", },
> >     {}
> >  };
> >  MODULE_DEVICE_TABLE(of, serial_pxa_dt_ids);
> > --
> > 1.7.4.1
> >
> >

Best Regards,
Neil Zhang


> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10  7:25       ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-10  7:25 UTC (permalink / raw)
  To: linux-arm-kernel

Jason,

> -----Original Message-----
> From: Jason Cooper [mailto:jason at lakedaemon.net]
> Sent: 2013?7?9? 20:49
> To: Neil Zhang
> Cc: grant.likely at linaro.org; haojian.zhuang at gmail.com; arnd at arndb.de;
> devicetree-discuss at lists.ozlabs.org; linux-kernel at vger.kernel.org;
> linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
>
> Neil,
>
> On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> > The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> > let's change it.
> >
> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> > ---
> >  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >  arch/arm/boot/dts/mmp2.dtsi                        |   56
> ++++++++++----------
> >  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >  arch/arm/boot/dts/pxa168.dtsi                      |   24
> ++++----
> >  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >  arch/arm/boot/dts/pxa910.dtsi                      |   27
> +++++-----
> >  arch/arm/mach-mmp/irq.c                            |   16
> +++---
> >  arch/arm/mach-mmp/mmp-dt.c                         |   28
> +++++-----
> >  arch/arm/mach-mmp/mmp2-dt.c                        |   16
> +++---
> >  arch/arm/mach-mmp/time.c                           |    2 +-
> >  arch/arm/mach-pxa/pxa-dt.c                         |   14
> +++---
> >  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >  drivers/tty/serial/pxa.c                           |    4 +-
> >  25 files changed, 144 insertions(+), 143 deletions(-)
>
> I agree with the need to change, however, this has been in the binding
> documentation since v3.5.  I wish we had caught this when we decided
> against using stock ticker symbols (not all stock markets use alphabetical
> abbreviated names, not all companies are listed on any stock exchange).
>
> To do this properly, the drivers are going to have to be compatible with the
> old and the new names, and the binding docs updated to reflect the legacy
> name and the preferred name.
>
Do you mean it's better to support both legacy and preferred name at the same time?

> thx,
>
> Jason.
>
> > diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > index 8b53273..ad27548 100644
> > --- a/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > +++ b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
> > @@ -1,8 +1,8 @@
> >  * Marvell MMP Interrupt controller
> >
> >  Required properties:
> > -- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
> > -  "mrvl,mmp2-mux-intc"
> > +- compatible : Should be "marvell,mmp-intc", "marvell,mmp2-intc" or
> > +  "marvell,mmp2-mux-intc"
> >  - reg : Address and length of the register set of the interrupt controller.
> >    If the interrupt controller is intc, address and length means the range
> >    of the whold interrupt controller. If the interrupt controller is
> > mux-intc, @@ -15,28 +15,28 @@ Required properties:
> >  - interrupt-controller : Identifies the node as an interrupt controller.
> >  - #interrupt-cells : Specifies the number of cells needed to encode an
> >    interrupt source.
> > -- mrvl,intc-nr-irqs : Specifies the number of interrupts in the
> > interrupt
> > +- marvell,intc-nr-irqs : Specifies the number of interrupts in the
> > +interrupt
> >    controller.
> > -- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP
> > edge
> > +- marvell,clr-mfp-irq : Specifies the interrupt that needs to clear
> > +MFP edge
> >    detection first.
> >
> >  Example:
> >     intc: interrupt-controller at d4282000 {
> > -           compatible = "mrvl,mmp2-intc";
> > +           compatible = "marvell,mmp2-intc";
> >             interrupt-controller;
> >             #interrupt-cells = <1>;
> >             reg = <0xd4282000 0x1000>;
> > -           mrvl,intc-nr-irqs = <64>;
> > +           marvell,intc-nr-irqs = <64>;
> >     };
> >
> >     intcmux4 at d4282150 {
> > -           compatible = "mrvl,mmp2-mux-intc";
> > +           compatible = "marvell,mmp2-mux-intc";
> >             interrupts = <4>;
> >             interrupt-controller;
> >             #interrupt-cells = <1>;
> >             reg = <0x150 0x4>, <0x168 0x4>;
> >             reg-names = "mux status", "mux mask";
> > -           mrvl,intc-nr-irqs = <2>;
> > +           marvell,intc-nr-irqs = <2>;
> >     };
> >
> >  * Marvell Orion Interrupt controller
> > diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > index 117d741..87f1d42 100644
> > --- a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > +++ b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
> > @@ -3,12 +3,12 @@ Marvell Platforms Device Tree Bindings
> >
> >  PXA168 Aspenite Board
> >  Required root node properties:
> > -   - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> > +   - compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
> >
> >  PXA910 DKB Board
> >  Required root node properties:
> > -   - compatible = "mrvl,pxa910-dkb";
> > +   - compatible = "marvell,pxa910-dkb";
> >
> >  MMP2 Brownstone Board
> >  Required root node properties:
> > -   - compatible = "mrvl,mmp2-brownstone";
> > +   - compatible = "marvell,mmp2-brownstone";
> > diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > index 9a6e251..1304526 100644
> > --- a/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > +++ b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
> > @@ -1,13 +1,13 @@
> >  * Marvell MMP Timer controller
> >
> >  Required properties:
> > -- compatible : Should be "mrvl,mmp-timer".
> > +- compatible : Should be "marvell,mmp-timer".
> >  - reg : Address and length of the register set of timer controller.
> >  - interrupts : Should be the interrupt number.
> >
> >  Example:
> >     timer0: timer at d4014000 {
> > -           compatible = "mrvl,mmp-timer";
> > +           compatible = "marvell,mmp-timer";
> >             reg = <0xd4014000 0x100>;
> >             interrupts = <13>;
> >     };
> > diff --git a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > index 12b78ac..34fdf5d 100644
> > --- a/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > +++ b/Documentation/devicetree/bindings/i2c/i2c-pxa.txt
> > @@ -3,9 +3,9 @@
> >  Required properties :
> >
> >   - reg : Offset and length of the register set for the device
> > - - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
> > + - compatible : should be "marvell,mmp-twsi" where mmp is the name of
> > + a
> >     compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
> > -   For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
> > +   For the pxa2xx/pxa3xx, an additional node "marvell,pxa-i2c" is
> > + required
> >     as shown in the example below.
> >
> >  Recommended properties :
> > @@ -14,20 +14,20 @@ Recommended properties :
> >   - interrupt-parent : the phandle for the interrupt controller that
> >     services interrupts for this device. If the parent is the default
> >     interrupt controller in device tree, it could be ignored.
> > - - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
> > + - marvell,i2c-polling : Disable interrupt of i2c controller. Polling
> >     status register of i2c controller instead.
> > - - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
> > + - marvell,i2c-fast-mode : Enable fast mode of i2c controller.
> >
> >  Examples:
> >     twsi1: i2c at d4011000 {
> > -           compatible = "mrvl,mmp-twsi";
> > +           compatible = "marvell,mmp-twsi";
> >             reg = <0xd4011000 0x1000>;
> >             interrupts = <7>;
> > -           mrvl,i2c-fast-mode;
> > +           marvell,i2c-fast-mode;
> >     };
> >
> >     twsi2: i2c at d4025000 {
> > -           compatible = "mrvl,mmp-twsi";
> > +           compatible = "marvell,mmp-twsi";
> >             reg = <0xd4025000 0x1000>;
> >             interrupts = <58>;
> >     };
> > diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > index dbe98a3..d603a3e 100644
> > --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
> > @@ -4,18 +4,18 @@ This file documents differences between the core
> > properties in mmc.txt  and the properties used by the sdhci-pxav2 and
> sdhci-pxav3 drivers.
> >
> >  Required properties:
> > -- compatible: Should be "mrvl,pxav2-mmc" or "mrvl,pxav3-mmc".
> > +- compatible: Should be "marvell,pxav2-mmc" or "marvell,pxav3-mmc".
> >
> >  Optional properties:
> > -- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
> > +- marvell,clk-delay-cycles: Specify a number of cycles to delay for tuning.
> >
> >  Example:
> >
> >  sdhci at d4280800 {
> > -   compatible = "mrvl,pxav3-mmc";
> > +   compatible = "marvell,pxav3-mmc";
> >     reg = <0xd4280800 0x800>;
> >     bus-width = <8>;
> >     interrupts = <27>;
> >     non-removable;
> > -   mrvl,clk-delay-cycles = <31>;
> > +   marvell,clk-delay-cycles = <31>;
> >  };
> > diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > index 0cda19a..886fe15 100644
> > --- a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > +++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt
> > @@ -1,7 +1,7 @@
> >  * Marvell Real Time Clock controller
> >
> >  Required properties:
> > -- compatible: should be "mrvl,sa1100-rtc"
> > +- compatible: should be "marvell,sa1100-rtc"
> >  - reg: physical base address of the controller and length of memory
> mapped
> >    region.
> >  - interrupts: Should be two. The first interrupt number is the rtc
> > alarm @@ -10,7 +10,7 @@ Required properties:
> >
> >  Example:
> >     rtc: rtc at d4010000 {
> > -           compatible = "mrvl,mmp-rtc";
> > +           compatible = "marvell,mmp-rtc";
> >             reg = <0xd4010000 0x1000>;
> >             interrupts = <5>, <6>;
> >             interrupt-name = "rtc 1Hz", "rtc alarm"; diff --git
> > a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > index d744340..659d35e 100644
> > --- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > +++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
> > @@ -1,4 +1,4 @@
> >  PXA UART controller
> >
> >  Required properties:
> > -- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
> > +- compatible : should be "marvell,mmp-uart" or "marvell,pxa-uart".
> > diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts
> > b/arch/arm/boot/dts/mmp2-brownstone.dts
> > index 7f70a39..26abfde 100644
> > --- a/arch/arm/boot/dts/mmp2-brownstone.dts
> > +++ b/arch/arm/boot/dts/mmp2-brownstone.dts
> > @@ -12,7 +12,7 @@
> >
> >  / {
> >     model = "Marvell MMP2 Brownstone Development Board";
> > -   compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
> > +   compatible = "marvell,mmp2-brownstone", "marvell,mmp2";
> >
> >     chosen {
> >             bootargs = "console=ttyS2,38400 root=/dev/nfs
> > nfsroot=192.168.1.100:/nfsroot/
> > ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> > diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
> > index 4e8b08c..ac13654 100644
> > --- a/arch/arm/boot/dts/mmp2.dtsi
> > +++ b/arch/arm/boot/dts/mmp2.dtsi
> > @@ -32,128 +32,128 @@
> >             };
> >
> >             axi at d4200000 {  /* AXI */
> > -                   compatible = "mrvl,axi-bus", "simple-bus";
> > +                   compatible = "marvell,axi-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4200000 0x00200000>;
> >                     ranges;
> >
> >                     intc: interrupt-controller at d4282000 {
> > -                           compatible = "mrvl,mmp2-intc";
> > +                           compatible = "marvell,mmp2-intc";
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0xd4282000 0x1000>;
> > -                           mrvl,intc-nr-irqs = <64>;
> > +                           marvell,intc-nr-irqs = <64>;
> >                     };
> >
> >                     intcmux4: interrupt-controller at d4282150 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <4>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x150 0x4>, <0x168 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > +                           marvell,intc-nr-irqs = <2>;
> >                     };
> >
> >                     intcmux5: interrupt-controller at d4282154 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <5>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x154 0x4>, <0x16c 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > -                           mrvl,clr-mfp-irq = <1>;
> > +                           marvell,intc-nr-irqs = <2>;
> > +                           marvell,clr-mfp-irq = <1>;
> >                     };
> >
> >                     intcmux9: interrupt-controller at d4282180 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <9>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x180 0x4>, <0x17c 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <3>;
> > +                           marvell,intc-nr-irqs = <3>;
> >                     };
> >
> >                     intcmux17: interrupt-controller at d4282158 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <17>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x158 0x4>, <0x170 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <5>;
> > +                           marvell,intc-nr-irqs = <5>;
> >                     };
> >
> >                     intcmux35: interrupt-controller at d428215c {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <35>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x15c 0x4>, <0x174 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <15>;
> > +                           marvell,intc-nr-irqs = <15>;
> >                     };
> >
> >                     intcmux51: interrupt-controller at d4282160 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <51>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x160 0x4>, <0x178 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > +                           marvell,intc-nr-irqs = <2>;
> >                     };
> >
> >                     intcmux55: interrupt-controller at d4282188 {
> > -                           compatible = "mrvl,mmp2-mux-intc";
> > +                           compatible = "marvell,mmp2-mux-intc";
> >                             interrupts = <55>;
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0x188 0x4>, <0x184 0x4>;
> >                             reg-names = "mux status", "mux mask";
> > -                           mrvl,intc-nr-irqs = <2>;
> > +                           marvell,intc-nr-irqs = <2>;
> >                     };
> >             };
> >
> >             apb at d4000000 {  /* APB */
> > -                   compatible = "mrvl,apb-bus", "simple-bus";
> > +                   compatible = "marvell,apb-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4000000 0x00200000>;
> >                     ranges;
> >
> >                     timer0: timer at d4014000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4014000 0x100>;
> >                             interrupts = <13>;
> >                     };
> >
> >                     uart1: uart at d4030000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4030000 0x1000>;
> >                             interrupts = <27>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart2: uart at d4017000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4017000 0x1000>;
> >                             interrupts = <28>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart3: uart at d4018000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4018000 0x1000>;
> >                             interrupts = <24>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart4: uart at d4016000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4016000 0x1000>;
> >                             interrupts = <46>;
> >                             status = "disabled";
> > @@ -198,24 +198,24 @@
> >                     };
> >
> >                     twsi1: i2c at d4011000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4011000 0x1000>;
> >                             interrupts = <7>;
> >                             #address-cells = <1>;
> >                             #size-cells = <0>;
> > -                           mrvl,i2c-fast-mode;
> > +                           marvell,i2c-fast-mode;
> >                             status = "disabled";
> >                     };
> >
> >                     twsi2: i2c at d4025000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4025000 0x1000>;
> >                             interrupts = <58>;
> >                             status = "disabled";
> >                     };
> >
> >                     rtc: rtc at d4010000 {
> > -                           compatible = "mrvl,mmp-rtc";
> > +                           compatible = "marvell,mmp-rtc";
> >                             reg = <0xd4010000 0x1000>;
> >                             interrupts = <1 0>;
> >                             interrupt-names = "rtc 1Hz", "rtc alarm"; diff --git
> > a/arch/arm/boot/dts/pxa168-aspenite.dts
> > b/arch/arm/boot/dts/pxa168-aspenite.dts
> > index e762fac..1e2ac17 100644
> > --- a/arch/arm/boot/dts/pxa168-aspenite.dts
> > +++ b/arch/arm/boot/dts/pxa168-aspenite.dts
> > @@ -12,7 +12,7 @@
> >
> >  / {
> >     model = "Marvell PXA168 Aspenite Development Board";
> > -   compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
> > +   compatible = "marvell,pxa168-aspenite", "marvell,pxa168";
> >
> >     chosen {
> >             bootargs = "console=ttyS0,115200 root=/dev/nfs
> > nfsroot=192.168.1.100:/nfsroot/
> > ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> > diff --git a/arch/arm/boot/dts/pxa168.dtsi
> > b/arch/arm/boot/dts/pxa168.dtsi index 975dad2..c08f5fc 100644
> > --- a/arch/arm/boot/dts/pxa168.dtsi
> > +++ b/arch/arm/boot/dts/pxa168.dtsi
> > @@ -26,51 +26,51 @@
> >             ranges;
> >
> >             axi at d4200000 {  /* AXI */
> > -                   compatible = "mrvl,axi-bus", "simple-bus";
> > +                   compatible = "marvell,axi-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4200000 0x00200000>;
> >                     ranges;
> >
> >                     intc: interrupt-controller at d4282000 {
> > -                           compatible = "mrvl,mmp-intc";
> > +                           compatible = "marvell,mmp-intc";
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0xd4282000 0x1000>;
> > -                           mrvl,intc-nr-irqs = <64>;
> > +                           marvell,intc-nr-irqs = <64>;
> >                     };
> >
> >             };
> >
> >             apb at d4000000 {  /* APB */
> > -                   compatible = "mrvl,apb-bus", "simple-bus";
> > +                   compatible = "marvell,apb-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4000000 0x00200000>;
> >                     ranges;
> >
> >                     timer0: timer at d4014000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4014000 0x100>;
> >                             interrupts = <13>;
> >                     };
> >
> >                     uart1: uart at d4017000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4017000 0x1000>;
> >                             interrupts = <27>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart2: uart at d4018000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4018000 0x1000>;
> >                             interrupts = <28>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart3: uart at d4026000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4026000 0x1000>;
> >                             interrupts = <29>;
> >                             status = "disabled";
> > @@ -107,22 +107,22 @@
> >                     };
> >
> >                     twsi1: i2c at d4011000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4011000 0x1000>;
> >                             interrupts = <7>;
> > -                           mrvl,i2c-fast-mode;
> > +                           marvell,i2c-fast-mode;
> >                             status = "disabled";
> >                     };
> >
> >                     twsi2: i2c at d4025000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             reg = <0xd4025000 0x1000>;
> >                             interrupts = <58>;
> >                             status = "disabled";
> >                     };
> >
> >                     rtc: rtc at d4010000 {
> > -                           compatible = "mrvl,mmp-rtc";
> > +                           compatible = "marvell,mmp-rtc";
> >                             reg = <0xd4010000 0x1000>;
> >                             interrupts = <5 6>;
> >                             interrupt-names = "rtc 1Hz", "rtc alarm"; diff --git
> > a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi index
> > a5e90f0..c426b1e 100644
> > --- a/arch/arm/boot/dts/pxa2xx.dtsi
> > +++ b/arch/arm/boot/dts/pxa2xx.dtsi
> > @@ -47,7 +47,7 @@
> >             };
> >
> >             gpio: gpio at 40e00000 {
> > -                   compatible = "mrvl,pxa-gpio";
> > +                   compatible = "marvell,pxa-gpio";
> >                     #address-cells = <0x1>;
> >                     #size-cells = <0x1>;
> >                     reg = <0x40e00000 0x10000>;
> > @@ -76,35 +76,35 @@
> >             };
> >
> >             ffuart: uart at 40100000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x40100000 0x30>;
> >                     interrupts = <22>;
> >                     status = "disabled";
> >             };
> >
> >             btuart: uart at 40200000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x40200000 0x30>;
> >                     interrupts = <21>;
> >                     status = "disabled";
> >             };
> >
> >             stuart: uart at 40700000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x40700000 0x30>;
> >                     interrupts = <20>;
> >                     status = "disabled";
> >             };
> >
> >             hwuart: uart at 41100000 {
> > -                   compatible = "mrvl,pxa-uart";
> > +                   compatible = "marvell,pxa-uart";
> >                     reg = <0x41100000 0x30>;
> >                     interrupts = <7>;
> >                     status = "disabled";
> >             };
> >
> >             pxai2c1: i2c at 40301680 {
> > -                   compatible = "mrvl,pxa-i2c";
> > +                   compatible = "marvell,pxa-i2c";
> >                     reg = <0x40301680 0x30>;
> >                     interrupts = <18>;
> >                     #address-cells = <0x1>;
> > @@ -113,14 +113,14 @@
> >             };
> >
> >             usb0: ohci at 4c000000 {
> > -                   compatible = "mrvl,pxa-ohci";
> > +                   compatible = "marvell,pxa-ohci";
> >                     reg = <0x4c000000 0x10000>;
> >                     interrupts = <3>;
> >                     status = "disabled";
> >             };
> >
> >             mmc0: mmc at 41100000 {
> > -                   compatible = "mrvl,pxa-mmc";
> > +                   compatible = "marvell,pxa-mmc";
> >                     reg = <0x41100000 0x1000>;
> >                     interrupts = <23>;
> >                     status = "disabled";
> > diff --git a/arch/arm/boot/dts/pxa3xx.dtsi
> > b/arch/arm/boot/dts/pxa3xx.dtsi index f9d92da..0798031 100644
> > --- a/arch/arm/boot/dts/pxa3xx.dtsi
> > +++ b/arch/arm/boot/dts/pxa3xx.dtsi
> > @@ -7,7 +7,7 @@
> >
> >     pxabus {
> >             pwri2c: i2c at 40f500c0 {
> > -                   compatible = "mrvl,pwri2c";
> > +                   compatible = "marvell,pwri2c";
> >                     reg = <0x40f500c0 0x30>;
> >                     interrupts = <6>;
> >                     #address-cells = <0x1>;
> > diff --git a/arch/arm/boot/dts/pxa910-dkb.dts
> > b/arch/arm/boot/dts/pxa910-dkb.dts
> > index 595492a..7384254 100644
> > --- a/arch/arm/boot/dts/pxa910-dkb.dts
> > +++ b/arch/arm/boot/dts/pxa910-dkb.dts
> > @@ -12,7 +12,7 @@
> >
> >  / {
> >     model = "Marvell PXA910 DKB Development Board";
> > -   compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
> > +   compatible = "marvell,pxa910-dkb", "marvell,pxa910";
> >
> >     chosen {
> >             bootargs = "console=ttyS0,115200 root=/dev/nfs
> > nfsroot=192.168.1.100:/nfsroot/
> > ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
> > diff --git a/arch/arm/boot/dts/pxa910.dtsi
> > b/arch/arm/boot/dts/pxa910.dtsi index 0247c62..b5594a0 100644
> > --- a/arch/arm/boot/dts/pxa910.dtsi
> > +++ b/arch/arm/boot/dts/pxa910.dtsi
> > @@ -31,58 +31,59 @@
> >             };
> >
> >             axi at d4200000 {  /* AXI */
> > -                   compatible = "mrvl,axi-bus", "simple-bus";
> > +                   compatible = "marvell,axi-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4200000 0x00200000>;
> >                     ranges;
> >
> >                     intc: interrupt-controller at d4282000 {
> > -                           compatible = "mrvl,mmp-intc";
> > +                           compatible = "marvell,mmp-intc";
> >                             interrupt-controller;
> >                             #interrupt-cells = <1>;
> >                             reg = <0xd4282000 0x1000>;
> > -                           mrvl,intc-nr-irqs = <64>;
> > +                           marvell,intc-nr-irqs = <64>;
> > +
> >                     };
> >
> >             };
> >
> >             apb at d4000000 {  /* APB */
> > -                   compatible = "mrvl,apb-bus", "simple-bus";
> > +                   compatible = "marvell,apb-bus", "simple-bus";
> >                     #address-cells = <1>;
> >                     #size-cells = <1>;
> >                     reg = <0xd4000000 0x00200000>;
> >                     ranges;
> >
> >                     timer0: timer at d4014000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4014000 0x100>;
> >                             interrupts = <13>;
> >                     };
> >
> >                     timer1: timer at d4016000 {
> > -                           compatible = "mrvl,mmp-timer";
> > +                           compatible = "marvell,mmp-timer";
> >                             reg = <0xd4016000 0x100>;
> >                             interrupts = <29>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart1: uart at d4017000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4017000 0x1000>;
> >                             interrupts = <27>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart2: uart at d4018000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4018000 0x1000>;
> >                             interrupts = <28>;
> >                             status = "disabled";
> >                     };
> >
> >                     uart3: uart at d4036000 {
> > -                           compatible = "mrvl,mmp-uart";
> > +                           compatible = "marvell,mmp-uart";
> >                             reg = <0xd4036000 0x1000>;
> >                             interrupts = <59>;
> >                             status = "disabled";
> > @@ -119,17 +120,17 @@
> >                     };
> >
> >                     twsi1: i2c at d4011000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             #address-cells = <1>;
> >                             #size-cells = <0>;
> >                             reg = <0xd4011000 0x1000>;
> >                             interrupts = <7>;
> > -                           mrvl,i2c-fast-mode;
> > +                           marvell,i2c-fast-mode;
> >                             status = "disabled";
> >                     };
> >
> >                     twsi2: i2c at d4037000 {
> > -                           compatible = "mrvl,mmp-twsi";
> > +                           compatible = "marvell,mmp-twsi";
> >                             #address-cells = <1>;
> >                             #size-cells = <0>;
> >                             reg = <0xd4037000 0x1000>;
> > @@ -138,7 +139,7 @@
> >                     };
> >
> >                     rtc: rtc at d4010000 {
> > -                           compatible = "mrvl,mmp-rtc";
> > +                           compatible = "marvell,mmp-rtc";
> >                             reg = <0xd4010000 0x1000>;
> >                             interrupts = <5 6>;
> >                             interrupt-names = "rtc 1Hz", "rtc alarm"; diff --git
> > a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c index
> > 3c71246..a7a53611 100644
> > --- a/arch/arm/mach-mmp/irq.c
> > +++ b/arch/arm/mach-mmp/irq.c
> > @@ -327,13 +327,13 @@ void __init mmp2_init_icu(void)
> >
> >  #ifdef CONFIG_OF
> >  static const struct of_device_id intc_ids[] __initconst = {
> > -   { .compatible = "mrvl,mmp-intc", .data = &mmp_conf },
> > -   { .compatible = "mrvl,mmp2-intc", .data = &mmp2_conf },
> > +   { .compatible = "marvell,mmp-intc", .data = &mmp_conf },
> > +   { .compatible = "marvell,mmp2-intc", .data = &mmp2_conf },
> >     {}
> >  };
> >
> >  static const struct of_device_id mmp_mux_irq_match[] __initconst = {
> > -   { .compatible = "mrvl,mmp2-mux-intc" },
> > +   { .compatible = "marvell,mmp2-mux-intc" },
> >     {}
> >  };
> >
> > @@ -352,10 +352,10 @@ int __init mmp2_mux_init(struct device_node
> *parent)
> >             if (!node)
> >                     break;
> >             of_id = of_match_node(&mmp_mux_irq_match[0], node);
> > -           ret = of_property_read_u32(node, "mrvl,intc-nr-irqs",
> > +           ret = of_property_read_u32(node, "marvell,intc-nr-irqs",
> >                                        &nr_irqs);
> >             if (ret) {
> > -                   pr_err("Not found mrvl,intc-nr-irqs property\n");
> > +                   pr_err("Not found marvell,intc-nr-irqs property\n");
> >                     ret = -EINVAL;
> >                     goto err;
> >             }
> > @@ -385,7 +385,7 @@ int __init mmp2_mux_init(struct device_node
> *parent)
> >                     ret = irq_base;
> >                     goto err;
> >             }
> > -           if (!of_property_read_u32(node, "mrvl,clr-mfp-irq",
> > +           if (!of_property_read_u32(node, "marvell,clr-mfp-irq",
> >                                       &mfp_irq)) {
> >                     icu_data[i].clr_mfp_irq_base = irq_base;
> >                     icu_data[i].clr_mfp_hwirq = mfp_irq; @@ -424,9 +424,9 @@
> void
> > __init mmp_dt_irq_init(void)
> >     of_id = of_match_node(intc_ids, node);
> >     conf = of_id->data;
> >
> > -   ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs);
> > +   ret = of_property_read_u32(node, "marvell,intc-nr-irqs", &nr_irqs);
> >     if (ret) {
> > -           pr_err("Not found mrvl,intc-nr-irqs property\n");
> > +           pr_err("Not found marvell,intc-nr-irqs property\n");
> >             return;
> >     }
> >
> > diff --git a/arch/arm/mach-mmp/mmp-dt.c
> b/arch/arm/mach-mmp/mmp-dt.c
> > index b37915d..62c5adb 100644
> > --- a/arch/arm/mach-mmp/mmp-dt.c
> > +++ b/arch/arm/mach-mmp/mmp-dt.c
> > @@ -23,24 +23,24 @@ extern void __init mmp_dt_irq_init(void);  extern
> > void __init mmp_dt_init_timer(void);
> >
> >  static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4026000, "pxa2xx-uart.2",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> > +NULL),
> >     OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc",
> NULL),
> >     {}
> >  };
> >
> >  static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4036000, "pxa2xx-uart.2",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1",
> > +NULL),
> >     OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc",
> NULL),
> >     {}
> >  };
> >
> > @@ -57,8 +57,8 @@ static void __init pxa910_dt_init(void)  }
> >
> >  static const char *mmp_dt_board_compat[] __initdata = {
> > -   "mrvl,pxa168-aspenite",
> > -   "mrvl,pxa910-dkb",
> > +   "marvell,pxa168-aspenite",
> > +   "marvell,pxa910-dkb",
> >     NULL,
> >  };
> >
> > diff --git a/arch/arm/mach-mmp/mmp2-dt.c
> b/arch/arm/mach-mmp/mmp2-dt.c
> > index 4ac2567..6523ecf 100644
> > --- a/arch/arm/mach-mmp/mmp2-dt.c
> > +++ b/arch/arm/mach-mmp/mmp2-dt.c
> > @@ -25,14 +25,14 @@ extern void __init mmp_dt_irq_init(void);  extern
> > void __init mmp_dt_init_timer(void);
> >
> >  static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.2",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4030000, "pxa2xx-uart.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4017000, "pxa2xx-uart.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4018000, "pxa2xx-uart.2",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-uart", 0xd4016000, "pxa2xx-uart.3",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1",
> > +NULL),
> >     OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
> > +   OF_DEV_AUXDATA("marvell,mmp-rtc", 0xd4010000, "sa1100-rtc",
> NULL),
> >     {}
> >  };
> >
> > @@ -43,7 +43,7 @@ static void __init mmp2_dt_init(void)  }
> >
> >  static const char *mmp2_dt_board_compat[] __initdata = {
> > -   "mrvl,mmp2-brownstone",
> > +   "marvell,mmp2-brownstone",
> >     NULL,
> >  };
> >
> > diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
> index
> > 7ac41e8..67e7d5c 100644
> > --- a/arch/arm/mach-mmp/time.c
> > +++ b/arch/arm/mach-mmp/time.c
> > @@ -208,7 +208,7 @@ void __init timer_init(int irq)
> >
> >  #ifdef CONFIG_OF
> >  static struct of_device_id mmp_timer_dt_ids[] = {
> > -   { .compatible = "mrvl,mmp-timer", },
> > +   { .compatible = "marvell,mmp-timer", },
> >     {}
> >  };
> >
> > diff --git a/arch/arm/mach-pxa/pxa-dt.c b/arch/arm/mach-pxa/pxa-dt.c
> > index 3835979..b679367 100644
> > --- a/arch/arm/mach-pxa/pxa-dt.c
> > +++ b/arch/arm/mach-pxa/pxa-dt.c
> > @@ -23,15 +23,15 @@
> >  extern void __init pxa3xx_dt_init_irq(void);
> >
> >  static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst
> = {
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40100000,
> "pxa2xx-uart.0", NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40200000,
> "pxa2xx-uart.1", NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40700000,
> "pxa2xx-uart.2", NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-uart",         0x41600000,
> "pxa2xx-uart.3", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x40100000,
> "pxa2xx-uart.0", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x40200000,
> "pxa2xx-uart.1", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x40700000,
> "pxa2xx-uart.2", NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-uart",      0x41600000,
> "pxa2xx-uart.3", NULL),
> >     OF_DEV_AUXDATA("marvell,pxa-mmc",       0x41100000, "pxa2xx-mci.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-gpio",         0x40e00000, "pxa-gpio",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-gpio",      0x40e00000, "pxa-gpio",
> NULL),
> >     OF_DEV_AUXDATA("marvell,pxa-ohci",      0x4c000000, "pxa27x-ohci",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,pxa-i2c",          0x40301680, "pxa2xx-i2c.0",
> NULL),
> > -   OF_DEV_AUXDATA("mrvl,pwri2c",           0x40f500c0, "pxa3xx-i2c.1",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,pxa-i2c",       0x40301680, "pxa2xx-i2c.0",
> NULL),
> > +   OF_DEV_AUXDATA("marvell,pwri2c",        0x40f500c0, "pxa3xx-i2c.1",
> NULL),
> >     OF_DEV_AUXDATA("marvell,pxa3xx-nand",   0x43100000, "pxa3xx-nand",
> NULL),
> >     {}
> >  };
> > diff --git a/drivers/i2c/busses/i2c-pxa.c
> > b/drivers/i2c/busses/i2c-pxa.c index fbafed2..6f2b17d 100644
> > --- a/drivers/i2c/busses/i2c-pxa.c
> > +++ b/drivers/i2c/busses/i2c-pxa.c
> > @@ -1040,9 +1040,9 @@ static const struct i2c_algorithm
> > i2c_pxa_pio_algorithm = {  };
> >
> >  static struct of_device_id i2c_pxa_dt_ids[] = {
> > -   { .compatible = "mrvl,pxa-i2c", .data = (void *)REGS_PXA2XX },
> > -   { .compatible = "mrvl,pwri2c", .data = (void *)REGS_PXA3XX },
> > -   { .compatible = "mrvl,mmp-twsi", .data = (void *)REGS_PXA2XX },
> > +   { .compatible = "marvell,pxa-i2c", .data = (void *)REGS_PXA2XX },
> > +   { .compatible = "marvell,pwri2c", .data = (void *)REGS_PXA3XX },
> > +   { .compatible = "marvell,mmp-twsi", .data = (void *)REGS_PXA2XX },
> >     {}
> >  };
> >  MODULE_DEVICE_TABLE(of, i2c_pxa_dt_ids); @@ -1060,9 +1060,9 @@
> static
> > int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
> >     /* For device tree we always use the dynamic or alias-assigned ID */
> >     i2c->adap.nr = -1;
> >
> > -   if (of_get_property(np, "mrvl,i2c-polling", NULL))
> > +   if (of_get_property(np, "marvell,i2c-polling", NULL))
> >             i2c->use_pio = 1;
> > -   if (of_get_property(np, "mrvl,i2c-fast-mode", NULL))
> > +   if (of_get_property(np, "marvell,i2c-fast-mode", NULL))
> >             i2c->fast_mode = 1;
> >     *i2c_types = (u32)(of_id->data);
> >     return 0;
> > diff --git a/drivers/mmc/host/sdhci-pxav2.c
> > b/drivers/mmc/host/sdhci-pxav2.c index 6a3f702..1dd6500 100644
> > --- a/drivers/mmc/host/sdhci-pxav2.c
> > +++ b/drivers/mmc/host/sdhci-pxav2.c
> > @@ -120,7 +120,7 @@ static const struct sdhci_ops pxav2_sdhci_ops = {
> > #ifdef CONFIG_OF  static const struct of_device_id
> > sdhci_pxav2_of_match[] = {
> >     {
> > -           .compatible = "mrvl,pxav2-mmc",
> > +           .compatible = "marvell,pxav2-mmc",
> >     },
> >     {},
> >  };
> > @@ -144,7 +144,7 @@ static struct sdhci_pxa_platdata
> *pxav2_get_mmc_pdata(struct device *dev)
> >     if (bus_width == 8)
> >             pdata->flags |= PXA_FLAG_SD_8_BIT_CAPABLE_SLOT;
> >
> > -   of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> > +   of_property_read_u32(np, "marvell,clk-delay-cycles",
> > +&clk_delay_cycles);
> >     if (clk_delay_cycles > 0) {
> >             pdata->clk_delay_sel = 1;
> >             pdata->clk_delay_cycles = clk_delay_cycles; diff --git
> > a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
> > index 1ae358e..a88974b 100644
> > --- a/drivers/mmc/host/sdhci-pxav3.c
> > +++ b/drivers/mmc/host/sdhci-pxav3.c
> > @@ -185,7 +185,7 @@ static struct sdhci_pltfm_data sdhci_pxav3_pdata
> =
> > {  #ifdef CONFIG_OF  static const struct of_device_id
> > sdhci_pxav3_of_match[] = {
> >     {
> > -           .compatible = "mrvl,pxav3-mmc",
> > +           .compatible = "marvell,pxav3-mmc",
> >     },
> >     {},
> >  };
> > @@ -201,7 +201,7 @@ static struct sdhci_pxa_platdata
> *pxav3_get_mmc_pdata(struct device *dev)
> >     if (!pdata)
> >             return NULL;
> >
> > -   of_property_read_u32(np, "mrvl,clk-delay-cycles", &clk_delay_cycles);
> > +   of_property_read_u32(np, "marvell,clk-delay-cycles",
> > +&clk_delay_cycles);
> >     if (clk_delay_cycles > 0)
> >             pdata->clk_delay_cycles = clk_delay_cycles;
> >
> > diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c index
> > 0f7adeb..307dd37 100644
> > --- a/drivers/rtc/rtc-sa1100.c
> > +++ b/drivers/rtc/rtc-sa1100.c
> > @@ -339,8 +339,8 @@ static SIMPLE_DEV_PM_OPS(sa1100_rtc_pm_ops,
> > sa1100_rtc_suspend,
> >
> >  #ifdef CONFIG_OF
> >  static struct of_device_id sa1100_rtc_dt_ids[] = {
> > -   { .compatible = "mrvl,sa1100-rtc", },
> > -   { .compatible = "mrvl,mmp-rtc", },
> > +   { .compatible = "marvell,sa1100-rtc", },
> > +   { .compatible = "marvell,mmp-rtc", },
> >     {}
> >  };
> >  MODULE_DEVICE_TABLE(of, sa1100_rtc_dt_ids); diff --git
> > a/drivers/tty/serial/pxa.c b/drivers/tty/serial/pxa.c index
> > 05f504e..cb1a439 100644
> > --- a/drivers/tty/serial/pxa.c
> > +++ b/drivers/tty/serial/pxa.c
> > @@ -852,8 +852,8 @@ static const struct dev_pm_ops
> serial_pxa_pm_ops =
> > {  #endif
> >
> >  static struct of_device_id serial_pxa_dt_ids[] = {
> > -   { .compatible = "mrvl,pxa-uart", },
> > -   { .compatible = "mrvl,mmp-uart", },
> > +   { .compatible = "marvell,pxa-uart", },
> > +   { .compatible = "marvell,mmp-uart", },
> >     {}
> >  };
> >  MODULE_DEVICE_TABLE(of, serial_pxa_dt_ids);
> > --
> > 1.7.4.1
> >
> >

Best Regards,
Neil Zhang


> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-09 12:49     ` Jason Cooper
  (?)
@ 2013-07-10  8:19       ` Haojian Zhuang
  -1 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-10  8:19 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Neil Zhang, Grant Likely, Bergmann Arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> Neil,
>
> On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> let's change it.
>>
>> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> ---
>>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>>  arch/arm/mach-mmp/time.c                           |    2 +-
>>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>>  drivers/tty/serial/pxa.c                           |    4 +-
>>  25 files changed, 144 insertions(+), 143 deletions(-)
>
> I agree with the need to change, however, this has been in the binding
> documentation since v3.5.  I wish we had caught this when we decided
> against using stock ticker symbols (not all stock markets use
> alphabetical abbreviated names, not all companies are listed on any
> stock exchange).
>
> To do this properly, the drivers are going to have to be compatible with
> the old and the new names, and the binding docs updated to reflect the
> legacy name and the preferred name.
>

It's better to only use the new names.

Neil,

Could you split your patches according to different subsystem?

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10  8:19       ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-10  8:19 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Neil Zhang, Grant Likely, Bergmann Arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> Neil,
>
> On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> let's change it.
>>
>> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> ---
>>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>>  arch/arm/mach-mmp/time.c                           |    2 +-
>>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>>  drivers/tty/serial/pxa.c                           |    4 +-
>>  25 files changed, 144 insertions(+), 143 deletions(-)
>
> I agree with the need to change, however, this has been in the binding
> documentation since v3.5.  I wish we had caught this when we decided
> against using stock ticker symbols (not all stock markets use
> alphabetical abbreviated names, not all companies are listed on any
> stock exchange).
>
> To do this properly, the drivers are going to have to be compatible with
> the old and the new names, and the binding docs updated to reflect the
> legacy name and the preferred name.
>

It's better to only use the new names.

Neil,

Could you split your patches according to different subsystem?

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10  8:19       ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-10  8:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> Neil,
>
> On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> let's change it.
>>
>> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> ---
>>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>>  arch/arm/mach-mmp/time.c                           |    2 +-
>>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>>  drivers/tty/serial/pxa.c                           |    4 +-
>>  25 files changed, 144 insertions(+), 143 deletions(-)
>
> I agree with the need to change, however, this has been in the binding
> documentation since v3.5.  I wish we had caught this when we decided
> against using stock ticker symbols (not all stock markets use
> alphabetical abbreviated names, not all companies are listed on any
> stock exchange).
>
> To do this properly, the drivers are going to have to be compatible with
> the old and the new names, and the binding docs updated to reflect the
> legacy name and the preferred name.
>

It's better to only use the new names.

Neil,

Could you split your patches according to different subsystem?

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-10  7:25       ` Neil Zhang
  (?)
@ 2013-07-10 12:20         ` Jason Cooper
  -1 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 12:20 UTC (permalink / raw)
  To: Neil Zhang
  Cc: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

Neil,

On Wed, Jul 10, 2013 at 12:25:17AM -0700, Neil Zhang wrote:
> Jason,
> 
> > -----Original Message-----
> > From: Jason Cooper [mailto:jason@lakedaemon.net]
> > Sent: 2013年7月9日 20:49
> > To: Neil Zhang
> > Cc: grant.likely@linaro.org; haojian.zhuang@gmail.com; arnd@arndb.de;
> > devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
> > linux-arm-kernel@lists.infradead.org
> > Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
> >
> > Neil,
> >
> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> > > The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> > > let's change it.
> > >
> > > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> > > ---
> > >  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> > >  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> > >  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> > >  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> > >  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> > >  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> > >  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> > >  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> > >  arch/arm/boot/dts/mmp2.dtsi                        |   56
> > ++++++++++----------
> > >  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> > >  arch/arm/boot/dts/pxa168.dtsi                      |   24
> > ++++----
> > >  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> > >  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> > >  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> > >  arch/arm/boot/dts/pxa910.dtsi                      |   27
> > +++++-----
> > >  arch/arm/mach-mmp/irq.c                            |   16
> > +++---
> > >  arch/arm/mach-mmp/mmp-dt.c                         |   28
> > +++++-----
> > >  arch/arm/mach-mmp/mmp2-dt.c                        |   16
> > +++---
> > >  arch/arm/mach-mmp/time.c                           |    2 +-
> > >  arch/arm/mach-pxa/pxa-dt.c                         |   14
> > +++---
> > >  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> > >  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> > >  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> > >  drivers/rtc/rtc-sa1100.c                           |    4 +-
> > >  drivers/tty/serial/pxa.c                           |    4 +-
> > >  25 files changed, 144 insertions(+), 143 deletions(-)
> >
> > I agree with the need to change, however, this has been in the binding
> > documentation since v3.5.  I wish we had caught this when we decided
> > against using stock ticker symbols (not all stock markets use alphabetical
> > abbreviated names, not all companies are listed on any stock exchange).
> >
> > To do this properly, the drivers are going to have to be compatible with the
> > old and the new names, and the binding docs updated to reflect the legacy
> > name and the preferred name.
> >
> Do you mean it's better to support both legacy and preferred name at the same time?

Please keep in mind that the DT is supposed to be tied to the hardware,
*not* the kernel.  iow, a dtb comes with a board, and the user/OS
upgrades the kernel as needed w/o upgrading or changing the dtb.

So the question you need to ask yourself is: Are there any users (since
v3.5) that are doing this?  If so, they have "mrvl,..." compatible
strings in their dtbs.  You don't want to break their systems on kernel
upgrade, right?

So you can change the binding to say the correct string is
"marvell,...", but that driver X must have an extra compatible entry for
"mrvl,..." so as not to break dtbs generated from v3.5 to v3.10.

You might even be able to get away with just adding a comment beside the
"mrvl,..." string in the driver.

Does that make sense?

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 12:20         ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 12:20 UTC (permalink / raw)
  To: Neil Zhang
  Cc: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

Neil,

On Wed, Jul 10, 2013 at 12:25:17AM -0700, Neil Zhang wrote:
> Jason,
> 
> > -----Original Message-----
> > From: Jason Cooper [mailto:jason@lakedaemon.net]
> > Sent: 2013年7月9日 20:49
> > To: Neil Zhang
> > Cc: grant.likely@linaro.org; haojian.zhuang@gmail.com; arnd@arndb.de;
> > devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
> > linux-arm-kernel@lists.infradead.org
> > Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
> >
> > Neil,
> >
> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> > > The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> > > let's change it.
> > >
> > > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> > > ---
> > >  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> > >  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> > >  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> > >  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> > >  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> > >  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> > >  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> > >  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> > >  arch/arm/boot/dts/mmp2.dtsi                        |   56
> > ++++++++++----------
> > >  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> > >  arch/arm/boot/dts/pxa168.dtsi                      |   24
> > ++++----
> > >  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> > >  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> > >  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> > >  arch/arm/boot/dts/pxa910.dtsi                      |   27
> > +++++-----
> > >  arch/arm/mach-mmp/irq.c                            |   16
> > +++---
> > >  arch/arm/mach-mmp/mmp-dt.c                         |   28
> > +++++-----
> > >  arch/arm/mach-mmp/mmp2-dt.c                        |   16
> > +++---
> > >  arch/arm/mach-mmp/time.c                           |    2 +-
> > >  arch/arm/mach-pxa/pxa-dt.c                         |   14
> > +++---
> > >  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> > >  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> > >  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> > >  drivers/rtc/rtc-sa1100.c                           |    4 +-
> > >  drivers/tty/serial/pxa.c                           |    4 +-
> > >  25 files changed, 144 insertions(+), 143 deletions(-)
> >
> > I agree with the need to change, however, this has been in the binding
> > documentation since v3.5.  I wish we had caught this when we decided
> > against using stock ticker symbols (not all stock markets use alphabetical
> > abbreviated names, not all companies are listed on any stock exchange).
> >
> > To do this properly, the drivers are going to have to be compatible with the
> > old and the new names, and the binding docs updated to reflect the legacy
> > name and the preferred name.
> >
> Do you mean it's better to support both legacy and preferred name at the same time?

Please keep in mind that the DT is supposed to be tied to the hardware,
*not* the kernel.  iow, a dtb comes with a board, and the user/OS
upgrades the kernel as needed w/o upgrading or changing the dtb.

So the question you need to ask yourself is: Are there any users (since
v3.5) that are doing this?  If so, they have "mrvl,..." compatible
strings in their dtbs.  You don't want to break their systems on kernel
upgrade, right?

So you can change the binding to say the correct string is
"marvell,...", but that driver X must have an extra compatible entry for
"mrvl,..." so as not to break dtbs generated from v3.5 to v3.10.

You might even be able to get away with just adding a comment beside the
"mrvl,..." string in the driver.

Does that make sense?

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 12:20         ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 12:20 UTC (permalink / raw)
  To: linux-arm-kernel

Neil,

On Wed, Jul 10, 2013 at 12:25:17AM -0700, Neil Zhang wrote:
> Jason,
> 
> > -----Original Message-----
> > From: Jason Cooper [mailto:jason at lakedaemon.net]
> > Sent: 2013?7?9? 20:49
> > To: Neil Zhang
> > Cc: grant.likely at linaro.org; haojian.zhuang at gmail.com; arnd at arndb.de;
> > devicetree-discuss at lists.ozlabs.org; linux-kernel at vger.kernel.org;
> > linux-arm-kernel at lists.infradead.org
> > Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
> >
> > Neil,
> >
> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> > > The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> > > let's change it.
> > >
> > > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> > > ---
> > >  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> > >  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> > >  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> > >  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> > >  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> > >  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> > >  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> > >  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> > >  arch/arm/boot/dts/mmp2.dtsi                        |   56
> > ++++++++++----------
> > >  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> > >  arch/arm/boot/dts/pxa168.dtsi                      |   24
> > ++++----
> > >  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> > >  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> > >  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> > >  arch/arm/boot/dts/pxa910.dtsi                      |   27
> > +++++-----
> > >  arch/arm/mach-mmp/irq.c                            |   16
> > +++---
> > >  arch/arm/mach-mmp/mmp-dt.c                         |   28
> > +++++-----
> > >  arch/arm/mach-mmp/mmp2-dt.c                        |   16
> > +++---
> > >  arch/arm/mach-mmp/time.c                           |    2 +-
> > >  arch/arm/mach-pxa/pxa-dt.c                         |   14
> > +++---
> > >  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> > >  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> > >  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> > >  drivers/rtc/rtc-sa1100.c                           |    4 +-
> > >  drivers/tty/serial/pxa.c                           |    4 +-
> > >  25 files changed, 144 insertions(+), 143 deletions(-)
> >
> > I agree with the need to change, however, this has been in the binding
> > documentation since v3.5.  I wish we had caught this when we decided
> > against using stock ticker symbols (not all stock markets use alphabetical
> > abbreviated names, not all companies are listed on any stock exchange).
> >
> > To do this properly, the drivers are going to have to be compatible with the
> > old and the new names, and the binding docs updated to reflect the legacy
> > name and the preferred name.
> >
> Do you mean it's better to support both legacy and preferred name at the same time?

Please keep in mind that the DT is supposed to be tied to the hardware,
*not* the kernel.  iow, a dtb comes with a board, and the user/OS
upgrades the kernel as needed w/o upgrading or changing the dtb.

So the question you need to ask yourself is: Are there any users (since
v3.5) that are doing this?  If so, they have "mrvl,..." compatible
strings in their dtbs.  You don't want to break their systems on kernel
upgrade, right?

So you can change the binding to say the correct string is
"marvell,...", but that driver X must have an extra compatible entry for
"mrvl,..." so as not to break dtbs generated from v3.5 to v3.10.

You might even be able to get away with just adding a comment beside the
"mrvl,..." string in the driver.

Does that make sense?

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-10  8:19       ` Haojian Zhuang
  (?)
@ 2013-07-10 12:24         ` Jason Cooper
  -1 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 12:24 UTC (permalink / raw)
  To: Haojian Zhuang
  Cc: Neil Zhang, Grant Likely, Bergmann Arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> > Neil,
> >
> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> >> let's change it.
> >>
> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> ---
> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
> >>  arch/arm/mach-mmp/time.c                           |    2 +-
> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >>  drivers/tty/serial/pxa.c                           |    4 +-
> >>  25 files changed, 144 insertions(+), 143 deletions(-)
> >
> > I agree with the need to change, however, this has been in the binding
> > documentation since v3.5.  I wish we had caught this when we decided
> > against using stock ticker symbols (not all stock markets use
> > alphabetical abbreviated names, not all companies are listed on any
> > stock exchange).
> >
> > To do this properly, the drivers are going to have to be compatible with
> > the old and the new names, and the binding docs updated to reflect the
> > legacy name and the preferred name.
> >
> 
> It's better to only use the new names.

In the dts{i}, yes.  But we don't want to break systems in the field
with "mrvl,..." compatible strings.  Therefore, at least the drivers
need an extra compatible string to support "mrvl,...".

If it had just been since v3.9, it'd be different/simpler.  However,
several vendors have opted to use kernels newer than v3.5, which makes
this scenario a real possibility.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 12:24         ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 12:24 UTC (permalink / raw)
  To: Haojian Zhuang
  Cc: Neil Zhang, Grant Likely, Bergmann Arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> > Neil,
> >
> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> >> let's change it.
> >>
> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> ---
> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
> >>  arch/arm/mach-mmp/time.c                           |    2 +-
> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >>  drivers/tty/serial/pxa.c                           |    4 +-
> >>  25 files changed, 144 insertions(+), 143 deletions(-)
> >
> > I agree with the need to change, however, this has been in the binding
> > documentation since v3.5.  I wish we had caught this when we decided
> > against using stock ticker symbols (not all stock markets use
> > alphabetical abbreviated names, not all companies are listed on any
> > stock exchange).
> >
> > To do this properly, the drivers are going to have to be compatible with
> > the old and the new names, and the binding docs updated to reflect the
> > legacy name and the preferred name.
> >
> 
> It's better to only use the new names.

In the dts{i}, yes.  But we don't want to break systems in the field
with "mrvl,..." compatible strings.  Therefore, at least the drivers
need an extra compatible string to support "mrvl,...".

If it had just been since v3.9, it'd be different/simpler.  However,
several vendors have opted to use kernels newer than v3.5, which makes
this scenario a real possibility.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 12:24         ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 12:24 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> > Neil,
> >
> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> >> let's change it.
> >>
> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> ---
> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
> >>  arch/arm/mach-mmp/time.c                           |    2 +-
> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >>  drivers/tty/serial/pxa.c                           |    4 +-
> >>  25 files changed, 144 insertions(+), 143 deletions(-)
> >
> > I agree with the need to change, however, this has been in the binding
> > documentation since v3.5.  I wish we had caught this when we decided
> > against using stock ticker symbols (not all stock markets use
> > alphabetical abbreviated names, not all companies are listed on any
> > stock exchange).
> >
> > To do this properly, the drivers are going to have to be compatible with
> > the old and the new names, and the binding docs updated to reflect the
> > legacy name and the preferred name.
> >
> 
> It's better to only use the new names.

In the dts{i}, yes.  But we don't want to break systems in the field
with "mrvl,..." compatible strings.  Therefore, at least the drivers
need an extra compatible string to support "mrvl,...".

If it had just been since v3.9, it'd be different/simpler.  However,
several vendors have opted to use kernels newer than v3.5, which makes
this scenario a real possibility.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-10 12:24         ` Jason Cooper
  (?)
@ 2013-07-10 14:08           ` Haojian Zhuang
  -1 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-10 14:08 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Neil Zhang, Grant Likely, Bergmann Arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
>> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> > Neil,
>> >
>> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> >> let's change it.
>> >>
>> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> ---
>> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>> >>  arch/arm/mach-mmp/time.c                           |    2 +-
>> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>> >>  drivers/tty/serial/pxa.c                           |    4 +-
>> >>  25 files changed, 144 insertions(+), 143 deletions(-)
>> >
>> > I agree with the need to change, however, this has been in the binding
>> > documentation since v3.5.  I wish we had caught this when we decided
>> > against using stock ticker symbols (not all stock markets use
>> > alphabetical abbreviated names, not all companies are listed on any
>> > stock exchange).
>> >
>> > To do this properly, the drivers are going to have to be compatible with
>> > the old and the new names, and the binding docs updated to reflect the
>> > legacy name and the preferred name.
>> >
>>
>> It's better to only use the new names.
>
> In the dts{i}, yes.  But we don't want to break systems in the field
> with "mrvl,..." compatible strings.  Therefore, at least the drivers
> need an extra compatible string to support "mrvl,...".
>
> If it had just been since v3.9, it'd be different/simpler.  However,
> several vendors have opted to use kernels newer than v3.5, which makes
> this scenario a real possibility.
>
> thx,
>
> Jason.

Is there any vendor using DT for this Marvell chip? I think the answer is no.
Only Marvell guys are still moving to DT. They didn't deliver their kernel
as reference. So there's no problem on this.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 14:08           ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-10 14:08 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Neil Zhang, Grant Likely, Bergmann Arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
>> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> > Neil,
>> >
>> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> >> let's change it.
>> >>
>> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> ---
>> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>> >>  arch/arm/mach-mmp/time.c                           |    2 +-
>> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>> >>  drivers/tty/serial/pxa.c                           |    4 +-
>> >>  25 files changed, 144 insertions(+), 143 deletions(-)
>> >
>> > I agree with the need to change, however, this has been in the binding
>> > documentation since v3.5.  I wish we had caught this when we decided
>> > against using stock ticker symbols (not all stock markets use
>> > alphabetical abbreviated names, not all companies are listed on any
>> > stock exchange).
>> >
>> > To do this properly, the drivers are going to have to be compatible with
>> > the old and the new names, and the binding docs updated to reflect the
>> > legacy name and the preferred name.
>> >
>>
>> It's better to only use the new names.
>
> In the dts{i}, yes.  But we don't want to break systems in the field
> with "mrvl,..." compatible strings.  Therefore, at least the drivers
> need an extra compatible string to support "mrvl,...".
>
> If it had just been since v3.9, it'd be different/simpler.  However,
> several vendors have opted to use kernels newer than v3.5, which makes
> this scenario a real possibility.
>
> thx,
>
> Jason.

Is there any vendor using DT for this Marvell chip? I think the answer is no.
Only Marvell guys are still moving to DT. They didn't deliver their kernel
as reference. So there's no problem on this.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 14:08           ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-10 14:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
>> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> > Neil,
>> >
>> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> >> let's change it.
>> >>
>> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> ---
>> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>> >>  arch/arm/mach-mmp/time.c                           |    2 +-
>> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>> >>  drivers/tty/serial/pxa.c                           |    4 +-
>> >>  25 files changed, 144 insertions(+), 143 deletions(-)
>> >
>> > I agree with the need to change, however, this has been in the binding
>> > documentation since v3.5.  I wish we had caught this when we decided
>> > against using stock ticker symbols (not all stock markets use
>> > alphabetical abbreviated names, not all companies are listed on any
>> > stock exchange).
>> >
>> > To do this properly, the drivers are going to have to be compatible with
>> > the old and the new names, and the binding docs updated to reflect the
>> > legacy name and the preferred name.
>> >
>>
>> It's better to only use the new names.
>
> In the dts{i}, yes.  But we don't want to break systems in the field
> with "mrvl,..." compatible strings.  Therefore, at least the drivers
> need an extra compatible string to support "mrvl,...".
>
> If it had just been since v3.9, it'd be different/simpler.  However,
> several vendors have opted to use kernels newer than v3.5, which makes
> this scenario a real possibility.
>
> thx,
>
> Jason.

Is there any vendor using DT for this Marvell chip? I think the answer is no.
Only Marvell guys are still moving to DT. They didn't deliver their kernel
as reference. So there's no problem on this.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-10 12:20         ` Jason Cooper
  (?)
@ 2013-07-10 14:41           ` Daniel Drake
  -1 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-10 14:41 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Neil Zhang, arnd, devicetree-discuss, linux-kernel,
	haojian.zhuang, grant.likely, linux-arm-kernel

On Wed, Jul 10, 2013 at 6:20 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> Please keep in mind that the DT is supposed to be tied to the hardware,
> *not* the kernel.  iow, a dtb comes with a board, and the user/OS
> upgrades the kernel as needed w/o upgrading or changing the dtb.

Thank you for making this position clear to those trying to break
compatibility...

This will affect OLPC where the dtb comes from the firmware
(OpenFirmware), which is similar to the dtb coming "with the board" as
you describe. We run on Marvell SoCs.

> So the question you need to ask yourself is: Are there any users (since
> v3.5) that are doing this?  If so, they have "mrvl,..." compatible
> strings in their dtbs.  You don't want to break their systems on kernel
> upgrade, right?

In the OLPC case, the devicetree currently exported from the firmware
is unfortunately quite insufficient to boot mainline kernels. So we
are currently in a state of flux where we must break firmware/OS
compatibility in significant ways in order to support mainline
kernels. We are heading in this direction despite the pains.

Therefore right now its OK for us if we break compatibility during our
in-flux major firmware/DT restructuring, as this patch does.

However, once we have stabilised in the near future, it will no longer
be possible to break compatibility like this.

My vote would be to maintain the old names (in addition to the new) in
case there are people that will be affected by this that haven't seen
this thread. We were recently hit by another backwards-incompatible
change in Marvell's Linux gpio drivers where the compatible strings
recognised were changed (f87311743eaf85). This is not a big problem in
our current state however it cost me about 3 hours of changelog
skimming, glancing around in the code, and finally running a git
bisect, before I managed to figure out why things had suddenly stopped
working. That was irritating.

Thanks
Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 14:41           ` Daniel Drake
  0 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-10 14:41 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Neil Zhang, arnd, devicetree-discuss, linux-kernel,
	haojian.zhuang, grant.likely, linux-arm-kernel

On Wed, Jul 10, 2013 at 6:20 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> Please keep in mind that the DT is supposed to be tied to the hardware,
> *not* the kernel.  iow, a dtb comes with a board, and the user/OS
> upgrades the kernel as needed w/o upgrading or changing the dtb.

Thank you for making this position clear to those trying to break
compatibility...

This will affect OLPC where the dtb comes from the firmware
(OpenFirmware), which is similar to the dtb coming "with the board" as
you describe. We run on Marvell SoCs.

> So the question you need to ask yourself is: Are there any users (since
> v3.5) that are doing this?  If so, they have "mrvl,..." compatible
> strings in their dtbs.  You don't want to break their systems on kernel
> upgrade, right?

In the OLPC case, the devicetree currently exported from the firmware
is unfortunately quite insufficient to boot mainline kernels. So we
are currently in a state of flux where we must break firmware/OS
compatibility in significant ways in order to support mainline
kernels. We are heading in this direction despite the pains.

Therefore right now its OK for us if we break compatibility during our
in-flux major firmware/DT restructuring, as this patch does.

However, once we have stabilised in the near future, it will no longer
be possible to break compatibility like this.

My vote would be to maintain the old names (in addition to the new) in
case there are people that will be affected by this that haven't seen
this thread. We were recently hit by another backwards-incompatible
change in Marvell's Linux gpio drivers where the compatible strings
recognised were changed (f87311743eaf85). This is not a big problem in
our current state however it cost me about 3 hours of changelog
skimming, glancing around in the code, and finally running a git
bisect, before I managed to figure out why things had suddenly stopped
working. That was irritating.

Thanks
Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 14:41           ` Daniel Drake
  0 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-10 14:41 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jul 10, 2013 at 6:20 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> Please keep in mind that the DT is supposed to be tied to the hardware,
> *not* the kernel.  iow, a dtb comes with a board, and the user/OS
> upgrades the kernel as needed w/o upgrading or changing the dtb.

Thank you for making this position clear to those trying to break
compatibility...

This will affect OLPC where the dtb comes from the firmware
(OpenFirmware), which is similar to the dtb coming "with the board" as
you describe. We run on Marvell SoCs.

> So the question you need to ask yourself is: Are there any users (since
> v3.5) that are doing this?  If so, they have "mrvl,..." compatible
> strings in their dtbs.  You don't want to break their systems on kernel
> upgrade, right?

In the OLPC case, the devicetree currently exported from the firmware
is unfortunately quite insufficient to boot mainline kernels. So we
are currently in a state of flux where we must break firmware/OS
compatibility in significant ways in order to support mainline
kernels. We are heading in this direction despite the pains.

Therefore right now its OK for us if we break compatibility during our
in-flux major firmware/DT restructuring, as this patch does.

However, once we have stabilised in the near future, it will no longer
be possible to break compatibility like this.

My vote would be to maintain the old names (in addition to the new) in
case there are people that will be affected by this that haven't seen
this thread. We were recently hit by another backwards-incompatible
change in Marvell's Linux gpio drivers where the compatible strings
recognised were changed (f87311743eaf85). This is not a big problem in
our current state however it cost me about 3 hours of changelog
skimming, glancing around in the code, and finally running a git
bisect, before I managed to figure out why things had suddenly stopped
working. That was irritating.

Thanks
Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-09 12:49     ` Jason Cooper
@ 2013-07-10 20:50       ` Matt Sealey
  -1 siblings, 0 replies; 96+ messages in thread
From: Matt Sealey @ 2013-07-10 20:50 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Neil Zhang, grant.likely, haojian.zhuang, arnd,
	devicetree-discuss, linux-kernel, linux-arm-kernel

On Tue, Jul 9, 2013 at 7:49 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> Neil,
>
> I agree with the need to change, however, this has been in the binding
> documentation since v3.5.  I wish we had caught this when we decided
> against using stock ticker symbols (not all stock markets use
> alphabetical abbreviated names, not all companies are listed on any
> stock exchange).

Who decided that?

You can't just "stop using stock ticker symbols" - FDT is inherently
based on the original OpenFirmware device tree and therefore any
existing bindings which are done on real OpenFirmware solutions where
using stock ticker symbols is entirely appropriate (although, these
days, not useful) is counter-productive.

If Marvell had originally had mrvl as their ticker, and used this in
OF DTs (and it is..), then mrvl it stays. In the case where new
devices are added with marvell, this is in this case wrong. You should
keep using the old one. A good example of this; Freescale. Nobody is
saying everyone should move to "freescale,imx-this" or
"freescale,vybrid-that" - it's fsl and it stays fsl for
backwards/forwards compatibility because things exist already.

Any new companies can have a long, descriptive name; a privilege of
being late to the party, you might say :)

Having an odd mix of mrvl and marvell or moving to marvell is just
completely obtuse, whether they had that stock ticker, will have it in
the future, it is how they're defined and you can't in good conscience
change the binding after devices ship with it.

> To do this properly, the drivers are going to have to be compatible with
> the old and the new names, and the binding docs updated to reflect the
> legacy name and the preferred name.

Properly would be as above. You can stop using stock tickers for new
company names, but anything that has been defined in a device tree
before has to stay that way, and all the manufacturer prefixes to
device names should be the same. What you're proposing is purely
driver bloat and increasing the size of kernel.

--
Matt Sealey <neko@bakuhatsu.net>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 20:50       ` Matt Sealey
  0 siblings, 0 replies; 96+ messages in thread
From: Matt Sealey @ 2013-07-10 20:50 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 9, 2013 at 7:49 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> Neil,
>
> I agree with the need to change, however, this has been in the binding
> documentation since v3.5.  I wish we had caught this when we decided
> against using stock ticker symbols (not all stock markets use
> alphabetical abbreviated names, not all companies are listed on any
> stock exchange).

Who decided that?

You can't just "stop using stock ticker symbols" - FDT is inherently
based on the original OpenFirmware device tree and therefore any
existing bindings which are done on real OpenFirmware solutions where
using stock ticker symbols is entirely appropriate (although, these
days, not useful) is counter-productive.

If Marvell had originally had mrvl as their ticker, and used this in
OF DTs (and it is..), then mrvl it stays. In the case where new
devices are added with marvell, this is in this case wrong. You should
keep using the old one. A good example of this; Freescale. Nobody is
saying everyone should move to "freescale,imx-this" or
"freescale,vybrid-that" - it's fsl and it stays fsl for
backwards/forwards compatibility because things exist already.

Any new companies can have a long, descriptive name; a privilege of
being late to the party, you might say :)

Having an odd mix of mrvl and marvell or moving to marvell is just
completely obtuse, whether they had that stock ticker, will have it in
the future, it is how they're defined and you can't in good conscience
change the binding after devices ship with it.

> To do this properly, the drivers are going to have to be compatible with
> the old and the new names, and the binding docs updated to reflect the
> legacy name and the preferred name.

Properly would be as above. You can stop using stock tickers for new
company names, but anything that has been defined in a device tree
before has to stay that way, and all the manufacturer prefixes to
device names should be the same. What you're proposing is purely
driver bloat and increasing the size of kernel.

--
Matt Sealey <neko@bakuhatsu.net>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-10 20:50       ` Matt Sealey
@ 2013-07-10 21:49         ` Jason Cooper
  -1 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 21:49 UTC (permalink / raw)
  To: Matt Sealey
  Cc: Neil Zhang, grant.likely, haojian.zhuang, arnd,
	devicetree-discuss, linux-kernel, linux-arm-kernel

On Wed, Jul 10, 2013 at 03:50:10PM -0500, Matt Sealey wrote:
> On Tue, Jul 9, 2013 at 7:49 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> > Neil,
> >
> > I agree with the need to change, however, this has been in the binding
> > documentation since v3.5.  I wish we had caught this when we decided
> > against using stock ticker symbols (not all stock markets use
> > alphabetical abbreviated names, not all companies are listed on any
> > stock exchange).
> 
> Who decided that?

Now you're going to make me dig ;-)  iirc, we were going the stock
ticker route, but then noticed that powerpc dts files had been using
"marvell,..." for a _long_ time.  How long?  I'll leave that as an
exercise for the reader. :-P  Because we shared at least the ethernet
driver with them, we decided to conform with what was already present in
the kernel and use "marvell,..." for all of the dt bindings we were
creating for kirkwood/dove/mvebu (and eventually orion5x, mv78xx0).

As for who is 'we'?

http://lists.infradead.org/pipermail/linux-arm-kernel/2012-May/101337.html

> You can't just "stop using stock ticker symbols" - FDT is inherently
> based on the original OpenFirmware device tree and therefore any
> existing bindings which are done on real OpenFirmware solutions where
> using stock ticker symbols is entirely appropriate (although, these
> days, not useful) is counter-productive.
> 
> If Marvell had originally had mrvl as their ticker, and used this in
> OF DTs (and it is..), then mrvl it stays. In the case where new
> devices are added with marvell, this is in this case wrong. You should
> keep using the old one. A good example of this; Freescale. Nobody is
> saying everyone should move to "freescale,imx-this" or
> "freescale,vybrid-that" - it's fsl and it stays fsl for
> backwards/forwards compatibility because things exist already.

I agree, that's why I'm arguing for *maintaining* backwards
compatibility.

> Any new companies can have a long, descriptive name; a privilege of
> being late to the party, you might say :)
> 
> Having an odd mix of mrvl and marvell or moving to marvell is just
> completely obtuse, whether they had that stock ticker, will have it in
> the future, it is how they're defined and you can't in good conscience
> change the binding after devices ship with it.

See above regarding the marvell ethernet driver and powerpc...

> > To do this properly, the drivers are going to have to be compatible with
> > the old and the new names, and the binding docs updated to reflect the
> > legacy name and the preferred name.
> 
> Properly would be as above. You can stop using stock tickers for new
> company names, but anything that has been defined in a device tree
> before has to stay that way, and all the manufacturer prefixes to
> device names should be the same. What you're proposing is purely
> driver bloat and increasing the size of kernel.

*I'm* not proposing to change the name, Neil is.  I'm proposing that
*iff* they chose to do that, don't break sh*t along the way.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 21:49         ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 21:49 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jul 10, 2013 at 03:50:10PM -0500, Matt Sealey wrote:
> On Tue, Jul 9, 2013 at 7:49 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> > Neil,
> >
> > I agree with the need to change, however, this has been in the binding
> > documentation since v3.5.  I wish we had caught this when we decided
> > against using stock ticker symbols (not all stock markets use
> > alphabetical abbreviated names, not all companies are listed on any
> > stock exchange).
> 
> Who decided that?

Now you're going to make me dig ;-)  iirc, we were going the stock
ticker route, but then noticed that powerpc dts files had been using
"marvell,..." for a _long_ time.  How long?  I'll leave that as an
exercise for the reader. :-P  Because we shared at least the ethernet
driver with them, we decided to conform with what was already present in
the kernel and use "marvell,..." for all of the dt bindings we were
creating for kirkwood/dove/mvebu (and eventually orion5x, mv78xx0).

As for who is 'we'?

http://lists.infradead.org/pipermail/linux-arm-kernel/2012-May/101337.html

> You can't just "stop using stock ticker symbols" - FDT is inherently
> based on the original OpenFirmware device tree and therefore any
> existing bindings which are done on real OpenFirmware solutions where
> using stock ticker symbols is entirely appropriate (although, these
> days, not useful) is counter-productive.
> 
> If Marvell had originally had mrvl as their ticker, and used this in
> OF DTs (and it is..), then mrvl it stays. In the case where new
> devices are added with marvell, this is in this case wrong. You should
> keep using the old one. A good example of this; Freescale. Nobody is
> saying everyone should move to "freescale,imx-this" or
> "freescale,vybrid-that" - it's fsl and it stays fsl for
> backwards/forwards compatibility because things exist already.

I agree, that's why I'm arguing for *maintaining* backwards
compatibility.

> Any new companies can have a long, descriptive name; a privilege of
> being late to the party, you might say :)
> 
> Having an odd mix of mrvl and marvell or moving to marvell is just
> completely obtuse, whether they had that stock ticker, will have it in
> the future, it is how they're defined and you can't in good conscience
> change the binding after devices ship with it.

See above regarding the marvell ethernet driver and powerpc...

> > To do this properly, the drivers are going to have to be compatible with
> > the old and the new names, and the binding docs updated to reflect the
> > legacy name and the preferred name.
> 
> Properly would be as above. You can stop using stock tickers for new
> company names, but anything that has been defined in a device tree
> before has to stay that way, and all the manufacturer prefixes to
> device names should be the same. What you're proposing is purely
> driver bloat and increasing the size of kernel.

*I'm* not proposing to change the name, Neil is.  I'm proposing that
*iff* they chose to do that, don't break sh*t along the way.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 21:50             ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 21:50 UTC (permalink / raw)
  To: Haojian Zhuang
  Cc: Neil Zhang, Grant Likely, Bergmann Arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> >> > Neil,
> >> >
> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> >> >> let's change it.
> >> >>
> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> >> ---
> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
> >> >
> >> > I agree with the need to change, however, this has been in the binding
> >> > documentation since v3.5.  I wish we had caught this when we decided
> >> > against using stock ticker symbols (not all stock markets use
> >> > alphabetical abbreviated names, not all companies are listed on any
> >> > stock exchange).
> >> >
> >> > To do this properly, the drivers are going to have to be compatible with
> >> > the old and the new names, and the binding docs updated to reflect the
> >> > legacy name and the preferred name.
> >> >
> >>
> >> It's better to only use the new names.
> >
> > In the dts{i}, yes.  But we don't want to break systems in the field
> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
> > need an extra compatible string to support "mrvl,...".
> >
> > If it had just been since v3.9, it'd be different/simpler.  However,
> > several vendors have opted to use kernels newer than v3.5, which makes
> > this scenario a real possibility.
> >
> > thx,
> >
> > Jason.
> 
> Is there any vendor using DT for this Marvell chip? I think the answer is no.

Well, Daniel Drake spoke up for OLPC.  Does that count?

thx,

Jason.


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 21:50             ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 21:50 UTC (permalink / raw)
  To: Haojian Zhuang
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Grant Likely, Neil Zhang,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> wrote:
> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> wrote:
> >> > Neil,
> >> >
> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> >> >> let's change it.
> >> >>
> >> >> Signed-off-by: Neil Zhang <zhangwm-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
> >> >> ---
> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
> >> >
> >> > I agree with the need to change, however, this has been in the binding
> >> > documentation since v3.5.  I wish we had caught this when we decided
> >> > against using stock ticker symbols (not all stock markets use
> >> > alphabetical abbreviated names, not all companies are listed on any
> >> > stock exchange).
> >> >
> >> > To do this properly, the drivers are going to have to be compatible with
> >> > the old and the new names, and the binding docs updated to reflect the
> >> > legacy name and the preferred name.
> >> >
> >>
> >> It's better to only use the new names.
> >
> > In the dts{i}, yes.  But we don't want to break systems in the field
> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
> > need an extra compatible string to support "mrvl,...".
> >
> > If it had just been since v3.9, it'd be different/simpler.  However,
> > several vendors have opted to use kernels newer than v3.5, which makes
> > this scenario a real possibility.
> >
> > thx,
> >
> > Jason.
> 
> Is there any vendor using DT for this Marvell chip? I think the answer is no.

Well, Daniel Drake spoke up for OLPC.  Does that count?

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-10 21:50             ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-10 21:50 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> >> > Neil,
> >> >
> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> >> >> let's change it.
> >> >>
> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> >> ---
> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
> >> >
> >> > I agree with the need to change, however, this has been in the binding
> >> > documentation since v3.5.  I wish we had caught this when we decided
> >> > against using stock ticker symbols (not all stock markets use
> >> > alphabetical abbreviated names, not all companies are listed on any
> >> > stock exchange).
> >> >
> >> > To do this properly, the drivers are going to have to be compatible with
> >> > the old and the new names, and the binding docs updated to reflect the
> >> > legacy name and the preferred name.
> >> >
> >>
> >> It's better to only use the new names.
> >
> > In the dts{i}, yes.  But we don't want to break systems in the field
> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
> > need an extra compatible string to support "mrvl,...".
> >
> > If it had just been since v3.9, it'd be different/simpler.  However,
> > several vendors have opted to use kernels newer than v3.5, which makes
> > this scenario a real possibility.
> >
> > thx,
> >
> > Jason.
> 
> Is there any vendor using DT for this Marvell chip? I think the answer is no.

Well, Daniel Drake spoke up for OLPC.  Does that count?

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-10 21:49         ` Jason Cooper
  (?)
@ 2013-07-11 11:20           ` Neil Zhang
  -1 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-11 11:20 UTC (permalink / raw)
  To: Jason Cooper, Matt Sealey
  Cc: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="gb2312", Size: 3779 bytes --]

Arnd£¬


> -----Original Message-----
> From: Jason Cooper [mailto:jason@lakedaemon.net]
> Sent: 2013Äê7ÔÂ11ÈÕ 5:49
> To: Matt Sealey
> Cc: Neil Zhang; grant.likely@linaro.org; haojian.zhuang@gmail.com;
> arnd@arndb.de; devicetree-discuss@lists.ozlabs.org;
> linux-kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
> 
> On Wed, Jul 10, 2013 at 03:50:10PM -0500, Matt Sealey wrote:
> > On Tue, Jul 9, 2013 at 7:49 AM, Jason Cooper <jason@lakedaemon.net>
> wrote:
> > > Neil,
> > >
> > > I agree with the need to change, however, this has been in the
> > > binding documentation since v3.5.  I wish we had caught this when we
> > > decided against using stock ticker symbols (not all stock markets
> > > use alphabetical abbreviated names, not all companies are listed on
> > > any stock exchange).
> >
> > Who decided that?
> 
> Now you're going to make me dig ;-)  iirc, we were going the stock ticker
> route, but then noticed that powerpc dts files had been using "marvell,..."
> for a _long_ time.  How long?  I'll leave that as an exercise for the
> reader. :-P  Because we shared at least the ethernet driver with them, we
> decided to conform with what was already present in the kernel and use
> "marvell,..." for all of the dt bindings we were creating for
> kirkwood/dove/mvebu (and eventually orion5x, mv78xx0).
> 
> As for who is 'we'?
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2012-May/101337.htm
> l
> 
> > You can't just "stop using stock ticker symbols" - FDT is inherently
> > based on the original OpenFirmware device tree and therefore any
> > existing bindings which are done on real OpenFirmware solutions where
> > using stock ticker symbols is entirely appropriate (although, these
> > days, not useful) is counter-productive.
> >
> > If Marvell had originally had mrvl as their ticker, and used this in
> > OF DTs (and it is..), then mrvl it stays. In the case where new
> > devices are added with marvell, this is in this case wrong. You should
> > keep using the old one. A good example of this; Freescale. Nobody is
> > saying everyone should move to "freescale,imx-this" or
> > "freescale,vybrid-that" - it's fsl and it stays fsl for
> > backwards/forwards compatibility because things exist already.
> 
> I agree, that's why I'm arguing for *maintaining* backwards compatibility.
> 
> > Any new companies can have a long, descriptive name; a privilege of
> > being late to the party, you might say :)
> >
> > Having an odd mix of mrvl and marvell or moving to marvell is just
> > completely obtuse, whether they had that stock ticker, will have it in
> > the future, it is how they're defined and you can't in good conscience
> > change the binding after devices ship with it.
> 
> See above regarding the marvell ethernet driver and powerpc...
> 
> > > To do this properly, the drivers are going to have to be compatible
> > > with the old and the new names, and the binding docs updated to
> > > reflect the legacy name and the preferred name.
> >
> > Properly would be as above. You can stop using stock tickers for new
> > company names, but anything that has been defined in a device tree
> > before has to stay that way, and all the manufacturer prefixes to
> > device names should be the same. What you're proposing is purely
> > driver bloat and increasing the size of kernel.
> 
> *I'm* not proposing to change the name, Neil is.  I'm proposing that
> *iff* they chose to do that, don't break sh*t along the way.
> 

What's your opinion?

> thx,
> 
> Jason.

Best Regards,
Neil Zhang
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-11 11:20           ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-11 11:20 UTC (permalink / raw)
  To: Jason Cooper, Matt Sealey
  Cc: grant.likely, haojian.zhuang, arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

Arnd,


> -----Original Message-----
> From: Jason Cooper [mailto:jason@lakedaemon.net]
> Sent: 2013年7月11日 5:49
> To: Matt Sealey
> Cc: Neil Zhang; grant.likely@linaro.org; haojian.zhuang@gmail.com;
> arnd@arndb.de; devicetree-discuss@lists.ozlabs.org;
> linux-kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
> 
> On Wed, Jul 10, 2013 at 03:50:10PM -0500, Matt Sealey wrote:
> > On Tue, Jul 9, 2013 at 7:49 AM, Jason Cooper <jason@lakedaemon.net>
> wrote:
> > > Neil,
> > >
> > > I agree with the need to change, however, this has been in the
> > > binding documentation since v3.5.  I wish we had caught this when we
> > > decided against using stock ticker symbols (not all stock markets
> > > use alphabetical abbreviated names, not all companies are listed on
> > > any stock exchange).
> >
> > Who decided that?
> 
> Now you're going to make me dig ;-)  iirc, we were going the stock ticker
> route, but then noticed that powerpc dts files had been using "marvell,..."
> for a _long_ time.  How long?  I'll leave that as an exercise for the
> reader. :-P  Because we shared at least the ethernet driver with them, we
> decided to conform with what was already present in the kernel and use
> "marvell,..." for all of the dt bindings we were creating for
> kirkwood/dove/mvebu (and eventually orion5x, mv78xx0).
> 
> As for who is 'we'?
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2012-May/101337.htm
> l
> 
> > You can't just "stop using stock ticker symbols" - FDT is inherently
> > based on the original OpenFirmware device tree and therefore any
> > existing bindings which are done on real OpenFirmware solutions where
> > using stock ticker symbols is entirely appropriate (although, these
> > days, not useful) is counter-productive.
> >
> > If Marvell had originally had mrvl as their ticker, and used this in
> > OF DTs (and it is..), then mrvl it stays. In the case where new
> > devices are added with marvell, this is in this case wrong. You should
> > keep using the old one. A good example of this; Freescale. Nobody is
> > saying everyone should move to "freescale,imx-this" or
> > "freescale,vybrid-that" - it's fsl and it stays fsl for
> > backwards/forwards compatibility because things exist already.
> 
> I agree, that's why I'm arguing for *maintaining* backwards compatibility.
> 
> > Any new companies can have a long, descriptive name; a privilege of
> > being late to the party, you might say :)
> >
> > Having an odd mix of mrvl and marvell or moving to marvell is just
> > completely obtuse, whether they had that stock ticker, will have it in
> > the future, it is how they're defined and you can't in good conscience
> > change the binding after devices ship with it.
> 
> See above regarding the marvell ethernet driver and powerpc...
> 
> > > To do this properly, the drivers are going to have to be compatible
> > > with the old and the new names, and the binding docs updated to
> > > reflect the legacy name and the preferred name.
> >
> > Properly would be as above. You can stop using stock tickers for new
> > company names, but anything that has been defined in a device tree
> > before has to stay that way, and all the manufacturer prefixes to
> > device names should be the same. What you're proposing is purely
> > driver bloat and increasing the size of kernel.
> 
> *I'm* not proposing to change the name, Neil is.  I'm proposing that
> *iff* they chose to do that, don't break sh*t along the way.
> 

What's your opinion?

> thx,
> 
> Jason.

Best Regards,
Neil Zhang

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-11 11:20           ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-11 11:20 UTC (permalink / raw)
  To: linux-arm-kernel

Arnd?


> -----Original Message-----
> From: Jason Cooper [mailto:jason at lakedaemon.net]
> Sent: 2013?7?11? 5:49
> To: Matt Sealey
> Cc: Neil Zhang; grant.likely at linaro.org; haojian.zhuang at gmail.com;
> arnd at arndb.de; devicetree-discuss at lists.ozlabs.org;
> linux-kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
> 
> On Wed, Jul 10, 2013 at 03:50:10PM -0500, Matt Sealey wrote:
> > On Tue, Jul 9, 2013 at 7:49 AM, Jason Cooper <jason@lakedaemon.net>
> wrote:
> > > Neil,
> > >
> > > I agree with the need to change, however, this has been in the
> > > binding documentation since v3.5.  I wish we had caught this when we
> > > decided against using stock ticker symbols (not all stock markets
> > > use alphabetical abbreviated names, not all companies are listed on
> > > any stock exchange).
> >
> > Who decided that?
> 
> Now you're going to make me dig ;-)  iirc, we were going the stock ticker
> route, but then noticed that powerpc dts files had been using "marvell,..."
> for a _long_ time.  How long?  I'll leave that as an exercise for the
> reader. :-P  Because we shared at least the ethernet driver with them, we
> decided to conform with what was already present in the kernel and use
> "marvell,..." for all of the dt bindings we were creating for
> kirkwood/dove/mvebu (and eventually orion5x, mv78xx0).
> 
> As for who is 'we'?
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2012-May/101337.htm
> l
> 
> > You can't just "stop using stock ticker symbols" - FDT is inherently
> > based on the original OpenFirmware device tree and therefore any
> > existing bindings which are done on real OpenFirmware solutions where
> > using stock ticker symbols is entirely appropriate (although, these
> > days, not useful) is counter-productive.
> >
> > If Marvell had originally had mrvl as their ticker, and used this in
> > OF DTs (and it is..), then mrvl it stays. In the case where new
> > devices are added with marvell, this is in this case wrong. You should
> > keep using the old one. A good example of this; Freescale. Nobody is
> > saying everyone should move to "freescale,imx-this" or
> > "freescale,vybrid-that" - it's fsl and it stays fsl for
> > backwards/forwards compatibility because things exist already.
> 
> I agree, that's why I'm arguing for *maintaining* backwards compatibility.
> 
> > Any new companies can have a long, descriptive name; a privilege of
> > being late to the party, you might say :)
> >
> > Having an odd mix of mrvl and marvell or moving to marvell is just
> > completely obtuse, whether they had that stock ticker, will have it in
> > the future, it is how they're defined and you can't in good conscience
> > change the binding after devices ship with it.
> 
> See above regarding the marvell ethernet driver and powerpc...
> 
> > > To do this properly, the drivers are going to have to be compatible
> > > with the old and the new names, and the binding docs updated to
> > > reflect the legacy name and the preferred name.
> >
> > Properly would be as above. You can stop using stock tickers for new
> > company names, but anything that has been defined in a device tree
> > before has to stay that way, and all the manufacturer prefixes to
> > device names should be the same. What you're proposing is purely
> > driver bloat and increasing the size of kernel.
> 
> *I'm* not proposing to change the name, Neil is.  I'm proposing that
> *iff* they chose to do that, don't break sh*t along the way.
> 

What's your opinion?

> thx,
> 
> Jason.

Best Regards,
Neil Zhang

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
  2013-07-10  5:58         ` Haojian Zhuang
  (?)
@ 2013-07-11 11:23           ` Neil Zhang
  -1 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-11 11:23 UTC (permalink / raw)
  To: Haojian Zhuang, Arnd Bergmann
  Cc: Thomas Petazzoni, Grant Likely, devicetree-discuss, linux-kernel,
	linux-arm-kernel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="gb2312", Size: 1763 bytes --]

Haojian,


> -----Original Message-----
> From: Haojian Zhuang [mailto:haojian.zhuang@gmail.com]
> Sent: 2013Äê7ÔÂ10ÈÕ 13:59
> To: Arnd Bergmann
> Cc: Thomas Petazzoni; Neil Zhang; Grant Likely;
> devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF
> DECLARE
> 
> On Wed, Jul 10, 2013 at 5:16 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Tuesday 09 July 2013, Thomas Petazzoni wrote:
> >> Dear Neil Zhang,
> >>
> >> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
> >> > support CLOCKSOURCE OF DECLARE for mmp timer.
> >> >
> >> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> > ---
> >> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
> >> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
> >> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
> >> >  3 files changed, 5 insertions(+), 18 deletions(-)
> >>
> >> Maybe it would be good to take this opportunity to move
> >> arch/arm/mach-mmp/time.c into drivers/clocksource/.
> >
> > +1
> >
> > Or we might want to have a more coordinated move of all clocksource
> > drivers in arch/arm to drivers/clocksource now, as we have done for
> > some other subsystems.
> >
> >         Arnd
> 
> I already sent some patches on this. But I didn't get response yet. I'll rebase
> them and send them again. I hope that they could be merged in this cycle.
> 
> Regards
> Haojian

Will you submit a patch to move it by yourself or let me update the patch to 
move it to drivers/clocksource in next version?

Best Regards,
Neil Zhang
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-11 11:23           ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-11 11:23 UTC (permalink / raw)
  To: Haojian Zhuang, Arnd Bergmann
  Cc: Thomas Petazzoni, Grant Likely, devicetree-discuss, linux-kernel,
	linux-arm-kernel

Haojian,


> -----Original Message-----
> From: Haojian Zhuang [mailto:haojian.zhuang@gmail.com]
> Sent: 2013年7月10日 13:59
> To: Arnd Bergmann
> Cc: Thomas Petazzoni; Neil Zhang; Grant Likely;
> devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF
> DECLARE
> 
> On Wed, Jul 10, 2013 at 5:16 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Tuesday 09 July 2013, Thomas Petazzoni wrote:
> >> Dear Neil Zhang,
> >>
> >> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
> >> > support CLOCKSOURCE OF DECLARE for mmp timer.
> >> >
> >> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> > ---
> >> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
> >> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
> >> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
> >> >  3 files changed, 5 insertions(+), 18 deletions(-)
> >>
> >> Maybe it would be good to take this opportunity to move
> >> arch/arm/mach-mmp/time.c into drivers/clocksource/.
> >
> > +1
> >
> > Or we might want to have a more coordinated move of all clocksource
> > drivers in arch/arm to drivers/clocksource now, as we have done for
> > some other subsystems.
> >
> >         Arnd
> 
> I already sent some patches on this. But I didn't get response yet. I'll rebase
> them and send them again. I hope that they could be merged in this cycle.
> 
> Regards
> Haojian

Will you submit a patch to move it by yourself or let me update the patch to 
move it to drivers/clocksource in next version?

Best Regards,
Neil Zhang

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-11 11:23           ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-11 11:23 UTC (permalink / raw)
  To: linux-arm-kernel

Haojian,


> -----Original Message-----
> From: Haojian Zhuang [mailto:haojian.zhuang at gmail.com]
> Sent: 2013?7?10? 13:59
> To: Arnd Bergmann
> Cc: Thomas Petazzoni; Neil Zhang; Grant Likely;
> devicetree-discuss at lists.ozlabs.org; linux-kernel at vger.kernel.org;
> linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF
> DECLARE
> 
> On Wed, Jul 10, 2013 at 5:16 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Tuesday 09 July 2013, Thomas Petazzoni wrote:
> >> Dear Neil Zhang,
> >>
> >> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
> >> > support CLOCKSOURCE OF DECLARE for mmp timer.
> >> >
> >> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> > ---
> >> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
> >> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
> >> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
> >> >  3 files changed, 5 insertions(+), 18 deletions(-)
> >>
> >> Maybe it would be good to take this opportunity to move
> >> arch/arm/mach-mmp/time.c into drivers/clocksource/.
> >
> > +1
> >
> > Or we might want to have a more coordinated move of all clocksource
> > drivers in arch/arm to drivers/clocksource now, as we have done for
> > some other subsystems.
> >
> >         Arnd
> 
> I already sent some patches on this. But I didn't get response yet. I'll rebase
> them and send them again. I hope that they could be merged in this cycle.
> 
> Regards
> Haojian

Will you submit a patch to move it by yourself or let me update the patch to 
move it to drivers/clocksource in next version?

Best Regards,
Neil Zhang

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support
  2013-07-09 22:05     ` Arnd Bergmann
  (?)
@ 2013-07-11 11:35       ` Neil Zhang
  -1 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-11 11:35 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: grant.likely, haojian.zhuang, devicetree-discuss, linux-kernel,
	linux-arm-kernel, Chao Xie

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="gb2312", Size: 3998 bytes --]

Arnd,



> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@arndb.de]
> Sent: 2013Äê7ÔÂ10ÈÕ 6:05
> To: Neil Zhang
> Cc: grant.likely@linaro.org; haojian.zhuang@gmail.com;
> devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; Chao Xie
> Subject: Re: [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree
> support
> 
> On Tuesday 09 July 2013, Neil Zhang wrote:
> > +	soc {
> > +		compatible = "simple-bus";
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		interrupt-parent = <&gic>;
> > +		ranges;
> > +
> > +		gic: interrupt-controller@d1dfe100 {
> > +			compatible = "arm,cortex-a9-gic";
> > +			#interrupt-cells = <3>;
> > +			#address-cells = <1>;
> > +			interrupt-controller;
> > +			reg = <0xd1dff000 0x1000>,
> > +			      <0xd1dfe100 0x0100>;
> > +		};
> > +
> > +		L2: l2-cache-controller@d1dfb000 {
> > +			compatible = "arm,pl310-cache";
> > +			reg = <0xd1dfb000 0x1000>;
> > +			arm,data-latency = <2 1 1>;
> > +			arm,tag-latency = <2 1 1>;
> > +			arm,pwr-dynamic-clk-gating;
> > +			arm,pwr-standby-mode;
> > +			cache-unified;
> > +			cache-level = <2>;
> > +		};
> > +
> > +		local-timer@d1dfe600 {
> > +			compatible = "arm,cortex-a9-twd-timer";
> > +			reg = <0xd1dfe600 0x20>;
> > +			interrupts = <1 13 0x304>;
> > +		};
> > +
> > +		axi@d4200000 {	/* AXI */
> > +			compatible = "simple-bus";
> > +			#address-cells = <1>;
> > +			#size-cells = <1>;
> > +			ranges = <0xd4200000 0xd4200000 0x00200000>;
> > +
> > +			intc: wakeupgen@d4282000 {
> > +				compatible = "marvell,mmp-intc";
> > +				reg = <0xd4282000 0x1000>;
> > +				marvell,intc-wakeup = <0x114 0x3
> > +						    0x144 0x3>;
> > +			};
> > +		};
> 
> I am guessing that the structure does not actually reflect the hardware.
> 
> Shouldn't AXI be the top-level bus, with the other stuff under it?
> 
> > +
> > +
> > +			uart1: uart@d4017000 {
> > +				compatible = "marvell,mmp-uart";
> > +				reg = <0xd4017000 0x1000>;
> > +				interrupts = <0 27 0x4>;
> > +				status = "disabled";
> > +			};
> 
> The uart node should be called "serial@d4017000" instead of
> "uart@d4017000".

Thanks for the catch!

> 
> > diff --git a/arch/arm/mach-mmp/reset.c b/arch/arm/mach-mmp/reset.c
> new
> > file mode 100644 index 0000000..b90ec54
> > --- /dev/null
> > +++ b/arch/arm/mach-mmp/reset.c
> > @@ -0,0 +1,66 @@
> > +/*
> > + * linux/arch/arm/mach-mmp/reset.c
> 
> I think this could just be part of the smp.c file.

Sorry, but which smp.c do you mean?

> 
> > + *
> > + * Author:	Neil Zhang <zhangwm@marvell.com>
> > + * Copyright:	(C) 2012 Marvell International Ltd.
> > + *
> > + * This program is free software; you can redistribute it and/or
> > + modify
> > + * it under the terms of the GNU General Public License as published
> > + by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + */
> > +
> > +#include <linux/kernel.h>
> > +#include <linux/smp.h>
> > +
> > +#include <asm/io.h>
> > +#include <asm/cacheflush.h>
> > +#include <asm/mach/map.h>
> > +
> > +#include <mach/addr-map.h>
> > +
> > +#include "reset.h"
> > +
> > +#define PMU_CC2_AP			APMU_REG(0x0100)
> > +#define CIU_CA9_WARM_RESET_VECTOR	CIU_REG(0x00d8)
> 
> You should not hardcode the addresses here, better find them from the
> device tree.

Thanks for your suggestion, we will consider it.

> > +
> > +#define CPU_CORE_RST(n)	(1 << ((n) * 4 + 16))
> > +#define CPU_DBG_RST(n)	(1 << ((n) * 4 + 18))
> > +#define CPU_WDOG_RST(n)	(1 << ((n) * 4 + 19))
> 
> This should probably go into a reset controller driver, in drivers/reset/
> 

It should not related to drivers/reset/.
What this file does is to set reset handler for core bootup or reset from power down (suspend or C2 power down).

> 	Arnd

Best Regards,
Neil Zhang
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support
@ 2013-07-11 11:35       ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-11 11:35 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: devicetree-discuss, linux-kernel, haojian.zhuang,
	linux-arm-kernel, grant.likely, Chao Xie

Arnd,



> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@arndb.de]
> Sent: 2013年7月10日 6:05
> To: Neil Zhang
> Cc: grant.likely@linaro.org; haojian.zhuang@gmail.com;
> devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; Chao Xie
> Subject: Re: [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree
> support
> 
> On Tuesday 09 July 2013, Neil Zhang wrote:
> > +	soc {
> > +		compatible = "simple-bus";
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		interrupt-parent = <&gic>;
> > +		ranges;
> > +
> > +		gic: interrupt-controller@d1dfe100 {
> > +			compatible = "arm,cortex-a9-gic";
> > +			#interrupt-cells = <3>;
> > +			#address-cells = <1>;
> > +			interrupt-controller;
> > +			reg = <0xd1dff000 0x1000>,
> > +			      <0xd1dfe100 0x0100>;
> > +		};
> > +
> > +		L2: l2-cache-controller@d1dfb000 {
> > +			compatible = "arm,pl310-cache";
> > +			reg = <0xd1dfb000 0x1000>;
> > +			arm,data-latency = <2 1 1>;
> > +			arm,tag-latency = <2 1 1>;
> > +			arm,pwr-dynamic-clk-gating;
> > +			arm,pwr-standby-mode;
> > +			cache-unified;
> > +			cache-level = <2>;
> > +		};
> > +
> > +		local-timer@d1dfe600 {
> > +			compatible = "arm,cortex-a9-twd-timer";
> > +			reg = <0xd1dfe600 0x20>;
> > +			interrupts = <1 13 0x304>;
> > +		};
> > +
> > +		axi@d4200000 {	/* AXI */
> > +			compatible = "simple-bus";
> > +			#address-cells = <1>;
> > +			#size-cells = <1>;
> > +			ranges = <0xd4200000 0xd4200000 0x00200000>;
> > +
> > +			intc: wakeupgen@d4282000 {
> > +				compatible = "marvell,mmp-intc";
> > +				reg = <0xd4282000 0x1000>;
> > +				marvell,intc-wakeup = <0x114 0x3
> > +						    0x144 0x3>;
> > +			};
> > +		};
> 
> I am guessing that the structure does not actually reflect the hardware.
> 
> Shouldn't AXI be the top-level bus, with the other stuff under it?
> 
> > +
> > +
> > +			uart1: uart@d4017000 {
> > +				compatible = "marvell,mmp-uart";
> > +				reg = <0xd4017000 0x1000>;
> > +				interrupts = <0 27 0x4>;
> > +				status = "disabled";
> > +			};
> 
> The uart node should be called "serial@d4017000" instead of
> "uart@d4017000".

Thanks for the catch!

> 
> > diff --git a/arch/arm/mach-mmp/reset.c b/arch/arm/mach-mmp/reset.c
> new
> > file mode 100644 index 0000000..b90ec54
> > --- /dev/null
> > +++ b/arch/arm/mach-mmp/reset.c
> > @@ -0,0 +1,66 @@
> > +/*
> > + * linux/arch/arm/mach-mmp/reset.c
> 
> I think this could just be part of the smp.c file.

Sorry, but which smp.c do you mean?

> 
> > + *
> > + * Author:	Neil Zhang <zhangwm@marvell.com>
> > + * Copyright:	(C) 2012 Marvell International Ltd.
> > + *
> > + * This program is free software; you can redistribute it and/or
> > + modify
> > + * it under the terms of the GNU General Public License as published
> > + by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + */
> > +
> > +#include <linux/kernel.h>
> > +#include <linux/smp.h>
> > +
> > +#include <asm/io.h>
> > +#include <asm/cacheflush.h>
> > +#include <asm/mach/map.h>
> > +
> > +#include <mach/addr-map.h>
> > +
> > +#include "reset.h"
> > +
> > +#define PMU_CC2_AP			APMU_REG(0x0100)
> > +#define CIU_CA9_WARM_RESET_VECTOR	CIU_REG(0x00d8)
> 
> You should not hardcode the addresses here, better find them from the
> device tree.

Thanks for your suggestion, we will consider it.

> > +
> > +#define CPU_CORE_RST(n)	(1 << ((n) * 4 + 16))
> > +#define CPU_DBG_RST(n)	(1 << ((n) * 4 + 18))
> > +#define CPU_WDOG_RST(n)	(1 << ((n) * 4 + 19))
> 
> This should probably go into a reset controller driver, in drivers/reset/
> 

It should not related to drivers/reset/.
What this file does is to set reset handler for core bootup or reset from power down (suspend or C2 power down).

> 	Arnd

Best Regards,
Neil Zhang
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support
@ 2013-07-11 11:35       ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-11 11:35 UTC (permalink / raw)
  To: linux-arm-kernel

Arnd,



> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd at arndb.de]
> Sent: 2013?7?10? 6:05
> To: Neil Zhang
> Cc: grant.likely at linaro.org; haojian.zhuang at gmail.com;
> devicetree-discuss at lists.ozlabs.org; linux-kernel at vger.kernel.org;
> linux-arm-kernel at lists.infradead.org; Chao Xie
> Subject: Re: [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree
> support
> 
> On Tuesday 09 July 2013, Neil Zhang wrote:
> > +	soc {
> > +		compatible = "simple-bus";
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		interrupt-parent = <&gic>;
> > +		ranges;
> > +
> > +		gic: interrupt-controller at d1dfe100 {
> > +			compatible = "arm,cortex-a9-gic";
> > +			#interrupt-cells = <3>;
> > +			#address-cells = <1>;
> > +			interrupt-controller;
> > +			reg = <0xd1dff000 0x1000>,
> > +			      <0xd1dfe100 0x0100>;
> > +		};
> > +
> > +		L2: l2-cache-controller at d1dfb000 {
> > +			compatible = "arm,pl310-cache";
> > +			reg = <0xd1dfb000 0x1000>;
> > +			arm,data-latency = <2 1 1>;
> > +			arm,tag-latency = <2 1 1>;
> > +			arm,pwr-dynamic-clk-gating;
> > +			arm,pwr-standby-mode;
> > +			cache-unified;
> > +			cache-level = <2>;
> > +		};
> > +
> > +		local-timer at d1dfe600 {
> > +			compatible = "arm,cortex-a9-twd-timer";
> > +			reg = <0xd1dfe600 0x20>;
> > +			interrupts = <1 13 0x304>;
> > +		};
> > +
> > +		axi at d4200000 {	/* AXI */
> > +			compatible = "simple-bus";
> > +			#address-cells = <1>;
> > +			#size-cells = <1>;
> > +			ranges = <0xd4200000 0xd4200000 0x00200000>;
> > +
> > +			intc: wakeupgen at d4282000 {
> > +				compatible = "marvell,mmp-intc";
> > +				reg = <0xd4282000 0x1000>;
> > +				marvell,intc-wakeup = <0x114 0x3
> > +						    0x144 0x3>;
> > +			};
> > +		};
> 
> I am guessing that the structure does not actually reflect the hardware.
> 
> Shouldn't AXI be the top-level bus, with the other stuff under it?
> 
> > +
> > +
> > +			uart1: uart at d4017000 {
> > +				compatible = "marvell,mmp-uart";
> > +				reg = <0xd4017000 0x1000>;
> > +				interrupts = <0 27 0x4>;
> > +				status = "disabled";
> > +			};
> 
> The uart node should be called "serial at d4017000" instead of
> "uart at d4017000".

Thanks for the catch!

> 
> > diff --git a/arch/arm/mach-mmp/reset.c b/arch/arm/mach-mmp/reset.c
> new
> > file mode 100644 index 0000000..b90ec54
> > --- /dev/null
> > +++ b/arch/arm/mach-mmp/reset.c
> > @@ -0,0 +1,66 @@
> > +/*
> > + * linux/arch/arm/mach-mmp/reset.c
> 
> I think this could just be part of the smp.c file.

Sorry, but which smp.c do you mean?

> 
> > + *
> > + * Author:	Neil Zhang <zhangwm@marvell.com>
> > + * Copyright:	(C) 2012 Marvell International Ltd.
> > + *
> > + * This program is free software; you can redistribute it and/or
> > + modify
> > + * it under the terms of the GNU General Public License as published
> > + by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + */
> > +
> > +#include <linux/kernel.h>
> > +#include <linux/smp.h>
> > +
> > +#include <asm/io.h>
> > +#include <asm/cacheflush.h>
> > +#include <asm/mach/map.h>
> > +
> > +#include <mach/addr-map.h>
> > +
> > +#include "reset.h"
> > +
> > +#define PMU_CC2_AP			APMU_REG(0x0100)
> > +#define CIU_CA9_WARM_RESET_VECTOR	CIU_REG(0x00d8)
> 
> You should not hardcode the addresses here, better find them from the
> device tree.

Thanks for your suggestion, we will consider it.

> > +
> > +#define CPU_CORE_RST(n)	(1 << ((n) * 4 + 16))
> > +#define CPU_DBG_RST(n)	(1 << ((n) * 4 + 18))
> > +#define CPU_WDOG_RST(n)	(1 << ((n) * 4 + 19))
> 
> This should probably go into a reset controller driver, in drivers/reset/
> 

It should not related to drivers/reset/.
What this file does is to set reset handler for core bootup or reset from power down (suspend or C2 power down).

> 	Arnd

Best Regards,
Neil Zhang

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
  2013-07-11 11:23           ` Neil Zhang
  (?)
@ 2013-07-11 23:51             ` Haojian Zhuang
  -1 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-11 23:51 UTC (permalink / raw)
  To: Neil Zhang
  Cc: Arnd Bergmann, Thomas Petazzoni, Grant Likely,
	devicetree-discuss, linux-kernel, linux-arm-kernel

On Thu, Jul 11, 2013 at 7:23 PM, Neil Zhang <zhangwm@marvell.com> wrote:
> Haojian,
>
>
>> -----Original Message-----
>> From: Haojian Zhuang [mailto:haojian.zhuang@gmail.com]
>> Sent: 2013年7月10日 13:59
>> To: Arnd Bergmann
>> Cc: Thomas Petazzoni; Neil Zhang; Grant Likely;
>> devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
>> linux-arm-kernel@lists.infradead.org
>> Subject: Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF
>> DECLARE
>>
>> On Wed, Jul 10, 2013 at 5:16 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>> > On Tuesday 09 July 2013, Thomas Petazzoni wrote:
>> >> Dear Neil Zhang,
>> >>
>> >> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
>> >> > support CLOCKSOURCE OF DECLARE for mmp timer.
>> >> >
>> >> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> > ---
>> >> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
>> >> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
>> >> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
>> >> >  3 files changed, 5 insertions(+), 18 deletions(-)
>> >>
>> >> Maybe it would be good to take this opportunity to move
>> >> arch/arm/mach-mmp/time.c into drivers/clocksource/.
>> >
>> > +1
>> >
>> > Or we might want to have a more coordinated move of all clocksource
>> > drivers in arch/arm to drivers/clocksource now, as we have done for
>> > some other subsystems.
>> >
>> >         Arnd
>>
>> I already sent some patches on this. But I didn't get response yet. I'll rebase
>> them and send them again. I hope that they could be merged in this cycle.
>>
>> Regards
>> Haojian
>
> Will you submit a patch to move it by yourself or let me update the patch to
> move it to drivers/clocksource in next version?
>
> Best Regards,
> Neil Zhang

Not one patch. There're a couples of patches. They are depandant each other.

I don't have time to rebase them in these two weeks. Go ahead to rebase all
your patches on mine.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-11 23:51             ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-11 23:51 UTC (permalink / raw)
  To: Neil Zhang
  Cc: Arnd Bergmann, Thomas Petazzoni, Grant Likely,
	devicetree-discuss, linux-kernel, linux-arm-kernel

On Thu, Jul 11, 2013 at 7:23 PM, Neil Zhang <zhangwm@marvell.com> wrote:
> Haojian,
>
>
>> -----Original Message-----
>> From: Haojian Zhuang [mailto:haojian.zhuang@gmail.com]
>> Sent: 2013年7月10日 13:59
>> To: Arnd Bergmann
>> Cc: Thomas Petazzoni; Neil Zhang; Grant Likely;
>> devicetree-discuss@lists.ozlabs.org; linux-kernel@vger.kernel.org;
>> linux-arm-kernel@lists.infradead.org
>> Subject: Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF
>> DECLARE
>>
>> On Wed, Jul 10, 2013 at 5:16 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>> > On Tuesday 09 July 2013, Thomas Petazzoni wrote:
>> >> Dear Neil Zhang,
>> >>
>> >> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
>> >> > support CLOCKSOURCE OF DECLARE for mmp timer.
>> >> >
>> >> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> > ---
>> >> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
>> >> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
>> >> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
>> >> >  3 files changed, 5 insertions(+), 18 deletions(-)
>> >>
>> >> Maybe it would be good to take this opportunity to move
>> >> arch/arm/mach-mmp/time.c into drivers/clocksource/.
>> >
>> > +1
>> >
>> > Or we might want to have a more coordinated move of all clocksource
>> > drivers in arch/arm to drivers/clocksource now, as we have done for
>> > some other subsystems.
>> >
>> >         Arnd
>>
>> I already sent some patches on this. But I didn't get response yet. I'll rebase
>> them and send them again. I hope that they could be merged in this cycle.
>>
>> Regards
>> Haojian
>
> Will you submit a patch to move it by yourself or let me update the patch to
> move it to drivers/clocksource in next version?
>
> Best Regards,
> Neil Zhang

Not one patch. There're a couples of patches. They are depandant each other.

I don't have time to rebase them in these two weeks. Go ahead to rebase all
your patches on mine.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE
@ 2013-07-11 23:51             ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-11 23:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jul 11, 2013 at 7:23 PM, Neil Zhang <zhangwm@marvell.com> wrote:
> Haojian,
>
>
>> -----Original Message-----
>> From: Haojian Zhuang [mailto:haojian.zhuang at gmail.com]
>> Sent: 2013?7?10? 13:59
>> To: Arnd Bergmann
>> Cc: Thomas Petazzoni; Neil Zhang; Grant Likely;
>> devicetree-discuss at lists.ozlabs.org; linux-kernel at vger.kernel.org;
>> linux-arm-kernel at lists.infradead.org
>> Subject: Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF
>> DECLARE
>>
>> On Wed, Jul 10, 2013 at 5:16 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>> > On Tuesday 09 July 2013, Thomas Petazzoni wrote:
>> >> Dear Neil Zhang,
>> >>
>> >> On Tue, 9 Jul 2013 14:42:45 +0800, Neil Zhang wrote:
>> >> > support CLOCKSOURCE OF DECLARE for mmp timer.
>> >> >
>> >> > Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> > ---
>> >> >  arch/arm/mach-mmp/mmp-dt.c  |    5 ++---
>> >> >  arch/arm/mach-mmp/mmp2-dt.c |    3 +--
>> >> >  arch/arm/mach-mmp/time.c    |   15 ++-------------
>> >> >  3 files changed, 5 insertions(+), 18 deletions(-)
>> >>
>> >> Maybe it would be good to take this opportunity to move
>> >> arch/arm/mach-mmp/time.c into drivers/clocksource/.
>> >
>> > +1
>> >
>> > Or we might want to have a more coordinated move of all clocksource
>> > drivers in arch/arm to drivers/clocksource now, as we have done for
>> > some other subsystems.
>> >
>> >         Arnd
>>
>> I already sent some patches on this. But I didn't get response yet. I'll rebase
>> them and send them again. I hope that they could be merged in this cycle.
>>
>> Regards
>> Haojian
>
> Will you submit a patch to move it by yourself or let me update the patch to
> move it to drivers/clocksource in next version?
>
> Best Regards,
> Neil Zhang

Not one patch. There're a couples of patches. They are depandant each other.

I don't have time to rebase them in these two weeks. Go ahead to rebase all
your patches on mine.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-10 21:50             ` Jason Cooper
  (?)
@ 2013-07-11 23:54               ` Haojian Zhuang
  -1 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-11 23:54 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Neil Zhang, Grant Likely, Bergmann Arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Thu, Jul 11, 2013 at 5:50 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
>> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
>> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> >> > Neil,
>> >> >
>> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> >> >> let's change it.
>> >> >>
>> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> >> ---
>> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
>> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
>> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
>> >> >
>> >> > I agree with the need to change, however, this has been in the binding
>> >> > documentation since v3.5.  I wish we had caught this when we decided
>> >> > against using stock ticker symbols (not all stock markets use
>> >> > alphabetical abbreviated names, not all companies are listed on any
>> >> > stock exchange).
>> >> >
>> >> > To do this properly, the drivers are going to have to be compatible with
>> >> > the old and the new names, and the binding docs updated to reflect the
>> >> > legacy name and the preferred name.
>> >> >
>> >>
>> >> It's better to only use the new names.
>> >
>> > In the dts{i}, yes.  But we don't want to break systems in the field
>> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
>> > need an extra compatible string to support "mrvl,...".
>> >
>> > If it had just been since v3.9, it'd be different/simpler.  However,
>> > several vendors have opted to use kernels newer than v3.5, which makes
>> > this scenario a real possibility.
>> >
>> > thx,
>> >
>> > Jason.
>>
>> Is there any vendor using DT for this Marvell chip? I think the answer is no.
>
> Well, Daniel Drake spoke up for OLPC.  Does that count?
>
> thx,
>
> Jason.
>

We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
in kernel, we could use both old name & new name in driver.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-11 23:54               ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-11 23:54 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Neil Zhang, Grant Likely, Bergmann Arnd, devicetree-discuss,
	linux-kernel, linux-arm-kernel

On Thu, Jul 11, 2013 at 5:50 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
>> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
>> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> >> > Neil,
>> >> >
>> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> >> >> let's change it.
>> >> >>
>> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> >> ---
>> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
>> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
>> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
>> >> >
>> >> > I agree with the need to change, however, this has been in the binding
>> >> > documentation since v3.5.  I wish we had caught this when we decided
>> >> > against using stock ticker symbols (not all stock markets use
>> >> > alphabetical abbreviated names, not all companies are listed on any
>> >> > stock exchange).
>> >> >
>> >> > To do this properly, the drivers are going to have to be compatible with
>> >> > the old and the new names, and the binding docs updated to reflect the
>> >> > legacy name and the preferred name.
>> >> >
>> >>
>> >> It's better to only use the new names.
>> >
>> > In the dts{i}, yes.  But we don't want to break systems in the field
>> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
>> > need an extra compatible string to support "mrvl,...".
>> >
>> > If it had just been since v3.9, it'd be different/simpler.  However,
>> > several vendors have opted to use kernels newer than v3.5, which makes
>> > this scenario a real possibility.
>> >
>> > thx,
>> >
>> > Jason.
>>
>> Is there any vendor using DT for this Marvell chip? I think the answer is no.
>
> Well, Daniel Drake spoke up for OLPC.  Does that count?
>
> thx,
>
> Jason.
>

We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
in kernel, we could use both old name & new name in driver.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-11 23:54               ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-11 23:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jul 11, 2013 at 5:50 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
>> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
>> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> >> > Neil,
>> >> >
>> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> >> >> let's change it.
>> >> >>
>> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> >> ---
>> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
>> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
>> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
>> >> >
>> >> > I agree with the need to change, however, this has been in the binding
>> >> > documentation since v3.5.  I wish we had caught this when we decided
>> >> > against using stock ticker symbols (not all stock markets use
>> >> > alphabetical abbreviated names, not all companies are listed on any
>> >> > stock exchange).
>> >> >
>> >> > To do this properly, the drivers are going to have to be compatible with
>> >> > the old and the new names, and the binding docs updated to reflect the
>> >> > legacy name and the preferred name.
>> >> >
>> >>
>> >> It's better to only use the new names.
>> >
>> > In the dts{i}, yes.  But we don't want to break systems in the field
>> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
>> > need an extra compatible string to support "mrvl,...".
>> >
>> > If it had just been since v3.9, it'd be different/simpler.  However,
>> > several vendors have opted to use kernels newer than v3.5, which makes
>> > this scenario a real possibility.
>> >
>> > thx,
>> >
>> > Jason.
>>
>> Is there any vendor using DT for this Marvell chip? I think the answer is no.
>
> Well, Daniel Drake spoke up for OLPC.  Does that count?
>
> thx,
>
> Jason.
>

We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
in kernel, we could use both old name & new name in driver.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-11 23:54               ` Haojian Zhuang
  (?)
@ 2013-07-12 15:10                 ` Daniel Drake
  -1 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-12 15:10 UTC (permalink / raw)
  To: Haojian Zhuang
  Cc: Jason Cooper, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Thu, Jul 11, 2013 at 5:54 PM, Haojian Zhuang
<haojian.zhuang@gmail.com> wrote:
>> Well, Daniel Drake spoke up for OLPC.  Does that count?
>
> We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
> in kernel, we could use both old name & new name in driver.

You are listed as one of the MMP maintainers in the MAINTAINERS file
and I have sent you several patches in the few 3 weeks which make
OLPC's usage of MMP + DT pretty obvious. As a maintainer I believe you
are supposed to review the patches too. hint hint ;)

My request to avoid breaking compatibility actually comes as a
two-prong request.

I would prefer to see these compatible properties stay the same as it
seems like changing them has little purpose/benefit - and there *will*
become a later point where changing them causes major breakage.

At the same time I see that there have been recent efforts to remove
MMP2 platform code and make it entirely DT-driven, which could also
generate some compatibility concerns. However, such movements are much
appreciated and I think they will become increasingly necessary as we
bring up the devices on the MMP3 SoC to a fuller extent, so please
continue :) I would not want to discourage you from breaking
compatibility when *that* type of work needs to be done.


So: breaking compatibility is actually OK from my standpoint, but only
for now (while we stabilise), and I would advise/appreciate that it
only be done in cases where there is a clear purpose and benefit.

Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-12 15:10                 ` Daniel Drake
  0 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-12 15:10 UTC (permalink / raw)
  To: Haojian Zhuang
  Cc: Jason Cooper, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Thu, Jul 11, 2013 at 5:54 PM, Haojian Zhuang
<haojian.zhuang@gmail.com> wrote:
>> Well, Daniel Drake spoke up for OLPC.  Does that count?
>
> We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
> in kernel, we could use both old name & new name in driver.

You are listed as one of the MMP maintainers in the MAINTAINERS file
and I have sent you several patches in the few 3 weeks which make
OLPC's usage of MMP + DT pretty obvious. As a maintainer I believe you
are supposed to review the patches too. hint hint ;)

My request to avoid breaking compatibility actually comes as a
two-prong request.

I would prefer to see these compatible properties stay the same as it
seems like changing them has little purpose/benefit - and there *will*
become a later point where changing them causes major breakage.

At the same time I see that there have been recent efforts to remove
MMP2 platform code and make it entirely DT-driven, which could also
generate some compatibility concerns. However, such movements are much
appreciated and I think they will become increasingly necessary as we
bring up the devices on the MMP3 SoC to a fuller extent, so please
continue :) I would not want to discourage you from breaking
compatibility when *that* type of work needs to be done.


So: breaking compatibility is actually OK from my standpoint, but only
for now (while we stabilise), and I would advise/appreciate that it
only be done in cases where there is a clear purpose and benefit.

Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-12 15:10                 ` Daniel Drake
  0 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-12 15:10 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jul 11, 2013 at 5:54 PM, Haojian Zhuang
<haojian.zhuang@gmail.com> wrote:
>> Well, Daniel Drake spoke up for OLPC.  Does that count?
>
> We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
> in kernel, we could use both old name & new name in driver.

You are listed as one of the MMP maintainers in the MAINTAINERS file
and I have sent you several patches in the few 3 weeks which make
OLPC's usage of MMP + DT pretty obvious. As a maintainer I believe you
are supposed to review the patches too. hint hint ;)

My request to avoid breaking compatibility actually comes as a
two-prong request.

I would prefer to see these compatible properties stay the same as it
seems like changing them has little purpose/benefit - and there *will*
become a later point where changing them causes major breakage.

At the same time I see that there have been recent efforts to remove
MMP2 platform code and make it entirely DT-driven, which could also
generate some compatibility concerns. However, such movements are much
appreciated and I think they will become increasingly necessary as we
bring up the devices on the MMP3 SoC to a fuller extent, so please
continue :) I would not want to discourage you from breaking
compatibility when *that* type of work needs to be done.


So: breaking compatibility is actually OK from my standpoint, but only
for now (while we stabilise), and I would advise/appreciate that it
only be done in cases where there is a clear purpose and benefit.

Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-12 15:10                 ` Daniel Drake
  (?)
@ 2013-07-12 15:57                   ` Jason Cooper
  -1 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-12 15:57 UTC (permalink / raw)
  To: Daniel Drake
  Cc: Haojian Zhuang, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Fri, Jul 12, 2013 at 09:10:49AM -0600, Daniel Drake wrote:
> On Thu, Jul 11, 2013 at 5:54 PM, Haojian Zhuang
> <haojian.zhuang@gmail.com> wrote:
> >> Well, Daniel Drake spoke up for OLPC.  Does that count?
> >
> > We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
> > in kernel, we could use both old name & new name in driver.
> 
> You are listed as one of the MMP maintainers in the MAINTAINERS file
> and I have sent you several patches in the few 3 weeks which make
> OLPC's usage of MMP + DT pretty obvious. As a maintainer I believe you
> are supposed to review the patches too. hint hint ;)
> 
> My request to avoid breaking compatibility actually comes as a
> two-prong request.
> 
> I would prefer to see these compatible properties stay the same as it
> seems like changing them has little purpose/benefit - and there *will*
> become a later point where changing them causes major breakage.

I agree with both of you :)  It needs to stabilise quickly, but since
the first inception of Marvell compatible strings was in the mv643xx_eth
driver for powerpc (long before ARM thought it was cool), and they used
"marvell,...", I think we should stick with that.

Which means doing as Haojian now realizes, and having both strings in
the relevant drivers.

This also means we should do a patch for stable v3.5+ appending the
"mrvl,..." string to the drivers that had it removed improperly, as
Daniel discovered.  Daniel, since you are probably most familiar (and
most able to test ;-) ), would you mind putting that patch together?

So we don't have to keep it around forever, we could do as Arnd has
suggested in the past (for an entirely different problem):

	/* assuming it goes in for v3.12 */
	if (WARN_ON(of_device_is_compatible(dev, "mrvl,..."))) {
		dev_info(&dev->dev, "compatible string \"mrvl,...\" being removed in v3.15\n");
		BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0));
	}

* I can't find where Arnd's suggestion was, so this hack is completely
my own.

Keep in mind, the above hack is just a suggestion, it makes my skin
crawl just looking at it... I'm open to other ideas.  Or, not doing it
at all.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-12 15:57                   ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-12 15:57 UTC (permalink / raw)
  To: Daniel Drake
  Cc: Haojian Zhuang, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Fri, Jul 12, 2013 at 09:10:49AM -0600, Daniel Drake wrote:
> On Thu, Jul 11, 2013 at 5:54 PM, Haojian Zhuang
> <haojian.zhuang@gmail.com> wrote:
> >> Well, Daniel Drake spoke up for OLPC.  Does that count?
> >
> > We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
> > in kernel, we could use both old name & new name in driver.
> 
> You are listed as one of the MMP maintainers in the MAINTAINERS file
> and I have sent you several patches in the few 3 weeks which make
> OLPC's usage of MMP + DT pretty obvious. As a maintainer I believe you
> are supposed to review the patches too. hint hint ;)
> 
> My request to avoid breaking compatibility actually comes as a
> two-prong request.
> 
> I would prefer to see these compatible properties stay the same as it
> seems like changing them has little purpose/benefit - and there *will*
> become a later point where changing them causes major breakage.

I agree with both of you :)  It needs to stabilise quickly, but since
the first inception of Marvell compatible strings was in the mv643xx_eth
driver for powerpc (long before ARM thought it was cool), and they used
"marvell,...", I think we should stick with that.

Which means doing as Haojian now realizes, and having both strings in
the relevant drivers.

This also means we should do a patch for stable v3.5+ appending the
"mrvl,..." string to the drivers that had it removed improperly, as
Daniel discovered.  Daniel, since you are probably most familiar (and
most able to test ;-) ), would you mind putting that patch together?

So we don't have to keep it around forever, we could do as Arnd has
suggested in the past (for an entirely different problem):

	/* assuming it goes in for v3.12 */
	if (WARN_ON(of_device_is_compatible(dev, "mrvl,..."))) {
		dev_info(&dev->dev, "compatible string \"mrvl,...\" being removed in v3.15\n");
		BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0));
	}

* I can't find where Arnd's suggestion was, so this hack is completely
my own.

Keep in mind, the above hack is just a suggestion, it makes my skin
crawl just looking at it... I'm open to other ideas.  Or, not doing it
at all.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-12 15:57                   ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-12 15:57 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 12, 2013 at 09:10:49AM -0600, Daniel Drake wrote:
> On Thu, Jul 11, 2013 at 5:54 PM, Haojian Zhuang
> <haojian.zhuang@gmail.com> wrote:
> >> Well, Daniel Drake spoke up for OLPC.  Does that count?
> >
> > We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
> > in kernel, we could use both old name & new name in driver.
> 
> You are listed as one of the MMP maintainers in the MAINTAINERS file
> and I have sent you several patches in the few 3 weeks which make
> OLPC's usage of MMP + DT pretty obvious. As a maintainer I believe you
> are supposed to review the patches too. hint hint ;)
> 
> My request to avoid breaking compatibility actually comes as a
> two-prong request.
> 
> I would prefer to see these compatible properties stay the same as it
> seems like changing them has little purpose/benefit - and there *will*
> become a later point where changing them causes major breakage.

I agree with both of you :)  It needs to stabilise quickly, but since
the first inception of Marvell compatible strings was in the mv643xx_eth
driver for powerpc (long before ARM thought it was cool), and they used
"marvell,...", I think we should stick with that.

Which means doing as Haojian now realizes, and having both strings in
the relevant drivers.

This also means we should do a patch for stable v3.5+ appending the
"mrvl,..." string to the drivers that had it removed improperly, as
Daniel discovered.  Daniel, since you are probably most familiar (and
most able to test ;-) ), would you mind putting that patch together?

So we don't have to keep it around forever, we could do as Arnd has
suggested in the past (for an entirely different problem):

	/* assuming it goes in for v3.12 */
	if (WARN_ON(of_device_is_compatible(dev, "mrvl,..."))) {
		dev_info(&dev->dev, "compatible string \"mrvl,...\" being removed in v3.15\n");
		BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0));
	}

* I can't find where Arnd's suggestion was, so this hack is completely
my own.

Keep in mind, the above hack is just a suggestion, it makes my skin
crawl just looking at it... I'm open to other ideas.  Or, not doing it
at all.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-12 15:57                   ` Jason Cooper
  (?)
@ 2013-07-12 16:05                     ` Daniel Drake
  -1 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-12 16:05 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Haojian Zhuang, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Fri, Jul 12, 2013 at 9:57 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> This also means we should do a patch for stable v3.5+ appending the
> "mrvl,..." string to the drivers that had it removed improperly, as
> Daniel discovered.  Daniel, since you are probably most familiar (and
> most able to test ;-) ), would you mind putting that patch together?

I will look at that. There was another case of a quiet mrvl->marvell
conversion that bit us around a year ago as well, so I will dig that
up too for consideration.

> So we don't have to keep it around forever, we could do as Arnd has
> suggested in the past (for an entirely different problem):
>
>         /* assuming it goes in for v3.12 */
>         if (WARN_ON(of_device_is_compatible(dev, "mrvl,..."))) {
>                 dev_info(&dev->dev, "compatible string \"mrvl,...\" being removed in v3.15\n");
>                 BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0));
>         }
>
> * I can't find where Arnd's suggestion was, so this hack is completely
> my own.
>
> Keep in mind, the above hack is just a suggestion, it makes my skin
> crawl just looking at it... I'm open to other ideas.  Or, not doing it
> at all.

A new OpenFirmware or dtb file would want to keep the old mrvl
compatible string around in order to have compatibility with old
kernels. So I think that hack would have to be extended to "if device
is compatible with mrvl, but not marvell, then warn". And that seems
so ugly that my vote would be to avoid it. Especially while we don't
know of existing users who have a requirement of stability.

Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-12 16:05                     ` Daniel Drake
  0 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-12 16:05 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Haojian Zhuang, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Fri, Jul 12, 2013 at 9:57 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> This also means we should do a patch for stable v3.5+ appending the
> "mrvl,..." string to the drivers that had it removed improperly, as
> Daniel discovered.  Daniel, since you are probably most familiar (and
> most able to test ;-) ), would you mind putting that patch together?

I will look at that. There was another case of a quiet mrvl->marvell
conversion that bit us around a year ago as well, so I will dig that
up too for consideration.

> So we don't have to keep it around forever, we could do as Arnd has
> suggested in the past (for an entirely different problem):
>
>         /* assuming it goes in for v3.12 */
>         if (WARN_ON(of_device_is_compatible(dev, "mrvl,..."))) {
>                 dev_info(&dev->dev, "compatible string \"mrvl,...\" being removed in v3.15\n");
>                 BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0));
>         }
>
> * I can't find where Arnd's suggestion was, so this hack is completely
> my own.
>
> Keep in mind, the above hack is just a suggestion, it makes my skin
> crawl just looking at it... I'm open to other ideas.  Or, not doing it
> at all.

A new OpenFirmware or dtb file would want to keep the old mrvl
compatible string around in order to have compatibility with old
kernels. So I think that hack would have to be extended to "if device
is compatible with mrvl, but not marvell, then warn". And that seems
so ugly that my vote would be to avoid it. Especially while we don't
know of existing users who have a requirement of stability.

Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-12 16:05                     ` Daniel Drake
  0 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-12 16:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 12, 2013 at 9:57 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> This also means we should do a patch for stable v3.5+ appending the
> "mrvl,..." string to the drivers that had it removed improperly, as
> Daniel discovered.  Daniel, since you are probably most familiar (and
> most able to test ;-) ), would you mind putting that patch together?

I will look at that. There was another case of a quiet mrvl->marvell
conversion that bit us around a year ago as well, so I will dig that
up too for consideration.

> So we don't have to keep it around forever, we could do as Arnd has
> suggested in the past (for an entirely different problem):
>
>         /* assuming it goes in for v3.12 */
>         if (WARN_ON(of_device_is_compatible(dev, "mrvl,..."))) {
>                 dev_info(&dev->dev, "compatible string \"mrvl,...\" being removed in v3.15\n");
>                 BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0));
>         }
>
> * I can't find where Arnd's suggestion was, so this hack is completely
> my own.
>
> Keep in mind, the above hack is just a suggestion, it makes my skin
> crawl just looking at it... I'm open to other ideas.  Or, not doing it
> at all.

A new OpenFirmware or dtb file would want to keep the old mrvl
compatible string around in order to have compatibility with old
kernels. So I think that hack would have to be extended to "if device
is compatible with mrvl, but not marvell, then warn". And that seems
so ugly that my vote would be to avoid it. Especially while we don't
know of existing users who have a requirement of stability.

Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-12 16:05                     ` Daniel Drake
  (?)
@ 2013-07-12 16:14                       ` Jason Cooper
  -1 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-12 16:14 UTC (permalink / raw)
  To: Daniel Drake
  Cc: Haojian Zhuang, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Fri, Jul 12, 2013 at 10:05:45AM -0600, Daniel Drake wrote:
> On Fri, Jul 12, 2013 at 9:57 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> > This also means we should do a patch for stable v3.5+ appending the
> > "mrvl,..." string to the drivers that had it removed improperly, as
> > Daniel discovered.  Daniel, since you are probably most familiar (and
> > most able to test ;-) ), would you mind putting that patch together?
> 
> I will look at that. There was another case of a quiet mrvl->marvell
> conversion that bit us around a year ago as well, so I will dig that
> up too for consideration.

Ok, thanks.

> > So we don't have to keep it around forever, we could do as Arnd has
> > suggested in the past (for an entirely different problem):
> >
> >         /* assuming it goes in for v3.12 */
> >         if (WARN_ON(of_device_is_compatible(dev, "mrvl,..."))) {
> >                 dev_info(&dev->dev, "compatible string \"mrvl,...\" being removed in v3.15\n");
> >                 BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0));
> >         }
> >
> > * I can't find where Arnd's suggestion was, so this hack is completely
> > my own.
> >
> > Keep in mind, the above hack is just a suggestion, it makes my skin
> > crawl just looking at it... I'm open to other ideas.  Or, not doing it
> > at all.
> 
> A new OpenFirmware or dtb file would want to keep the old mrvl
> compatible string around in order to have compatibility with old
> kernels. So I think that hack would have to be extended to "if device
> is compatible with mrvl, but not marvell, then warn". And that seems
> so ugly that my vote would be to avoid it. Especially while we don't
> know of existing users who have a requirement of stability.

whew!  Ok, drop that idea.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-12 16:14                       ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-12 16:14 UTC (permalink / raw)
  To: Daniel Drake
  Cc: Haojian Zhuang, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Fri, Jul 12, 2013 at 10:05:45AM -0600, Daniel Drake wrote:
> On Fri, Jul 12, 2013 at 9:57 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> > This also means we should do a patch for stable v3.5+ appending the
> > "mrvl,..." string to the drivers that had it removed improperly, as
> > Daniel discovered.  Daniel, since you are probably most familiar (and
> > most able to test ;-) ), would you mind putting that patch together?
> 
> I will look at that. There was another case of a quiet mrvl->marvell
> conversion that bit us around a year ago as well, so I will dig that
> up too for consideration.

Ok, thanks.

> > So we don't have to keep it around forever, we could do as Arnd has
> > suggested in the past (for an entirely different problem):
> >
> >         /* assuming it goes in for v3.12 */
> >         if (WARN_ON(of_device_is_compatible(dev, "mrvl,..."))) {
> >                 dev_info(&dev->dev, "compatible string \"mrvl,...\" being removed in v3.15\n");
> >                 BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0));
> >         }
> >
> > * I can't find where Arnd's suggestion was, so this hack is completely
> > my own.
> >
> > Keep in mind, the above hack is just a suggestion, it makes my skin
> > crawl just looking at it... I'm open to other ideas.  Or, not doing it
> > at all.
> 
> A new OpenFirmware or dtb file would want to keep the old mrvl
> compatible string around in order to have compatibility with old
> kernels. So I think that hack would have to be extended to "if device
> is compatible with mrvl, but not marvell, then warn". And that seems
> so ugly that my vote would be to avoid it. Especially while we don't
> know of existing users who have a requirement of stability.

whew!  Ok, drop that idea.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-12 16:14                       ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-12 16:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 12, 2013 at 10:05:45AM -0600, Daniel Drake wrote:
> On Fri, Jul 12, 2013 at 9:57 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> > This also means we should do a patch for stable v3.5+ appending the
> > "mrvl,..." string to the drivers that had it removed improperly, as
> > Daniel discovered.  Daniel, since you are probably most familiar (and
> > most able to test ;-) ), would you mind putting that patch together?
> 
> I will look at that. There was another case of a quiet mrvl->marvell
> conversion that bit us around a year ago as well, so I will dig that
> up too for consideration.

Ok, thanks.

> > So we don't have to keep it around forever, we could do as Arnd has
> > suggested in the past (for an entirely different problem):
> >
> >         /* assuming it goes in for v3.12 */
> >         if (WARN_ON(of_device_is_compatible(dev, "mrvl,..."))) {
> >                 dev_info(&dev->dev, "compatible string \"mrvl,...\" being removed in v3.15\n");
> >                 BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0));
> >         }
> >
> > * I can't find where Arnd's suggestion was, so this hack is completely
> > my own.
> >
> > Keep in mind, the above hack is just a suggestion, it makes my skin
> > crawl just looking at it... I'm open to other ideas.  Or, not doing it
> > at all.
> 
> A new OpenFirmware or dtb file would want to keep the old mrvl
> compatible string around in order to have compatibility with old
> kernels. So I think that hack would have to be extended to "if device
> is compatible with mrvl, but not marvell, then warn". And that seems
> so ugly that my vote would be to avoid it. Especially while we don't
> know of existing users who have a requirement of stability.

whew!  Ok, drop that idea.

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-13  0:35                   ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-13  0:35 UTC (permalink / raw)
  To: Daniel Drake
  Cc: Jason Cooper, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Fri, Jul 12, 2013 at 11:10 PM, Daniel Drake <dsd@laptop.org> wrote:
> On Thu, Jul 11, 2013 at 5:54 PM, Haojian Zhuang
> <haojian.zhuang@gmail.com> wrote:
>>> Well, Daniel Drake spoke up for OLPC.  Does that count?
>>
>> We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
>> in kernel, we could use both old name & new name in driver.
>
> You are listed as one of the MMP maintainers in the MAINTAINERS file
> and I have sent you several patches in the few 3 weeks which make
> OLPC's usage of MMP + DT pretty obvious. As a maintainer I believe you
> are supposed to review the patches too. hint hint ;)
>

These patches couldn't be applied. Since we're moving irq drivers from arch
directories to irq directories.

When the irq patches are applied, you can rebase your patches.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-13  0:35                   ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-13  0:35 UTC (permalink / raw)
  To: Daniel Drake
  Cc: Jason Cooper, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Grant Likely, Neil Zhang,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Fri, Jul 12, 2013 at 11:10 PM, Daniel Drake <dsd-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org> wrote:
> On Thu, Jul 11, 2013 at 5:54 PM, Haojian Zhuang
> <haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>> Well, Daniel Drake spoke up for OLPC.  Does that count?
>>
>> We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
>> in kernel, we could use both old name & new name in driver.
>
> You are listed as one of the MMP maintainers in the MAINTAINERS file
> and I have sent you several patches in the few 3 weeks which make
> OLPC's usage of MMP + DT pretty obvious. As a maintainer I believe you
> are supposed to review the patches too. hint hint ;)
>

These patches couldn't be applied. Since we're moving irq drivers from arch
directories to irq directories.

When the irq patches are applied, you can rebase your patches.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-13  0:35                   ` Haojian Zhuang
  0 siblings, 0 replies; 96+ messages in thread
From: Haojian Zhuang @ 2013-07-13  0:35 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 12, 2013 at 11:10 PM, Daniel Drake <dsd@laptop.org> wrote:
> On Thu, Jul 11, 2013 at 5:54 PM, Haojian Zhuang
> <haojian.zhuang@gmail.com> wrote:
>>> Well, Daniel Drake spoke up for OLPC.  Does that count?
>>
>> We don't know they used DT on Marvell MMP2/MMP3. So they don't have DTS file
>> in kernel, we could use both old name & new name in driver.
>
> You are listed as one of the MMP maintainers in the MAINTAINERS file
> and I have sent you several patches in the few 3 weeks which make
> OLPC's usage of MMP + DT pretty obvious. As a maintainer I believe you
> are supposed to review the patches too. hint hint ;)
>

These patches couldn't be applied. Since we're moving irq drivers from arch
directories to irq directories.

When the irq patches are applied, you can rebase your patches.

Regards
Haojian

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-13 14:30                     ` Daniel Drake
  0 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-13 14:30 UTC (permalink / raw)
  To: Haojian Zhuang
  Cc: Jason Cooper, Bergmann Arnd, devicetree-discuss, linux-kernel,
	Grant Likely, Neil Zhang, linux-arm-kernel

On Fri, Jul 12, 2013 at 6:35 PM, Haojian Zhuang
<haojian.zhuang@gmail.com> wrote:
> These patches couldn't be applied. Since we're moving irq drivers from arch
> directories to irq directories.

It does not seem in line with the collaborative manner of kernel
development to block my patches for a whole month because they
conflict with your own private patches which do not exist for anyone
else (at least I searched and couldn't find them).

Please, either post your patches immediately (I will help review), or
review mine and figure out how to handle any conflict with your own
work afterwards.

> When the irq patches are applied, you can rebase your patches.

2 of the pending patches don't touch the irq stuff anyway.

Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-13 14:30                     ` Daniel Drake
  0 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-13 14:30 UTC (permalink / raw)
  To: Haojian Zhuang
  Cc: Jason Cooper, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Grant Likely, Neil Zhang,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Fri, Jul 12, 2013 at 6:35 PM, Haojian Zhuang
<haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> These patches couldn't be applied. Since we're moving irq drivers from arch
> directories to irq directories.

It does not seem in line with the collaborative manner of kernel
development to block my patches for a whole month because they
conflict with your own private patches which do not exist for anyone
else (at least I searched and couldn't find them).

Please, either post your patches immediately (I will help review), or
review mine and figure out how to handle any conflict with your own
work afterwards.

> When the irq patches are applied, you can rebase your patches.

2 of the pending patches don't touch the irq stuff anyway.

Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-13 14:30                     ` Daniel Drake
  0 siblings, 0 replies; 96+ messages in thread
From: Daniel Drake @ 2013-07-13 14:30 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 12, 2013 at 6:35 PM, Haojian Zhuang
<haojian.zhuang@gmail.com> wrote:
> These patches couldn't be applied. Since we're moving irq drivers from arch
> directories to irq directories.

It does not seem in line with the collaborative manner of kernel
development to block my patches for a whole month because they
conflict with your own private patches which do not exist for anyone
else (at least I searched and couldn't find them).

Please, either post your patches immediately (I will help review), or
review mine and figure out how to handle any conflict with your own
work afterwards.

> When the irq patches are applied, you can rebase your patches.

2 of the pending patches don't touch the irq stuff anyway.

Daniel

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-13 19:56               ` Olof Johansson
  0 siblings, 0 replies; 96+ messages in thread
From: Olof Johansson @ 2013-07-13 19:56 UTC (permalink / raw)
  To: Jason Cooper
  Cc: Haojian Zhuang, devicetree-discuss, linux-kernel, Grant Likely,
	Neil Zhang, linux-arm-kernel

On Wed, Jul 10, 2013 at 2:50 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
>> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
>> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> >> > Neil,
>> >> >
>> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> >> >> let's change it.
>> >> >>
>> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> >> ---
>> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
>> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
>> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
>> >> >
>> >> > I agree with the need to change, however, this has been in the binding
>> >> > documentation since v3.5.  I wish we had caught this when we decided
>> >> > against using stock ticker symbols (not all stock markets use
>> >> > alphabetical abbreviated names, not all companies are listed on any
>> >> > stock exchange).
>> >> >
>> >> > To do this properly, the drivers are going to have to be compatible with
>> >> > the old and the new names, and the binding docs updated to reflect the
>> >> > legacy name and the preferred name.
>> >> >
>> >>
>> >> It's better to only use the new names.
>> >
>> > In the dts{i}, yes.  But we don't want to break systems in the field
>> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
>> > need an extra compatible string to support "mrvl,...".
>> >
>> > If it had just been since v3.9, it'd be different/simpler.  However,
>> > several vendors have opted to use kernels newer than v3.5, which makes
>> > this scenario a real possibility.
>> >
>> > thx,
>> >
>> > Jason.
>>
>> Is there any vendor using DT for this Marvell chip? I think the answer is no.
>
> Well, Daniel Drake spoke up for OLPC.  Does that count?

There's stock ticker history for MRVL is available for at least as far
back as 2001, so it's been around for a while. I would argue that the
powerpc guys made a mistake by using the marvell prefix. Either way,
they are not likely to add any new driver or code anytime soon for
these platforms.

Given that we are using mrvl extensively already, I'd say the way
forward is to make the driver handle both compatible values, but only
use mrvl for new code and for all new device tree bindings/data on
ARM.

It's a known issue that we are still in an "in-flux" state when it
comes to bindings on ARM, where people have been free to change them
as needed. At Linaro Connect last week, a group of us got together to
discuss this and I hope that Grant (or maybe someone else) will be
able to post those notes. We have a proposal on how to start moving
away from _everything_ being unstable to a model where parts of the
bindings can be locked down over time to a state where they won't
change. But I won't preempt the proper proposal email by going into
details here.



-Olof

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-13 19:56               ` Olof Johansson
  0 siblings, 0 replies; 96+ messages in thread
From: Olof Johansson @ 2013-07-13 19:56 UTC (permalink / raw)
  To: Jason Cooper
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Grant Likely, Neil Zhang,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Wed, Jul 10, 2013 at 2:50 PM, Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> wrote:
> On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
>> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> wrote:
>> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
>> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> wrote:
>> >> > Neil,
>> >> >
>> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> >> >> let's change it.
>> >> >>
>> >> >> Signed-off-by: Neil Zhang <zhangwm-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
>> >> >> ---
>> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
>> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
>> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
>> >> >
>> >> > I agree with the need to change, however, this has been in the binding
>> >> > documentation since v3.5.  I wish we had caught this when we decided
>> >> > against using stock ticker symbols (not all stock markets use
>> >> > alphabetical abbreviated names, not all companies are listed on any
>> >> > stock exchange).
>> >> >
>> >> > To do this properly, the drivers are going to have to be compatible with
>> >> > the old and the new names, and the binding docs updated to reflect the
>> >> > legacy name and the preferred name.
>> >> >
>> >>
>> >> It's better to only use the new names.
>> >
>> > In the dts{i}, yes.  But we don't want to break systems in the field
>> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
>> > need an extra compatible string to support "mrvl,...".
>> >
>> > If it had just been since v3.9, it'd be different/simpler.  However,
>> > several vendors have opted to use kernels newer than v3.5, which makes
>> > this scenario a real possibility.
>> >
>> > thx,
>> >
>> > Jason.
>>
>> Is there any vendor using DT for this Marvell chip? I think the answer is no.
>
> Well, Daniel Drake spoke up for OLPC.  Does that count?

There's stock ticker history for MRVL is available for at least as far
back as 2001, so it's been around for a while. I would argue that the
powerpc guys made a mistake by using the marvell prefix. Either way,
they are not likely to add any new driver or code anytime soon for
these platforms.

Given that we are using mrvl extensively already, I'd say the way
forward is to make the driver handle both compatible values, but only
use mrvl for new code and for all new device tree bindings/data on
ARM.

It's a known issue that we are still in an "in-flux" state when it
comes to bindings on ARM, where people have been free to change them
as needed. At Linaro Connect last week, a group of us got together to
discuss this and I hope that Grant (or maybe someone else) will be
able to post those notes. We have a proposal on how to start moving
away from _everything_ being unstable to a model where parts of the
bindings can be locked down over time to a state where they won't
change. But I won't preempt the proper proposal email by going into
details here.



-Olof

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-13 19:56               ` Olof Johansson
  0 siblings, 0 replies; 96+ messages in thread
From: Olof Johansson @ 2013-07-13 19:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jul 10, 2013 at 2:50 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
>> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
>> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
>> >> > Neil,
>> >> >
>> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
>> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
>> >> >> let's change it.
>> >> >>
>> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
>> >> >> ---
>> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
>> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
>> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
>> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
>> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
>> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
>> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
>> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
>> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
>> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
>> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
>> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
>> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
>> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
>> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
>> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
>> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
>> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
>> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
>> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
>> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
>> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
>> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
>> >> >
>> >> > I agree with the need to change, however, this has been in the binding
>> >> > documentation since v3.5.  I wish we had caught this when we decided
>> >> > against using stock ticker symbols (not all stock markets use
>> >> > alphabetical abbreviated names, not all companies are listed on any
>> >> > stock exchange).
>> >> >
>> >> > To do this properly, the drivers are going to have to be compatible with
>> >> > the old and the new names, and the binding docs updated to reflect the
>> >> > legacy name and the preferred name.
>> >> >
>> >>
>> >> It's better to only use the new names.
>> >
>> > In the dts{i}, yes.  But we don't want to break systems in the field
>> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
>> > need an extra compatible string to support "mrvl,...".
>> >
>> > If it had just been since v3.9, it'd be different/simpler.  However,
>> > several vendors have opted to use kernels newer than v3.5, which makes
>> > this scenario a real possibility.
>> >
>> > thx,
>> >
>> > Jason.
>>
>> Is there any vendor using DT for this Marvell chip? I think the answer is no.
>
> Well, Daniel Drake spoke up for OLPC.  Does that count?

There's stock ticker history for MRVL is available for at least as far
back as 2001, so it's been around for a while. I would argue that the
powerpc guys made a mistake by using the marvell prefix. Either way,
they are not likely to add any new driver or code anytime soon for
these platforms.

Given that we are using mrvl extensively already, I'd say the way
forward is to make the driver handle both compatible values, but only
use mrvl for new code and for all new device tree bindings/data on
ARM.

It's a known issue that we are still in an "in-flux" state when it
comes to bindings on ARM, where people have been free to change them
as needed. At Linaro Connect last week, a group of us got together to
discuss this and I hope that Grant (or maybe someone else) will be
able to post those notes. We have a proposal on how to start moving
away from _everything_ being unstable to a model where parts of the
bindings can be locked down over time to a state where they won't
change. But I won't preempt the proper proposal email by going into
details here.



-Olof

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-11 11:20           ` Neil Zhang
  (?)
@ 2013-07-14 19:29             ` Arnd Bergmann
  -1 siblings, 0 replies; 96+ messages in thread
From: Arnd Bergmann @ 2013-07-14 19:29 UTC (permalink / raw)
  To: Neil Zhang
  Cc: Jason Cooper, Matt Sealey, grant.likely, haojian.zhuang,
	devicetree-discuss, linux-kernel, linux-arm-kernel

On Thursday 11 July 2013, Neil Zhang wrote:
> > > > To do this properly, the drivers are going to have to be compatible
> > > > with the old and the new names, and the binding docs updated to
> > > > reflect the legacy name and the preferred name.
> > >
> > > Properly would be as above. You can stop using stock tickers for new
> > > company names, but anything that has been defined in a device tree
> > > before has to stay that way, and all the manufacturer prefixes to
> > > device names should be the same. What you're proposing is purely
> > > driver bloat and increasing the size of kernel.
> > 
> > *I'm* not proposing to change the name, Neil is.  I'm proposing that
> > iff they chose to do that, don't break sh*t along the way.
> > 
> 
> What's your opinion?

We discussed the topic of fixing bad bindings vs. keeping backwards
compatibility during last week's Linaro Connect.

The main outcome was that we need to have a better review for new bindings
getting merged to avoid this situation in the future, but the general
consensus seems that bindings that are already in use but were never
reviewed properly (which should have caught this) should be changed.
We will likely establish an annotation in the binding soon to mark those
that can not be changed as opposed to those that are not considered stable
yet.

	Arnd

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-14 19:29             ` Arnd Bergmann
  0 siblings, 0 replies; 96+ messages in thread
From: Arnd Bergmann @ 2013-07-14 19:29 UTC (permalink / raw)
  To: Neil Zhang
  Cc: Jason Cooper, devicetree-discuss, linux-kernel, haojian.zhuang,
	Matt Sealey, grant.likely, linux-arm-kernel

On Thursday 11 July 2013, Neil Zhang wrote:
> > > > To do this properly, the drivers are going to have to be compatible
> > > > with the old and the new names, and the binding docs updated to
> > > > reflect the legacy name and the preferred name.
> > >
> > > Properly would be as above. You can stop using stock tickers for new
> > > company names, but anything that has been defined in a device tree
> > > before has to stay that way, and all the manufacturer prefixes to
> > > device names should be the same. What you're proposing is purely
> > > driver bloat and increasing the size of kernel.
> > 
> > *I'm* not proposing to change the name, Neil is.  I'm proposing that
> > iff they chose to do that, don't break sh*t along the way.
> > 
> 
> What's your opinion?

We discussed the topic of fixing bad bindings vs. keeping backwards
compatibility during last week's Linaro Connect.

The main outcome was that we need to have a better review for new bindings
getting merged to avoid this situation in the future, but the general
consensus seems that bindings that are already in use but were never
reviewed properly (which should have caught this) should be changed.
We will likely establish an annotation in the binding soon to mark those
that can not be changed as opposed to those that are not considered stable
yet.

	Arnd

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-14 19:29             ` Arnd Bergmann
  0 siblings, 0 replies; 96+ messages in thread
From: Arnd Bergmann @ 2013-07-14 19:29 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 11 July 2013, Neil Zhang wrote:
> > > > To do this properly, the drivers are going to have to be compatible
> > > > with the old and the new names, and the binding docs updated to
> > > > reflect the legacy name and the preferred name.
> > >
> > > Properly would be as above. You can stop using stock tickers for new
> > > company names, but anything that has been defined in a device tree
> > > before has to stay that way, and all the manufacturer prefixes to
> > > device names should be the same. What you're proposing is purely
> > > driver bloat and increasing the size of kernel.
> > 
> > *I'm* not proposing to change the name, Neil is.  I'm proposing that
> > iff they chose to do that, don't break sh*t along the way.
> > 
> 
> What's your opinion?

We discussed the topic of fixing bad bindings vs. keeping backwards
compatibility during last week's Linaro Connect.

The main outcome was that we need to have a better review for new bindings
getting merged to avoid this situation in the future, but the general
consensus seems that bindings that are already in use but were never
reviewed properly (which should have caught this) should be changed.
We will likely establish an annotation in the binding soon to mark those
that can not be changed as opposed to those that are not considered stable
yet.

	Arnd

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
  2013-07-13 19:56               ` Olof Johansson
  (?)
@ 2013-07-15  4:39                 ` Jason Cooper
  -1 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-15  4:39 UTC (permalink / raw)
  To: Olof Johansson
  Cc: Haojian Zhuang, devicetree-discuss, linux-kernel, Grant Likely,
	Neil Zhang, linux-arm-kernel

On Sat, Jul 13, 2013 at 12:56:25PM -0700, Olof Johansson wrote:
> On Wed, Jul 10, 2013 at 2:50 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> > On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
> >> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> >> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
> >> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> >> >> > Neil,
> >> >> >
> >> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> >> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> >> >> >> let's change it.
> >> >> >>
> >> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> >> >> ---
> >> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
> >> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
> >> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
> >> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
> >> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
> >> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
> >> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
> >> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
> >> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
> >> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
> >> >> >
> >> >> > I agree with the need to change, however, this has been in the binding
> >> >> > documentation since v3.5.  I wish we had caught this when we decided
> >> >> > against using stock ticker symbols (not all stock markets use
> >> >> > alphabetical abbreviated names, not all companies are listed on any
> >> >> > stock exchange).
> >> >> >
> >> >> > To do this properly, the drivers are going to have to be compatible with
> >> >> > the old and the new names, and the binding docs updated to reflect the
> >> >> > legacy name and the preferred name.
> >> >> >
> >> >>
> >> >> It's better to only use the new names.
> >> >
> >> > In the dts{i}, yes.  But we don't want to break systems in the field
> >> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
> >> > need an extra compatible string to support "mrvl,...".
> >> >
> >> > If it had just been since v3.9, it'd be different/simpler.  However,
> >> > several vendors have opted to use kernels newer than v3.5, which makes
> >> > this scenario a real possibility.
> >> >
> >> > thx,
> >> >
> >> > Jason.
> >>
> >> Is there any vendor using DT for this Marvell chip? I think the answer is no.
> >
> > Well, Daniel Drake spoke up for OLPC.  Does that count?
> 
> There's stock ticker history for MRVL is available for at least as far
> back as 2001, so it's been around for a while. I would argue that the
> powerpc guys made a mistake by using the marvell prefix. Either way,
> they are not likely to add any new driver or code anytime soon for
> these platforms.

I think this boils down to which is more important, adhering to stock
tickers, or adhering to what's actually in the kernel before we (arm-soc
dt effort) got here?

I don't mind if the answer is either way, but back when we started
converting kirkwood to DT we had this discussion, and settled on
"marvell,..." because of powerpc/mv643xx_eth.  Now, it appears we're
flip-flopping.

> Given that we are using mrvl extensively already,

?!  Only -mmp and -pxa have used mrvl.  _everything_ for -kirkwood,
-dove, -orion5x, and -mvebu has used marvell.

$ git grep 'compatible\b.*\bmrvl,' -- drivers/ | wc -l
9
$ git grep 'compatible\b.*\bmarvell,' -- drivers/ | wc -l
54

This is from mvebu/for-next, and does _not_ include Sebastian's patches
going though DaveM's tree adding proper bindings to mv643xx_eth (for
v3.11) which also uses marvell.

> I'd say the way forward is to make the driver handle both compatible
> values,

Agreed, but only where necessary.

> but only use mrvl for new code and for all new device tree
> bindings/data on ARM.

If that's what you want, then no problem.  I just wish this had been
brought up sooner.  We're damn near finished converting -kirkwood to DT.

> It's a known issue that we are still in an "in-flux" state when it
> comes to bindings on ARM, where people have been free to change them
> as needed.

True, but we're doing a pretty good job of thinking them through
carefully and not messing with them once applied.  It's only going to
become more stringent (by necessity of popularity).

> At Linaro Connect last week, a group of us got together to
> discuss this and I hope that Grant (or maybe someone else) will be
> able to post those notes. We have a proposal on how to start moving
> away from _everything_ being unstable to a model where parts of the
> bindings can be locked down over time to a state where they won't
> change. But I won't preempt the proper proposal email by going into
> details here.

Documentation/devicetree/bindings/staging/ ?  :-P

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-15  4:39                 ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-15  4:39 UTC (permalink / raw)
  To: Olof Johansson
  Cc: Haojian Zhuang, devicetree-discuss, linux-kernel, Grant Likely,
	Neil Zhang, linux-arm-kernel

On Sat, Jul 13, 2013 at 12:56:25PM -0700, Olof Johansson wrote:
> On Wed, Jul 10, 2013 at 2:50 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> > On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
> >> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> >> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
> >> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> >> >> > Neil,
> >> >> >
> >> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> >> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> >> >> >> let's change it.
> >> >> >>
> >> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> >> >> ---
> >> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
> >> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
> >> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
> >> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
> >> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
> >> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
> >> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
> >> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
> >> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
> >> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
> >> >> >
> >> >> > I agree with the need to change, however, this has been in the binding
> >> >> > documentation since v3.5.  I wish we had caught this when we decided
> >> >> > against using stock ticker symbols (not all stock markets use
> >> >> > alphabetical abbreviated names, not all companies are listed on any
> >> >> > stock exchange).
> >> >> >
> >> >> > To do this properly, the drivers are going to have to be compatible with
> >> >> > the old and the new names, and the binding docs updated to reflect the
> >> >> > legacy name and the preferred name.
> >> >> >
> >> >>
> >> >> It's better to only use the new names.
> >> >
> >> > In the dts{i}, yes.  But we don't want to break systems in the field
> >> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
> >> > need an extra compatible string to support "mrvl,...".
> >> >
> >> > If it had just been since v3.9, it'd be different/simpler.  However,
> >> > several vendors have opted to use kernels newer than v3.5, which makes
> >> > this scenario a real possibility.
> >> >
> >> > thx,
> >> >
> >> > Jason.
> >>
> >> Is there any vendor using DT for this Marvell chip? I think the answer is no.
> >
> > Well, Daniel Drake spoke up for OLPC.  Does that count?
> 
> There's stock ticker history for MRVL is available for at least as far
> back as 2001, so it's been around for a while. I would argue that the
> powerpc guys made a mistake by using the marvell prefix. Either way,
> they are not likely to add any new driver or code anytime soon for
> these platforms.

I think this boils down to which is more important, adhering to stock
tickers, or adhering to what's actually in the kernel before we (arm-soc
dt effort) got here?

I don't mind if the answer is either way, but back when we started
converting kirkwood to DT we had this discussion, and settled on
"marvell,..." because of powerpc/mv643xx_eth.  Now, it appears we're
flip-flopping.

> Given that we are using mrvl extensively already,

?!  Only -mmp and -pxa have used mrvl.  _everything_ for -kirkwood,
-dove, -orion5x, and -mvebu has used marvell.

$ git grep 'compatible\b.*\bmrvl,' -- drivers/ | wc -l
9
$ git grep 'compatible\b.*\bmarvell,' -- drivers/ | wc -l
54

This is from mvebu/for-next, and does _not_ include Sebastian's patches
going though DaveM's tree adding proper bindings to mv643xx_eth (for
v3.11) which also uses marvell.

> I'd say the way forward is to make the driver handle both compatible
> values,

Agreed, but only where necessary.

> but only use mrvl for new code and for all new device tree
> bindings/data on ARM.

If that's what you want, then no problem.  I just wish this had been
brought up sooner.  We're damn near finished converting -kirkwood to DT.

> It's a known issue that we are still in an "in-flux" state when it
> comes to bindings on ARM, where people have been free to change them
> as needed.

True, but we're doing a pretty good job of thinking them through
carefully and not messing with them once applied.  It's only going to
become more stringent (by necessity of popularity).

> At Linaro Connect last week, a group of us got together to
> discuss this and I hope that Grant (or maybe someone else) will be
> able to post those notes. We have a proposal on how to start moving
> away from _everything_ being unstable to a model where parts of the
> bindings can be locked down over time to a state where they won't
> change. But I won't preempt the proper proposal email by going into
> details here.

Documentation/devicetree/bindings/staging/ ?  :-P

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-15  4:39                 ` Jason Cooper
  0 siblings, 0 replies; 96+ messages in thread
From: Jason Cooper @ 2013-07-15  4:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Jul 13, 2013 at 12:56:25PM -0700, Olof Johansson wrote:
> On Wed, Jul 10, 2013 at 2:50 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> > On Wed, Jul 10, 2013 at 10:08:50PM +0800, Haojian Zhuang wrote:
> >> On Wed, Jul 10, 2013 at 8:24 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> >> > On Wed, Jul 10, 2013 at 04:19:46PM +0800, Haojian Zhuang wrote:
> >> >> On Tue, Jul 9, 2013 at 8:49 PM, Jason Cooper <jason@lakedaemon.net> wrote:
> >> >> > Neil,
> >> >> >
> >> >> > On Tue, Jul 09, 2013 at 02:42:44PM +0800, Neil Zhang wrote:
> >> >> >> The documented vendor prefix for Marvell is 'marvell', not 'mrvl', so
> >> >> >> let's change it.
> >> >> >>
> >> >> >> Signed-off-by: Neil Zhang <zhangwm@marvell.com>
> >> >> >> ---
> >> >> >>  .../devicetree/bindings/arm/mrvl/intc.txt          |   16 +++---
> >> >> >>  .../devicetree/bindings/arm/mrvl/mrvl.txt          |    6 +-
> >> >> >>  .../devicetree/bindings/arm/mrvl/timer.txt         |    4 +-
> >> >> >>  Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   14 +++---
> >> >> >>  .../devicetree/bindings/mmc/sdhci-pxa.txt          |    8 ++--
> >> >> >>  .../devicetree/bindings/rtc/sa1100-rtc.txt         |    4 +-
> >> >> >>  .../devicetree/bindings/serial/mrvl-serial.txt     |    2 +-
> >> >> >>  arch/arm/boot/dts/mmp2-brownstone.dts              |    2 +-
> >> >> >>  arch/arm/boot/dts/mmp2.dtsi                        |   56 ++++++++++----------
> >> >> >>  arch/arm/boot/dts/pxa168-aspenite.dts              |    2 +-
> >> >> >>  arch/arm/boot/dts/pxa168.dtsi                      |   24 ++++----
> >> >> >>  arch/arm/boot/dts/pxa2xx.dtsi                      |   16 +++---
> >> >> >>  arch/arm/boot/dts/pxa3xx.dtsi                      |    2 +-
> >> >> >>  arch/arm/boot/dts/pxa910-dkb.dts                   |    2 +-
> >> >> >>  arch/arm/boot/dts/pxa910.dtsi                      |   27 +++++-----
> >> >> >>  arch/arm/mach-mmp/irq.c                            |   16 +++---
> >> >> >>  arch/arm/mach-mmp/mmp-dt.c                         |   28 +++++-----
> >> >> >>  arch/arm/mach-mmp/mmp2-dt.c                        |   16 +++---
> >> >> >>  arch/arm/mach-mmp/time.c                           |    2 +-
> >> >> >>  arch/arm/mach-pxa/pxa-dt.c                         |   14 +++---
> >> >> >>  drivers/i2c/busses/i2c-pxa.c                       |   10 ++--
> >> >> >>  drivers/mmc/host/sdhci-pxav2.c                     |    4 +-
> >> >> >>  drivers/mmc/host/sdhci-pxav3.c                     |    4 +-
> >> >> >>  drivers/rtc/rtc-sa1100.c                           |    4 +-
> >> >> >>  drivers/tty/serial/pxa.c                           |    4 +-
> >> >> >>  25 files changed, 144 insertions(+), 143 deletions(-)
> >> >> >
> >> >> > I agree with the need to change, however, this has been in the binding
> >> >> > documentation since v3.5.  I wish we had caught this when we decided
> >> >> > against using stock ticker symbols (not all stock markets use
> >> >> > alphabetical abbreviated names, not all companies are listed on any
> >> >> > stock exchange).
> >> >> >
> >> >> > To do this properly, the drivers are going to have to be compatible with
> >> >> > the old and the new names, and the binding docs updated to reflect the
> >> >> > legacy name and the preferred name.
> >> >> >
> >> >>
> >> >> It's better to only use the new names.
> >> >
> >> > In the dts{i}, yes.  But we don't want to break systems in the field
> >> > with "mrvl,..." compatible strings.  Therefore, at least the drivers
> >> > need an extra compatible string to support "mrvl,...".
> >> >
> >> > If it had just been since v3.9, it'd be different/simpler.  However,
> >> > several vendors have opted to use kernels newer than v3.5, which makes
> >> > this scenario a real possibility.
> >> >
> >> > thx,
> >> >
> >> > Jason.
> >>
> >> Is there any vendor using DT for this Marvell chip? I think the answer is no.
> >
> > Well, Daniel Drake spoke up for OLPC.  Does that count?
> 
> There's stock ticker history for MRVL is available for at least as far
> back as 2001, so it's been around for a while. I would argue that the
> powerpc guys made a mistake by using the marvell prefix. Either way,
> they are not likely to add any new driver or code anytime soon for
> these platforms.

I think this boils down to which is more important, adhering to stock
tickers, or adhering to what's actually in the kernel before we (arm-soc
dt effort) got here?

I don't mind if the answer is either way, but back when we started
converting kirkwood to DT we had this discussion, and settled on
"marvell,..." because of powerpc/mv643xx_eth.  Now, it appears we're
flip-flopping.

> Given that we are using mrvl extensively already,

?!  Only -mmp and -pxa have used mrvl.  _everything_ for -kirkwood,
-dove, -orion5x, and -mvebu has used marvell.

$ git grep 'compatible\b.*\bmrvl,' -- drivers/ | wc -l
9
$ git grep 'compatible\b.*\bmarvell,' -- drivers/ | wc -l
54

This is from mvebu/for-next, and does _not_ include Sebastian's patches
going though DaveM's tree adding proper bindings to mv643xx_eth (for
v3.11) which also uses marvell.

> I'd say the way forward is to make the driver handle both compatible
> values,

Agreed, but only where necessary.

> but only use mrvl for new code and for all new device tree
> bindings/data on ARM.

If that's what you want, then no problem.  I just wish this had been
brought up sooner.  We're damn near finished converting -kirkwood to DT.

> It's a known issue that we are still in an "in-flux" state when it
> comes to bindings on ARM, where people have been free to change them
> as needed.

True, but we're doing a pretty good job of thinking them through
carefully and not messing with them once applied.  It's only going to
become more stringent (by necessity of popularity).

> At Linaro Connect last week, a group of us got together to
> discuss this and I hope that Grant (or maybe someone else) will be
> able to post those notes. We have a proposal on how to start moving
> away from _everything_ being unstable to a model where parts of the
> bindings can be locked down over time to a state where they won't
> change. But I won't preempt the proper proposal email by going into
> details here.

Documentation/devicetree/bindings/staging/ ?  :-P

thx,

Jason.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-17 13:37               ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-17 13:37 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Jason Cooper, Matt Sealey, grant.likely, haojian.zhuang,
	devicetree-discuss, linux-kernel, linux-arm-kernel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="gb2312", Size: 2083 bytes --]

Arnd

> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@arndb.de]
> Sent: 2013Äê7ÔÂ15ÈÕ 3:30
> To: Neil Zhang
> Cc: Jason Cooper; Matt Sealey; grant.likely@linaro.org;
> haojian.zhuang@gmail.com; devicetree-discuss@lists.ozlabs.org;
> linux-kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
> 
> On Thursday 11 July 2013, Neil Zhang wrote:
> > > > > To do this properly, the drivers are going to have to be
> > > > > compatible with the old and the new names, and the binding docs
> > > > > updated to reflect the legacy name and the preferred name.
> > > >
> > > > Properly would be as above. You can stop using stock tickers for
> > > > new company names, but anything that has been defined in a device
> > > > tree before has to stay that way, and all the manufacturer
> > > > prefixes to device names should be the same. What you're proposing
> > > > is purely driver bloat and increasing the size of kernel.
> > >
> > > *I'm* not proposing to change the name, Neil is.  I'm proposing that
> > > iff they chose to do that, don't break sh*t along the way.
> > >
> >
> > What's your opinion?
> 
> We discussed the topic of fixing bad bindings vs. keeping backwards compatibility
> during last week's Linaro Connect.
> 
> The main outcome was that we need to have a better review for new bindings
> getting merged to avoid this situation in the future, but the general consensus
> seems that bindings that are already in use but were never reviewed properly
> (which should have caught this) should be changed.

So would you mind if I leave it there (discard this patch) and still use the current 'mvrl' prefix for this patch set.

> We will likely establish an annotation in the binding soon to mark those that can
> not be changed as opposed to those that are not considered stable yet.
> 
> 	Arnd


Best Regards,
Neil Zhang
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 96+ messages in thread

* RE: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-17 13:37               ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-17 13:37 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Jason Cooper, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Matt Sealey,
	grant.likely-QSEj5FYQhm4dnm+yROfE0A,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Arnd

> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@arndb.de]
> Sent: 2013年7月15日 3:30
> To: Neil Zhang
> Cc: Jason Cooper; Matt Sealey; grant.likely@linaro.org;
> haojian.zhuang@gmail.com; devicetree-discuss@lists.ozlabs.org;
> linux-kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
> 
> On Thursday 11 July 2013, Neil Zhang wrote:
> > > > > To do this properly, the drivers are going to have to be
> > > > > compatible with the old and the new names, and the binding docs
> > > > > updated to reflect the legacy name and the preferred name.
> > > >
> > > > Properly would be as above. You can stop using stock tickers for
> > > > new company names, but anything that has been defined in a device
> > > > tree before has to stay that way, and all the manufacturer
> > > > prefixes to device names should be the same. What you're proposing
> > > > is purely driver bloat and increasing the size of kernel.
> > >
> > > *I'm* not proposing to change the name, Neil is.  I'm proposing that
> > > iff they chose to do that, don't break sh*t along the way.
> > >
> >
> > What's your opinion?
> 
> We discussed the topic of fixing bad bindings vs. keeping backwards compatibility
> during last week's Linaro Connect.
> 
> The main outcome was that we need to have a better review for new bindings
> getting merged to avoid this situation in the future, but the general consensus
> seems that bindings that are already in use but were never reviewed properly
> (which should have caught this) should be changed.

So would you mind if I leave it there (discard this patch) and still use the current 'mvrl' prefix for this patch set.

> We will likely establish an annotation in the binding soon to mark those that can
> not be changed as opposed to those that are not considered stable yet.
> 
> 	Arnd


Best Regards,
Neil Zhang
_______________________________________________
devicetree-discuss mailing list
devicetree-discuss@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

^ permalink raw reply	[flat|nested] 96+ messages in thread

* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
@ 2013-07-17 13:37               ` Neil Zhang
  0 siblings, 0 replies; 96+ messages in thread
From: Neil Zhang @ 2013-07-17 13:37 UTC (permalink / raw)
  To: linux-arm-kernel

Arnd

> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd at arndb.de]
> Sent: 2013?7?15? 3:30
> To: Neil Zhang
> Cc: Jason Cooper; Matt Sealey; grant.likely at linaro.org;
> haojian.zhuang at gmail.com; devicetree-discuss at lists.ozlabs.org;
> linux-kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell'
> 
> On Thursday 11 July 2013, Neil Zhang wrote:
> > > > > To do this properly, the drivers are going to have to be
> > > > > compatible with the old and the new names, and the binding docs
> > > > > updated to reflect the legacy name and the preferred name.
> > > >
> > > > Properly would be as above. You can stop using stock tickers for
> > > > new company names, but anything that has been defined in a device
> > > > tree before has to stay that way, and all the manufacturer
> > > > prefixes to device names should be the same. What you're proposing
> > > > is purely driver bloat and increasing the size of kernel.
> > >
> > > *I'm* not proposing to change the name, Neil is.  I'm proposing that
> > > iff they chose to do that, don't break sh*t along the way.
> > >
> >
> > What's your opinion?
> 
> We discussed the topic of fixing bad bindings vs. keeping backwards compatibility
> during last week's Linaro Connect.
> 
> The main outcome was that we need to have a better review for new bindings
> getting merged to avoid this situation in the future, but the general consensus
> seems that bindings that are already in use but were never reviewed properly
> (which should have caught this) should be changed.

So would you mind if I leave it there (discard this patch) and still use the current 'mvrl' prefix for this patch set.

> We will likely establish an annotation in the binding soon to mark those that can
> not be changed as opposed to those that are not considered stable yet.
> 
> 	Arnd


Best Regards,
Neil Zhang

^ permalink raw reply	[flat|nested] 96+ messages in thread

end of thread, other threads:[~2013-07-17 13:39 UTC | newest]

Thread overview: 96+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-09  6:42 [PATCH V3 0/3] bring up pxa988 with DT Neil Zhang
2013-07-09  6:42 ` Neil Zhang
2013-07-09  6:42 ` Neil Zhang
2013-07-09  6:42 ` [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' Neil Zhang
2013-07-09  6:42   ` Neil Zhang
2013-07-09  6:42   ` Neil Zhang
2013-07-09 12:49   ` Jason Cooper
2013-07-09 12:49     ` Jason Cooper
2013-07-09 12:49     ` Jason Cooper
2013-07-10  7:25     ` Neil Zhang
2013-07-10  7:25       ` Neil Zhang
2013-07-10  7:25       ` Neil Zhang
2013-07-10 12:20       ` Jason Cooper
2013-07-10 12:20         ` Jason Cooper
2013-07-10 12:20         ` Jason Cooper
2013-07-10 14:41         ` Daniel Drake
2013-07-10 14:41           ` Daniel Drake
2013-07-10 14:41           ` Daniel Drake
2013-07-10  8:19     ` Haojian Zhuang
2013-07-10  8:19       ` Haojian Zhuang
2013-07-10  8:19       ` Haojian Zhuang
2013-07-10 12:24       ` Jason Cooper
2013-07-10 12:24         ` Jason Cooper
2013-07-10 12:24         ` Jason Cooper
2013-07-10 14:08         ` Haojian Zhuang
2013-07-10 14:08           ` Haojian Zhuang
2013-07-10 14:08           ` Haojian Zhuang
2013-07-10 21:50           ` Jason Cooper
2013-07-10 21:50             ` Jason Cooper
2013-07-10 21:50             ` Jason Cooper
2013-07-11 23:54             ` Haojian Zhuang
2013-07-11 23:54               ` Haojian Zhuang
2013-07-11 23:54               ` Haojian Zhuang
2013-07-12 15:10               ` Daniel Drake
2013-07-12 15:10                 ` Daniel Drake
2013-07-12 15:10                 ` Daniel Drake
2013-07-12 15:57                 ` Jason Cooper
2013-07-12 15:57                   ` Jason Cooper
2013-07-12 15:57                   ` Jason Cooper
2013-07-12 16:05                   ` Daniel Drake
2013-07-12 16:05                     ` Daniel Drake
2013-07-12 16:05                     ` Daniel Drake
2013-07-12 16:14                     ` Jason Cooper
2013-07-12 16:14                       ` Jason Cooper
2013-07-12 16:14                       ` Jason Cooper
2013-07-13  0:35                 ` Haojian Zhuang
2013-07-13  0:35                   ` Haojian Zhuang
2013-07-13  0:35                   ` Haojian Zhuang
2013-07-13 14:30                   ` Daniel Drake
2013-07-13 14:30                     ` Daniel Drake
2013-07-13 14:30                     ` Daniel Drake
2013-07-13 19:56             ` Olof Johansson
2013-07-13 19:56               ` Olof Johansson
2013-07-13 19:56               ` Olof Johansson
2013-07-15  4:39               ` Jason Cooper
2013-07-15  4:39                 ` Jason Cooper
2013-07-15  4:39                 ` Jason Cooper
2013-07-10 20:50     ` Matt Sealey
2013-07-10 20:50       ` Matt Sealey
2013-07-10 21:49       ` Jason Cooper
2013-07-10 21:49         ` Jason Cooper
2013-07-11 11:20         ` Neil Zhang
2013-07-11 11:20           ` Neil Zhang
2013-07-11 11:20           ` Neil Zhang
2013-07-14 19:29           ` Arnd Bergmann
2013-07-14 19:29             ` Arnd Bergmann
2013-07-14 19:29             ` Arnd Bergmann
2013-07-17 13:37             ` Neil Zhang
2013-07-17 13:37               ` Neil Zhang
2013-07-17 13:37               ` Neil Zhang
2013-07-09  6:42 ` [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE Neil Zhang
2013-07-09  6:42   ` Neil Zhang
2013-07-09  6:42   ` Neil Zhang
2013-07-09 16:14   ` Thomas Petazzoni
2013-07-09 16:14     ` Thomas Petazzoni
2013-07-09 16:14     ` Thomas Petazzoni
2013-07-09 21:16     ` Arnd Bergmann
2013-07-09 21:16       ` Arnd Bergmann
2013-07-09 21:16       ` Arnd Bergmann
2013-07-10  5:58       ` Haojian Zhuang
2013-07-10  5:58         ` Haojian Zhuang
2013-07-10  5:58         ` Haojian Zhuang
2013-07-11 11:23         ` Neil Zhang
2013-07-11 11:23           ` Neil Zhang
2013-07-11 11:23           ` Neil Zhang
2013-07-11 23:51           ` Haojian Zhuang
2013-07-11 23:51             ` Haojian Zhuang
2013-07-11 23:51             ` Haojian Zhuang
2013-07-09  6:42 ` [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support Neil Zhang
2013-07-09  6:42   ` Neil Zhang
2013-07-09  6:42   ` Neil Zhang
2013-07-09 22:05   ` Arnd Bergmann
2013-07-09 22:05     ` Arnd Bergmann
2013-07-11 11:35     ` Neil Zhang
2013-07-11 11:35       ` Neil Zhang
2013-07-11 11:35       ` Neil Zhang

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.