* [PATCH V3 0/3] bring up pxa988 with DT @ 2013-07-09 6:42 Neil Zhang 2013-07-09 6:42 ` [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' Neil Zhang ` (2 more replies) 0 siblings, 3 replies; 33+ 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] 33+ messages in thread
* [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' 2013-07-09 6:42 [PATCH V3 0/3] bring up pxa988 with DT Neil Zhang @ 2013-07-09 6:42 ` Neil Zhang [not found] ` <1373352166-10064-2-git-send-email-zhangwm-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org> 2013-07-09 6:42 ` [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE Neil Zhang 2013-07-09 6:42 ` [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support Neil Zhang 2 siblings, 1 reply; 33+ 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] 33+ messages in thread
[parent not found: <1373352166-10064-2-git-send-email-zhangwm-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>]
* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' [not found] ` <1373352166-10064-2-git-send-email-zhangwm-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org> @ 2013-07-09 12:49 ` Jason Cooper 2013-07-10 7:25 ` Neil Zhang ` (2 more replies) 0 siblings, 3 replies; 33+ 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] 33+ 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 2013-07-10 12:20 ` Jason Cooper 2013-07-10 8:19 ` Haojian Zhuang 2013-07-10 20:50 ` Matt Sealey 2 siblings, 1 reply; 33+ messages in thread From: Neil Zhang @ 2013-07-10 7:25 UTC (permalink / raw) To: Jason Cooper 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 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] 33+ 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 2013-07-10 14:41 ` Daniel Drake 0 siblings, 1 reply; 33+ messages in thread From: Jason Cooper @ 2013-07-10 12:20 UTC (permalink / raw) 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 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] 33+ 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 0 siblings, 0 replies; 33+ messages in thread From: Daniel Drake @ 2013-07-10 14:41 UTC (permalink / raw) To: Jason Cooper Cc: Neil Zhang, arnd@arndb.de, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, haojian.zhuang@gmail.com, grant.likely@linaro.org, linux-arm-kernel@lists.infradead.org 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] 33+ 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 @ 2013-07-10 8:19 ` Haojian Zhuang 2013-07-10 12:24 ` Jason Cooper 2013-07-10 20:50 ` Matt Sealey 2 siblings, 1 reply; 33+ 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@vger.kernel.org, linux-arm-kernel@lists.infradead.org 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] 33+ 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 2013-07-10 14:08 ` Haojian Zhuang 0 siblings, 1 reply; 33+ 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@vger.kernel.org, linux-arm-kernel@lists.infradead.org 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] 33+ 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 [not found] ` <CAN1soZzMvront1-jcBW6-uRKNs0OZNGnmiOjKGZSM28bViB_8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 33+ 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@vger.kernel.org, linux-arm-kernel@lists.infradead.org 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] 33+ messages in thread
[parent not found: <CAN1soZzMvront1-jcBW6-uRKNs0OZNGnmiOjKGZSM28bViB_8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' [not found] ` <CAN1soZzMvront1-jcBW6-uRKNs0OZNGnmiOjKGZSM28bViB_8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2013-07-10 21:50 ` Jason Cooper 2013-07-11 23:54 ` Haojian Zhuang [not found] ` <20130710215041.GR11908-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org> 0 siblings, 2 replies; 33+ 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@public.gmane.org, Grant Likely, Neil Zhang, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org 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] 33+ 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 2013-07-12 15:10 ` Daniel Drake [not found] ` <20130710215041.GR11908-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org> 1 sibling, 1 reply; 33+ 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@vger.kernel.org, linux-arm-kernel@lists.infradead.org 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] 33+ 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 2013-07-12 15:57 ` Jason Cooper [not found] ` <CAMLZHHQGZvDssY-YxQ3ZW8FYhpG-H1-VbokOid33socRSPrMNw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 2 replies; 33+ messages in thread From: Daniel Drake @ 2013-07-12 15:10 UTC (permalink / raw) To: Haojian Zhuang Cc: Jason Cooper, Bergmann Arnd, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, Grant Likely, Neil Zhang, linux-arm-kernel@lists.infradead.org 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] 33+ 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 2013-07-12 16:05 ` Daniel Drake [not found] ` <CAMLZHHQGZvDssY-YxQ3ZW8FYhpG-H1-VbokOid33socRSPrMNw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 1 sibling, 1 reply; 33+ messages in thread From: Jason Cooper @ 2013-07-12 15:57 UTC (permalink / raw) To: Daniel Drake Cc: Haojian Zhuang, Bergmann Arnd, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, Grant Likely, Neil Zhang, linux-arm-kernel@lists.infradead.org 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] 33+ 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 2013-07-12 16:14 ` Jason Cooper 0 siblings, 1 reply; 33+ messages in thread From: Daniel Drake @ 2013-07-12 16:05 UTC (permalink / raw) To: Jason Cooper Cc: Haojian Zhuang, Bergmann Arnd, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, Grant Likely, Neil Zhang, linux-arm-kernel@lists.infradead.org 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] 33+ 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 0 siblings, 0 replies; 33+ messages in thread From: Jason Cooper @ 2013-07-12 16:14 UTC (permalink / raw) To: Daniel Drake Cc: Haojian Zhuang, Bergmann Arnd, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, Grant Likely, Neil Zhang, linux-arm-kernel@lists.infradead.org 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] 33+ messages in thread
[parent not found: <CAMLZHHQGZvDssY-YxQ3ZW8FYhpG-H1-VbokOid33socRSPrMNw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' [not found] ` <CAMLZHHQGZvDssY-YxQ3ZW8FYhpG-H1-VbokOid33socRSPrMNw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2013-07-13 0:35 ` Haojian Zhuang [not found] ` <CAN1soZzQz8PaHOwNf-Ec6G=ahhx_P8gaaX4fQnpX-Mqrepk_7g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 33+ messages in thread From: Haojian Zhuang @ 2013-07-13 0:35 UTC (permalink / raw) To: Daniel Drake Cc: Jason Cooper, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Grant Likely, Neil Zhang, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org 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] 33+ messages in thread
[parent not found: <CAN1soZzQz8PaHOwNf-Ec6G=ahhx_P8gaaX4fQnpX-Mqrepk_7g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' [not found] ` <CAN1soZzQz8PaHOwNf-Ec6G=ahhx_P8gaaX4fQnpX-Mqrepk_7g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2013-07-13 14:30 ` Daniel Drake 0 siblings, 0 replies; 33+ messages in thread From: Daniel Drake @ 2013-07-13 14:30 UTC (permalink / raw) To: Haojian Zhuang Cc: Jason Cooper, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Grant Likely, Neil Zhang, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org 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] 33+ messages in thread
[parent not found: <20130710215041.GR11908-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org>]
* Re: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' [not found] ` <20130710215041.GR11908-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org> @ 2013-07-13 19:56 ` Olof Johansson 2013-07-15 4:39 ` Jason Cooper 0 siblings, 1 reply; 33+ messages in thread From: Olof Johansson @ 2013-07-13 19:56 UTC (permalink / raw) To: Jason Cooper Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Grant Likely, Neil Zhang, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org 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] 33+ 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 0 siblings, 0 replies; 33+ messages in thread From: Jason Cooper @ 2013-07-15 4:39 UTC (permalink / raw) To: Olof Johansson Cc: Haojian Zhuang, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, Grant Likely, Neil Zhang, linux-arm-kernel@lists.infradead.org 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] 33+ 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 2013-07-10 8:19 ` Haojian Zhuang @ 2013-07-10 20:50 ` Matt Sealey 2013-07-10 21:49 ` Jason Cooper 2 siblings, 1 reply; 33+ 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] 33+ 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 2013-07-11 11:20 ` Neil Zhang 0 siblings, 1 reply; 33+ 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] 33+ 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 2013-07-14 19:29 ` Arnd Bergmann 0 siblings, 1 reply; 33+ messages in thread From: Neil Zhang @ 2013-07-11 11:20 UTC (permalink / raw) To: Jason Cooper, Matt Sealey 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 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] 33+ 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 [not found] ` <201307142129.43271.arnd-r2nGTMty4D4@public.gmane.org> 0 siblings, 1 reply; 33+ messages in thread From: Arnd Bergmann @ 2013-07-14 19:29 UTC (permalink / raw) To: Neil Zhang Cc: Jason Cooper, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, haojian.zhuang@gmail.com, Matt Sealey, grant.likely@linaro.org, linux-arm-kernel@lists.infradead.org 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] 33+ messages in thread
[parent not found: <201307142129.43271.arnd-r2nGTMty4D4@public.gmane.org>]
* RE: [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' [not found] ` <201307142129.43271.arnd-r2nGTMty4D4@public.gmane.org> @ 2013-07-17 13:37 ` Neil Zhang 0 siblings, 0 replies; 33+ messages in thread From: Neil Zhang @ 2013-07-17 13:37 UTC (permalink / raw) To: Arnd Bergmann Cc: Jason Cooper, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Matt Sealey, grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org 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] 33+ messages in thread
* [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE 2013-07-09 6:42 [PATCH V3 0/3] bring up pxa988 with DT 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 16:14 ` Thomas Petazzoni 2013-07-09 6:42 ` [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support Neil Zhang 2 siblings, 1 reply; 33+ 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] 33+ messages in thread
* Re: [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE 2013-07-09 6:42 ` [PATCH V3 2/3] clocksource: mmp: support CLOCKSOURCE OF DECLARE Neil Zhang @ 2013-07-09 16:14 ` Thomas Petazzoni 2013-07-09 21:16 ` Arnd Bergmann 0 siblings, 1 reply; 33+ 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] 33+ 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 2013-07-10 5:58 ` Haojian Zhuang 0 siblings, 1 reply; 33+ 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] 33+ 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 2013-07-11 11:23 ` Neil Zhang 0 siblings, 1 reply; 33+ 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@vger.kernel.org, linux-arm-kernel@lists.infradead.org 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] 33+ 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 2013-07-11 23:51 ` Haojian Zhuang 0 siblings, 1 reply; 33+ 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@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org 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] 33+ 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 0 siblings, 0 replies; 33+ 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@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org 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] 33+ messages in thread
* [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support 2013-07-09 6:42 [PATCH V3 0/3] bring up pxa988 with DT Neil Zhang 2013-07-09 6:42 ` [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' 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 22:05 ` Arnd Bergmann 2 siblings, 1 reply; 33+ 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] 33+ messages in thread
* Re: [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support 2013-07-09 6:42 ` [PATCH V3 3/3] ARM: mmp: bring up pxa988 with device tree support Neil Zhang @ 2013-07-09 22:05 ` Arnd Bergmann 2013-07-11 11:35 ` Neil Zhang 0 siblings, 1 reply; 33+ 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] 33+ 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 0 siblings, 0 replies; 33+ messages in thread From: Neil Zhang @ 2013-07-11 11:35 UTC (permalink / raw) To: Arnd Bergmann Cc: devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, haojian.zhuang@gmail.com, linux-arm-kernel@lists.infradead.org, grant.likely@linaro.org, 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] 33+ messages in thread
end of thread, other threads:[~2013-07-17 13:37 UTC | newest] Thread overview: 33+ 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 ` [PATCH V3 1/3] dts: change Marvell prefix to 'marvell' Neil Zhang [not found] ` <1373352166-10064-2-git-send-email-zhangwm-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org> 2013-07-09 12:49 ` Jason Cooper 2013-07-10 7:25 ` Neil Zhang 2013-07-10 12:20 ` Jason Cooper 2013-07-10 14:41 ` Daniel Drake 2013-07-10 8:19 ` Haojian Zhuang 2013-07-10 12:24 ` Jason Cooper 2013-07-10 14:08 ` Haojian Zhuang [not found] ` <CAN1soZzMvront1-jcBW6-uRKNs0OZNGnmiOjKGZSM28bViB_8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2013-07-10 21:50 ` Jason Cooper 2013-07-11 23:54 ` Haojian Zhuang 2013-07-12 15:10 ` Daniel Drake 2013-07-12 15:57 ` Jason Cooper 2013-07-12 16:05 ` Daniel Drake 2013-07-12 16:14 ` Jason Cooper [not found] ` <CAMLZHHQGZvDssY-YxQ3ZW8FYhpG-H1-VbokOid33socRSPrMNw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2013-07-13 0:35 ` Haojian Zhuang [not found] ` <CAN1soZzQz8PaHOwNf-Ec6G=ahhx_P8gaaX4fQnpX-Mqrepk_7g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2013-07-13 14:30 ` Daniel Drake [not found] ` <20130710215041.GR11908-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org> 2013-07-13 19:56 ` Olof Johansson 2013-07-15 4:39 ` Jason Cooper 2013-07-10 20:50 ` Matt Sealey 2013-07-10 21:49 ` Jason Cooper 2013-07-11 11:20 ` Neil Zhang 2013-07-14 19:29 ` Arnd Bergmann [not found] ` <201307142129.43271.arnd-r2nGTMty4D4@public.gmane.org> 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 16:14 ` Thomas Petazzoni 2013-07-09 21:16 ` Arnd Bergmann 2013-07-10 5:58 ` Haojian Zhuang 2013-07-11 11:23 ` Neil Zhang 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 22:05 ` Arnd Bergmann 2013-07-11 11:35 ` Neil Zhang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).