Re: [PATCH v2] powerpc/32: fix csum_partial_copy_generic()

2016-08-04 Thread Alessio Igor Bogani
Scott,

On 4 August 2016 at 05:53, Scott Wood  wrote:
> On Tue, 2016-08-02 at 10:07 +0200, Christophe Leroy wrote:
>> commit 7aef4136566b0 ("powerpc32: rewrite csum_partial_copy_generic()
>> based on copy_tofrom_user()") introduced a bug when destination
>> address is odd and initial csum is not null
>>
>> In that (rare) case the initial csum value has to be rotated one byte
>> as well as the resulting value is
>>
>> This patch also fixes related comments
>>
>> Fixes: 7aef4136566b0 ("powerpc32: rewrite csum_partial_copy_generic()
>> based on copy_tofrom_user()")
>> Cc: sta...@vger.kernel.org
>>
>> Signed-off-by: Christophe Leroy 
>> ---
>>  v2: updated comments as suggested by Segher
>>
>>  arch/powerpc/lib/checksum_32.S | 7 ---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> Alessio, can you confirm whether this fixes the problem you reported?

No unfortunately.

Ciao,
Alessio


Re: [PATCH v2] powerpc/32: fix csum_partial_copy_generic()

2016-08-04 Thread Alessio Igor Bogani
Scott,

On 4 August 2016 at 05:53, Scott Wood  wrote:
> On Tue, 2016-08-02 at 10:07 +0200, Christophe Leroy wrote:
>> commit 7aef4136566b0 ("powerpc32: rewrite csum_partial_copy_generic()
>> based on copy_tofrom_user()") introduced a bug when destination
>> address is odd and initial csum is not null
>>
>> In that (rare) case the initial csum value has to be rotated one byte
>> as well as the resulting value is
>>
>> This patch also fixes related comments
>>
>> Fixes: 7aef4136566b0 ("powerpc32: rewrite csum_partial_copy_generic()
>> based on copy_tofrom_user()")
>> Cc: sta...@vger.kernel.org
>>
>> Signed-off-by: Christophe Leroy 
>> ---
>>  v2: updated comments as suggested by Segher
>>
>>  arch/powerpc/lib/checksum_32.S | 7 ---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> Alessio, can you confirm whether this fixes the problem you reported?

No unfortunately.

Ciao,
Alessio


[PATCH v5 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-05-30 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.7-rc1 and has been only boot tested.

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
v4 -> v5
Remove cell-index from dts, replace spaces with tabs, remove blank lines,
use TARGET_86xx instead of TARGET_MVME7100 and wrap a long line
as suggested by Scott Wood
Remove L2 cache enabling code which doesn't work as expected
(I'll try to address it soon in other patches)

v3 -> v4
Add few details into the commit message as suggested by Scott Wood
Update to v4.6-rc5
Disable the PCI and RTC nodes in the device tree due missing of mandatory
configurations as suggested by Scott Wood
Remove a couple of checkpatch warnings

v2 -> v3
Simplify device tree using pci1 definition from the header file
as suggested bt Scott Wood
Move assembly code into a separated file as suggested by Scott Wood
Increase from 2 to 5 the number of UARTs

v1 -> v2
Fix BCSR handling
Add missing @interrupt-cells in the device tree
to avoid 'of_irq_parse_pci() failed with rc=-22'
Reduce from 3 to 2 the PCI windows to avoid
'Ran out of outbound PCI ATMUs for IO resource'

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 153 +++
 arch/powerpc/boot/motload-head.S |  11 ++
 arch/powerpc/boot/mvme7100.c |  59 +++
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   5 +
 arch/powerpc/configs/86xx-hw.config  |   4 +-
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   8 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 121 +
 11 files changed, 365 insertions(+), 4 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/motload-head.S
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8fe78a3..963aa88 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..e2d306a
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,153 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani <alessio.bog...@elettra.eu>
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   memory {
+   dev

[PATCH v5 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-05-30 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.7-rc1 and has been only boot tested.

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

Signed-off-by: Alessio Igor Bogani 
---
v4 -> v5
Remove cell-index from dts, replace spaces with tabs, remove blank lines,
use TARGET_86xx instead of TARGET_MVME7100 and wrap a long line
as suggested by Scott Wood
Remove L2 cache enabling code which doesn't work as expected
(I'll try to address it soon in other patches)

v3 -> v4
Add few details into the commit message as suggested by Scott Wood
Update to v4.6-rc5
Disable the PCI and RTC nodes in the device tree due missing of mandatory
configurations as suggested by Scott Wood
Remove a couple of checkpatch warnings

v2 -> v3
Simplify device tree using pci1 definition from the header file
as suggested bt Scott Wood
Move assembly code into a separated file as suggested by Scott Wood
Increase from 2 to 5 the number of UARTs

v1 -> v2
Fix BCSR handling
Add missing @interrupt-cells in the device tree
to avoid 'of_irq_parse_pci() failed with rc=-22'
Reduce from 3 to 2 the PCI windows to avoid
'Ran out of outbound PCI ATMUs for IO resource'

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 153 +++
 arch/powerpc/boot/motload-head.S |  11 ++
 arch/powerpc/boot/mvme7100.c |  59 +++
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   5 +
 arch/powerpc/configs/86xx-hw.config  |   4 +-
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   8 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 121 +
 11 files changed, 365 insertions(+), 4 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/motload-head.S
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8fe78a3..963aa88 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..e2d306a
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,153 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani 
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   memory {
+   device_type = "memory";
+   reg = <0x0

Re: [v4,1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-05-30 Thread Alessio Igor Bogani
Hi Scott,

On 17 May 2016 at 01:41, Scott Wood <o...@buserror.net> wrote:
> On Wed, Apr 27, 2016 at 10:35:25AM +0200, Alessio Igor Bogani wrote:
>> + bcsr@4,0 {
>> + compatible = "artesyn,mvme7100-bcsr";
>> + reg = <4 0 0x1>;
>> + };
>> +
>> +serial@5,1000 {
>> + cell-index = <2>;
>> + device_type = "serial";
>> + compatible = "ns16550";
>> + reg = <5 0x1000 0x100>;
>> + clock-frequency = <1843200>;
>> + interrupts = <11 1 0 0>;
>> + };
>
> The "serial@5,1000" line has spaces where there should be tabs.  There
> are several other instances of this in the patch.
>
> Where did these cell-index values come from?  Why are they needed?

I thought that was the right way to specify the serial number (aka
ttySXX) but I was wrong. I'll remove these.

Thank you very much!

Ciao,
Alessio


Re: [v4,1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-05-30 Thread Alessio Igor Bogani
Hi Scott,

On 17 May 2016 at 01:41, Scott Wood  wrote:
> On Wed, Apr 27, 2016 at 10:35:25AM +0200, Alessio Igor Bogani wrote:
>> + bcsr@4,0 {
>> + compatible = "artesyn,mvme7100-bcsr";
>> + reg = <4 0 0x1>;
>> + };
>> +
>> +serial@5,1000 {
>> + cell-index = <2>;
>> + device_type = "serial";
>> + compatible = "ns16550";
>> + reg = <5 0x1000 0x100>;
>> + clock-frequency = <1843200>;
>> + interrupts = <11 1 0 0>;
>> + };
>
> The "serial@5,1000" line has spaces where there should be tabs.  There
> are several other instances of this in the patch.
>
> Where did these cell-index values come from?  Why are they needed?

I thought that was the right way to specify the serial number (aka
ttySXX) but I was wrong. I'll remove these.

Thank you very much!

Ciao,
Alessio


[PATCH v1 1/1] powerpc/86xx: Fix PCI interrupt map definition

2016-05-03 Thread Alessio Igor Bogani
Fix PCI interrupt map definition from 2 to 4 cells. Move
interrupt-map and interrupt-map-mask and clone interrupts
into the pcie child nodes.

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141980.html
to be applied cleanly.

 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi | 32 +--
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi 
b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
index a76ffda..eeb7c65 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
@@ -102,14 +102,6 @@
bus-range = <0x0 0xff>;
clock-frequency = <1>;
interrupts = <24 2 0 0>;
-   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
-
-   interrupt-map = <
-   0x 0x0 0x0 0x1  0x0 0x1
-   0x 0x0 0x0 0x2  0x1 0x1
-   0x 0x0 0x0 0x3  0x2 0x1
-   0x 0x0 0x0 0x4  0x3 0x1
-   >;
 
pcie@0 {
reg = <0 0 0 0 0>;
@@ -117,6 +109,14 @@
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
+   interrupts = <24 2 0 0>;
+   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+   interrupt-map = <
+   0x 0x0 0x0 0x1  0x0 0x1 0x0 0x0
+   0x 0x0 0x0 0x2  0x1 0x1 0x0 0x0
+   0x 0x0 0x0 0x3  0x2 0x1 0x0 0x0
+   0x 0x0 0x0 0x4  0x3 0x1 0x0 0x0
+   >;
};
 };
 
@@ -128,14 +128,6 @@
bus-range = <0x0 0xff>;
clock-frequency = <1>;
interrupts = <25 2 0 0>;
-   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
-
-   interrupt-map = <
-   0x 0x0 0x0 0x1  0x4 0x1
-   0x 0x0 0x0 0x2  0x5 0x1
-   0x 0x0 0x0 0x3  0x6 0x1
-   0x 0x0 0x0 0x4  0x7 0x1
-   >;
 
pcie@0 {
reg = <0 0 0 0 0>;
@@ -143,5 +135,13 @@
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
+   interrupts = <25 2 0 0>;
+   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+   interrupt-map = <
+   0x 0x0 0x0 0x1  0x4 0x1 0x0 0x0
+   0x 0x0 0x0 0x2  0x5 0x1 0x0 0x0
+   0x 0x0 0x0 0x3  0x6 0x1 0x0 0x0
+   0x 0x0 0x0 0x4  0x7 0x1 0x0 0x0
+   >;
};
 };
-- 
2.8.2



[PATCH v1 1/1] powerpc/86xx: Fix PCI interrupt map definition

2016-05-03 Thread Alessio Igor Bogani
Fix PCI interrupt map definition from 2 to 4 cells. Move
interrupt-map and interrupt-map-mask and clone interrupts
into the pcie child nodes.

Signed-off-by: Alessio Igor Bogani 
---
This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141980.html
to be applied cleanly.

 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi | 32 +--
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi 
b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
index a76ffda..eeb7c65 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
@@ -102,14 +102,6 @@
bus-range = <0x0 0xff>;
clock-frequency = <1>;
interrupts = <24 2 0 0>;
-   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
-
-   interrupt-map = <
-   0x 0x0 0x0 0x1  0x0 0x1
-   0x 0x0 0x0 0x2  0x1 0x1
-   0x 0x0 0x0 0x3  0x2 0x1
-   0x 0x0 0x0 0x4  0x3 0x1
-   >;
 
pcie@0 {
reg = <0 0 0 0 0>;
@@ -117,6 +109,14 @@
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
+   interrupts = <24 2 0 0>;
+   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+   interrupt-map = <
+   0x 0x0 0x0 0x1  0x0 0x1 0x0 0x0
+   0x 0x0 0x0 0x2  0x1 0x1 0x0 0x0
+   0x 0x0 0x0 0x3  0x2 0x1 0x0 0x0
+   0x 0x0 0x0 0x4  0x3 0x1 0x0 0x0
+   >;
};
 };
 
@@ -128,14 +128,6 @@
bus-range = <0x0 0xff>;
clock-frequency = <1>;
interrupts = <25 2 0 0>;
-   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
-
-   interrupt-map = <
-   0x 0x0 0x0 0x1  0x4 0x1
-   0x 0x0 0x0 0x2  0x5 0x1
-   0x 0x0 0x0 0x3  0x6 0x1
-   0x 0x0 0x0 0x4  0x7 0x1
-   >;
 
pcie@0 {
reg = <0 0 0 0 0>;
@@ -143,5 +135,13 @@
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
+   interrupts = <25 2 0 0>;
+   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+   interrupt-map = <
+   0x 0x0 0x0 0x1  0x4 0x1 0x0 0x0
+   0x 0x0 0x0 0x2  0x5 0x1 0x0 0x0
+   0x 0x0 0x0 0x3  0x6 0x1 0x0 0x0
+   0x 0x0 0x0 0x4  0x7 0x1 0x0 0x0
+   >;
};
 };
-- 
2.8.2



[PATCH v4 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-27 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.6-rc5 and has been only boot tested.

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141813.html
to be built and 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141980.html to
work correctly.

v3 -> v4
Add few details into the commit message as suggested by Scott Wood
Update to v4.6-rc5
Disable the PCI and RTC nodes in the device tree due missing of mandatory
configurations as suggested by Scott Wood
Remove a couple of checkpatch warnings

v2 -> v3
Simplify device tree using pci1 definition from the header file
as suggested bt Scott Wood
Move assembly code into a separated file as suggested by Scott Wood
Increase from 2 to 5 the number of UARTs

v1 -> v2
Fix BCSR handling
Add missing @interrupt-cells in the device tree
to avoid 'of_irq_parse_pci() failed with rc=-22'
Reduce from 3 to 2 the PCI windows to avoid
'Ran out of outbound PCI ATMUs for IO resource'

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 159 +++
 arch/powerpc/boot/motload-head.S |  11 ++
 arch/powerpc/boot/mvme7100.c |  60 ++
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   5 +
 arch/powerpc/configs/86xx-hw.config  |   4 +-
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   7 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 125 +
 11 files changed, 375 insertions(+), 4 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/motload-head.S
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8fe78a3..963aa88 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..ee6886b
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,159 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani <alessio.bog...@elettra.eu>
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   memory {
+   device_type = "memory";
+   reg = <0x 0x8000>;
+   };
+
+   soc: soc@f1

[PATCH v4 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-27 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.6-rc5 and has been only boot tested.

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

Signed-off-by: Alessio Igor Bogani 
---
This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141813.html
to be built and 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141980.html to
work correctly.

v3 -> v4
Add few details into the commit message as suggested by Scott Wood
Update to v4.6-rc5
Disable the PCI and RTC nodes in the device tree due missing of mandatory
configurations as suggested by Scott Wood
Remove a couple of checkpatch warnings

v2 -> v3
Simplify device tree using pci1 definition from the header file
as suggested bt Scott Wood
Move assembly code into a separated file as suggested by Scott Wood
Increase from 2 to 5 the number of UARTs

v1 -> v2
Fix BCSR handling
Add missing @interrupt-cells in the device tree
to avoid 'of_irq_parse_pci() failed with rc=-22'
Reduce from 3 to 2 the PCI windows to avoid
'Ran out of outbound PCI ATMUs for IO resource'

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 159 +++
 arch/powerpc/boot/motload-head.S |  11 ++
 arch/powerpc/boot/mvme7100.c |  60 ++
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   5 +
 arch/powerpc/configs/86xx-hw.config  |   4 +-
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   7 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 125 +
 11 files changed, 375 insertions(+), 4 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/motload-head.S
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8fe78a3..963aa88 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..ee6886b
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,159 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani 
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   memory {
+   device_type = "memory";
+   reg = <0x 0x8000>;
+   };
+
+   soc: soc@f100 {
+   ranges = <0x0

[PATCH v3 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-20 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.6-rc4 and has been only boot tested.

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141813.html
to be built and 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141980.html to
work correctly.

v2 -> v3
Simplify device tree using pci1 definition from the header file
as suggested bt Scott Wood
Move assembly code into a separated file as suggested by Scott Wood
Increase from 2 to 5 the number of UARTs

v1 -> v2
Fix BCSR handling
Add missing @interrupt-cells in the device tree
to avoid 'of_irq_parse_pci() failed with rc=-22'
Reduce from 3 to 2 the PCI windows to avoid
'Ran out of outbound PCI ATMUs for IO resource'

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 183 +++
 arch/powerpc/boot/motload-head.S |  11 ++
 arch/powerpc/boot/mvme7100.c |  60 +
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   5 +
 arch/powerpc/configs/86xx-hw.config  |   4 +-
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   7 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 124 ++
 11 files changed, 398 insertions(+), 4 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/motload-head.S
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8fe78a3..963aa88 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..cbb2920
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,183 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani <alessio.bog...@elettra.eu>
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   memory {
+   device_type = "memory";
+   reg = <0x 0x8000>;
+   };
+
+   soc: soc@f100 {
+   ranges = <0x 0xf100 0x0010>;
+
+   i2c@3000 {
+   hwmon@4c {
+   compatible = "dallas,max6649";
+   reg = <0x4c>;
+ 

[PATCH v3 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-20 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.6-rc4 and has been only boot tested.

Signed-off-by: Alessio Igor Bogani 
---
This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141813.html
to be built and 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141980.html to
work correctly.

v2 -> v3
Simplify device tree using pci1 definition from the header file
as suggested bt Scott Wood
Move assembly code into a separated file as suggested by Scott Wood
Increase from 2 to 5 the number of UARTs

v1 -> v2
Fix BCSR handling
Add missing @interrupt-cells in the device tree
to avoid 'of_irq_parse_pci() failed with rc=-22'
Reduce from 3 to 2 the PCI windows to avoid
'Ran out of outbound PCI ATMUs for IO resource'

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 183 +++
 arch/powerpc/boot/motload-head.S |  11 ++
 arch/powerpc/boot/mvme7100.c |  60 +
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   5 +
 arch/powerpc/configs/86xx-hw.config  |   4 +-
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   7 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 124 ++
 11 files changed, 398 insertions(+), 4 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/motload-head.S
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8fe78a3..963aa88 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..cbb2920
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,183 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani 
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   memory {
+   device_type = "memory";
+   reg = <0x 0x8000>;
+   };
+
+   soc: soc@f100 {
+   ranges = <0x 0xf100 0x0010>;
+
+   i2c@3000 {
+   hwmon@4c {
+   compatible = "dallas,max6649";
+   reg = <0x4c>;
+   };
+
+   rtc@68 {
+  

[PATCH v1 1/1] powerpc/86xx: Mode pci1 definition to the include file

2016-04-20 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
Please note that this patch replaces completely
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141785.html

 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts|  4 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 22 -
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   |  4 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 24 +--
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 24 +--
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 27 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  1 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 23 --
 8 files changed, 38 insertions(+), 91 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 0424fc2..c88d4ef 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -211,6 +211,10 @@
  0x0 0x0040>;
};
};
+
+   pci1: pcie@fef09000 {
+   status = "disabled";
+   };
 };
 
 /include/ "mpc8641si-post.dtsi"
diff --git a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
index 84b3d38..8385157 100644
--- a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
@@ -24,10 +24,6 @@
model = "GEF_SBC310";
compatible = "gef,sbc310";
 
-   aliases {
-   pci1 = 
-   };
-
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
@@ -223,29 +219,11 @@
};
 
pci1: pcie@fef09000 {
-   compatible = "fsl,mpc8641-pcie";
-   device_type = "pci";
-   #size-cells = <2>;
-   #address-cells = <3>;
reg = <0xfef09000 0x1000>;
-   bus-range = <0x0 0xff>;
ranges = <0x0200 0x0 0xc000 0xc000 0x0 0x2000
  0x0100 0x0 0x 0xfe40 0x0 0x0040>;
-   clock-frequency = <1>;
-   interrupts = <0x19 0x2 0 0>;
-   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
-   interrupt-map = <
-   0x 0x0 0x0 0x1  0x4 0x2
-   0x 0x0 0x0 0x2  0x5 0x2
-   0x 0x0 0x0 0x3  0x6 0x2
-   0x 0x0 0x0 0x4  0x7 0x2
-   >;
 
pcie@0 {
-   reg = <0 0 0 0 0>;
-   #size-cells = <2>;
-   #address-cells = <3>;
-   device_type = "pci";
ranges = <0x0200 0x0 0xc000
  0x0200 0x0 0xc000
  0x0 0x2000
diff --git a/arch/powerpc/boot/dts/fsl/gef_sbc610.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
index 974446a..ff423ab 100644
--- a/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
@@ -209,6 +209,10 @@
  0x0 0x0040>;
};
};
+
+   pci1: pcie@fef09000 {
+   status = "disabled";
+   };
 };
 
 /include/ "mpc8641si-post.dtsi"
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
index 554001f..11bea3e 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
@@ -15,10 +15,6 @@
model = "MPC8641HPCN";
compatible = "fsl,mpc8641hpcn";
 
-   aliases {
-   pci1 = 
-   };
-
memory {
device_type = "memory";
reg = <0x 0x4000>;  // 1G at 0x0
@@ -359,29 +355,11 @@
};
 
pci1: pcie@ffe09000 {
-   compatible = "fsl,mpc8641-pcie";
-   device_type = "pci";
-   #size-cells = <2>;
-   #address-cells = <3>;
reg = <0xffe09000 0x1000>;
-   bus-range = <0 0xff>;
ranges = <0x0200 0x0 0xa000 0xa000 0x0 0x2000
  0x0100 0x0 0x 0xffc1 0x0 0x0001>;
-   clock-frequency = <1>;
-   interrupts = <25 2 0 0>;
-   interrupt-map-mask = <0xf800 0 0 7>;
-   interrupt-map = <
-   /* IDSEL 0x0 */
-   0x 0 0 1  4 1
-   0x 0 0 2  5 1
-   

[PATCH v1 1/1] powerpc/86xx: Mode pci1 definition to the include file

2016-04-20 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
Please note that this patch replaces completely
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141785.html

 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts|  4 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 22 -
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   |  4 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 24 +--
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 24 +--
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 27 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  1 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 23 --
 8 files changed, 38 insertions(+), 91 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 0424fc2..c88d4ef 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -211,6 +211,10 @@
  0x0 0x0040>;
};
};
+
+   pci1: pcie@fef09000 {
+   status = "disabled";
+   };
 };
 
 /include/ "mpc8641si-post.dtsi"
diff --git a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
index 84b3d38..8385157 100644
--- a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
@@ -24,10 +24,6 @@
model = "GEF_SBC310";
compatible = "gef,sbc310";
 
-   aliases {
-   pci1 = 
-   };
-
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
@@ -223,29 +219,11 @@
};
 
pci1: pcie@fef09000 {
-   compatible = "fsl,mpc8641-pcie";
-   device_type = "pci";
-   #size-cells = <2>;
-   #address-cells = <3>;
reg = <0xfef09000 0x1000>;
-   bus-range = <0x0 0xff>;
ranges = <0x0200 0x0 0xc000 0xc000 0x0 0x2000
  0x0100 0x0 0x 0xfe40 0x0 0x0040>;
-   clock-frequency = <1>;
-   interrupts = <0x19 0x2 0 0>;
-   interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
-   interrupt-map = <
-   0x 0x0 0x0 0x1  0x4 0x2
-   0x 0x0 0x0 0x2  0x5 0x2
-   0x 0x0 0x0 0x3  0x6 0x2
-   0x 0x0 0x0 0x4  0x7 0x2
-   >;
 
pcie@0 {
-   reg = <0 0 0 0 0>;
-   #size-cells = <2>;
-   #address-cells = <3>;
-   device_type = "pci";
ranges = <0x0200 0x0 0xc000
  0x0200 0x0 0xc000
  0x0 0x2000
diff --git a/arch/powerpc/boot/dts/fsl/gef_sbc610.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
index 974446a..ff423ab 100644
--- a/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
@@ -209,6 +209,10 @@
  0x0 0x0040>;
};
};
+
+   pci1: pcie@fef09000 {
+   status = "disabled";
+   };
 };
 
 /include/ "mpc8641si-post.dtsi"
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
index 554001f..11bea3e 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
@@ -15,10 +15,6 @@
model = "MPC8641HPCN";
compatible = "fsl,mpc8641hpcn";
 
-   aliases {
-   pci1 = 
-   };
-
memory {
device_type = "memory";
reg = <0x 0x4000>;  // 1G at 0x0
@@ -359,29 +355,11 @@
};
 
pci1: pcie@ffe09000 {
-   compatible = "fsl,mpc8641-pcie";
-   device_type = "pci";
-   #size-cells = <2>;
-   #address-cells = <3>;
reg = <0xffe09000 0x1000>;
-   bus-range = <0 0xff>;
ranges = <0x0200 0x0 0xa000 0xa000 0x0 0x2000
  0x0100 0x0 0x 0xffc1 0x0 0x0001>;
-   clock-frequency = <1>;
-   interrupts = <25 2 0 0>;
-   interrupt-map-mask = <0xf800 0 0 7>;
-   interrupt-map = <
-   /* IDSEL 0x0 */
-   0x 0 0 1  4 1
-   0x 0 0 2  5 1
-   0x 0 0 3  6 1
-

Re: [PATCH v2 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-19 Thread Alessio Igor Bogani
Hi Scott,

Thanks for reviewing it!

On 19 April 2016 at 06:26, Scott Wood <o...@buserror.net> wrote:
> On Mon, 2016-04-18 at 09:57 +0200, Alessio Igor Bogani wrote:
>> + pci0: pcie@f1008000 {
>> + reg = <0xf1008000 0x1000>;
>> + ranges = <0x0200 0x0 0x8000 0x8000 0x0
>> 0x5000
>> +   0x0100 0x0 0x 0xf000 0x0
>> 0x0080>;
[...]
>> +
>> + pci1: pcie@f1009000 {
>> + compatible = "fsl,mpc8641-pcie";
>> + device_type = "pci";
>> + #size-cells = <2>;
>> + #address-cells = <3>;
>> + reg = <0xf1009000 0x1000>;
>> + bus-range = <0 0xff>;
>
> Why are pci0 and pci1 so different? Why does mpc8641si-post.dtsi not have 
> pci1?

You are right. The MPC8641 processor offers two pci so
mpc8641si-post.dtsi should be the right place where to define both.
What about the boards which don't use the pci1? Will 'status =
"disabled"' be enough?

>> +asm(".globl _zimage_start\n\
>> + _zimage_start:\n\
>> + mfmsr   10\n\
>> + rlwinm  10,10,0,~(1<<15)/* Clear MSR_EE */\n\
>> + sync\n\
>> + mtmsr   10\n\
>> + isync\n\
>> + b _zimage_start_lib\n\
>> +");
>
> Please put this in an asm file.

Ok.

> Is U-Boot really not clearing MSR[EE]?  How old is this U-Boot?
[...]
>> + defined(TARGET_83xx) || defined(TARGET_MVME7100)
>>   unsigned long   bi_immr_base;   /* base of IMMR register
[...]
> TARGET_86xx would match the U-Boot definition better.
[...]
>> + _set_L2CR(_get_L2CR() | L2CR_L2E);
[...]
> U-Boot doesn't enable L2 cache?

In fact it isn't U-Boot but MotLoad which it doesn't clear MSR[EE] and
disable L2 cache just before pass control to operating system. It
seems to be partially compatible with older version of U-Boot
(boot/mvme7100.c) but I wasn't able to use an uImage to boot so I have
switched to the dtbImage target.

Thanks!

Ciao,
Alessio


Re: [PATCH v2 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-19 Thread Alessio Igor Bogani
Hi Scott,

Thanks for reviewing it!

On 19 April 2016 at 06:26, Scott Wood  wrote:
> On Mon, 2016-04-18 at 09:57 +0200, Alessio Igor Bogani wrote:
>> + pci0: pcie@f1008000 {
>> + reg = <0xf1008000 0x1000>;
>> + ranges = <0x0200 0x0 0x8000 0x8000 0x0
>> 0x5000
>> +   0x0100 0x0 0x 0xf000 0x0
>> 0x0080>;
[...]
>> +
>> + pci1: pcie@f1009000 {
>> + compatible = "fsl,mpc8641-pcie";
>> + device_type = "pci";
>> + #size-cells = <2>;
>> + #address-cells = <3>;
>> + reg = <0xf1009000 0x1000>;
>> + bus-range = <0 0xff>;
>
> Why are pci0 and pci1 so different? Why does mpc8641si-post.dtsi not have 
> pci1?

You are right. The MPC8641 processor offers two pci so
mpc8641si-post.dtsi should be the right place where to define both.
What about the boards which don't use the pci1? Will 'status =
"disabled"' be enough?

>> +asm(".globl _zimage_start\n\
>> + _zimage_start:\n\
>> + mfmsr   10\n\
>> + rlwinm  10,10,0,~(1<<15)/* Clear MSR_EE */\n\
>> + sync\n\
>> + mtmsr   10\n\
>> + isync\n\
>> + b _zimage_start_lib\n\
>> +");
>
> Please put this in an asm file.

Ok.

> Is U-Boot really not clearing MSR[EE]?  How old is this U-Boot?
[...]
>> + defined(TARGET_83xx) || defined(TARGET_MVME7100)
>>   unsigned long   bi_immr_base;   /* base of IMMR register
[...]
> TARGET_86xx would match the U-Boot definition better.
[...]
>> + _set_L2CR(_get_L2CR() | L2CR_L2E);
[...]
> U-Boot doesn't enable L2 cache?

In fact it isn't U-Boot but MotLoad which it doesn't clear MSR[EE] and
disable L2 cache just before pass control to operating system. It
seems to be partially compatible with older version of U-Boot
(boot/mvme7100.c) but I wasn't able to use an uImage to boot so I have
switched to the dtbImage target.

Thanks!

Ciao,
Alessio


[PATCH v2 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-18 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.6-rc4 and has been only boot tested.

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
v1 -> v2
Fix BCSR handling
Add missing @interrupt-cells in the device tree
to avoid 'of_irq_parse_pci() failed with rc=-22'
Reduce from 3 to 2 the PCI windows to avoid
'Ran out of outbound PCI ATMUs for IO resource'

This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141813.html
to be built and 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141785.html to
work correctly.

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 206 +++
 arch/powerpc/boot/mvme7100.c |  70 +
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   4 +
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   7 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 124 
 9 files changed, 417 insertions(+), 2 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8fe78a3..2c75fdb 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..2fdb912
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,206 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani <alessio.bog...@elettra.eu>
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   aliases {
+   pci1 = 
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x 0x8000>;
+   };
+
+   soc: soc@f100 {
+   ranges = <0x 0xf100 0x0010>;
+
+   i2c@3000 {
+   hwmon@4c {
+   compatible = "dallas,max6649";
+   reg = <0x4c>;
+   };
+
+   rtc@68 {
+   compatible = "dallas,ds1337";
+   reg = <0x68>;
+   };
+   };
+
+
+   enet0: ethernet@24000 {
+   phy-handle = <>;
+   phy-connection-type = &

[PATCH v2 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-18 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.6-rc4 and has been only boot tested.

Signed-off-by: Alessio Igor Bogani 
---
v1 -> v2
Fix BCSR handling
Add missing @interrupt-cells in the device tree
to avoid 'of_irq_parse_pci() failed with rc=-22'
Reduce from 3 to 2 the PCI windows to avoid
'Ran out of outbound PCI ATMUs for IO resource'

This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141813.html
to be built and 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141785.html to
work correctly.

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 206 +++
 arch/powerpc/boot/mvme7100.c |  70 +
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   4 +
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   7 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 124 
 9 files changed, 417 insertions(+), 2 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8fe78a3..2c75fdb 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..2fdb912
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,206 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani 
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   aliases {
+   pci1 = 
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x 0x8000>;
+   };
+
+   soc: soc@f100 {
+   ranges = <0x 0xf100 0x0010>;
+
+   i2c@3000 {
+   hwmon@4c {
+   compatible = "dallas,max6649";
+   reg = <0x4c>;
+   };
+
+   rtc@68 {
+   compatible = "dallas,ds1337";
+   reg = <0x68>;
+   };
+   };
+
+
+   enet0: ethernet@24000 {
+   phy-handle = <>;
+   phy-connection-type = "rgmii-id";
+   };
+
+

[PATCH 1/1] powerpc/fsl: Fix build of the dtb embedded kernel images

2016-04-18 Thread Alessio Igor Bogani
The commit dc37374 move a lot of device tree files into fsl directory
fixing Makefile for cuImage target only. Unfortunately there are others
target which require to embebbed device tree into the kernel image
(i.e. dtbImage.%). So use a more generic approach.

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 6116510..8fe78a3 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -362,9 +362,6 @@ $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
 $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
 
-$(obj)/cuImage.%: vmlinux $(obj)/fsl/%.dtb $(wrapperbits)
-   $(call if_changed,wrap,cuboot-$*,,$(obj)/fsl/$*.dtb)
-
 $(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
$(call 
if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
 
@@ -381,6 +378,9 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
 $(obj)/%.dtb: $(src)/dts/%.dts FORCE
$(call if_changed_dep,dtc)
 
+$(obj)/%.dtb: $(src)/dts/fsl/%.dts FORCE
+   $(call if_changed_dep,dtc)
+
 # If there isn't a platform selected then just strip the vmlinux.
 ifeq (,$(image-y))
 image-y := vmlinux.strip
-- 
2.8.0



[PATCH 1/1] powerpc/fsl: Fix build of the dtb embedded kernel images

2016-04-18 Thread Alessio Igor Bogani
The commit dc37374 move a lot of device tree files into fsl directory
fixing Makefile for cuImage target only. Unfortunately there are others
target which require to embebbed device tree into the kernel image
(i.e. dtbImage.%). So use a more generic approach.

Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 6116510..8fe78a3 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -362,9 +362,6 @@ $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
 $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
 
-$(obj)/cuImage.%: vmlinux $(obj)/fsl/%.dtb $(wrapperbits)
-   $(call if_changed,wrap,cuboot-$*,,$(obj)/fsl/$*.dtb)
-
 $(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
$(call 
if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
 
@@ -381,6 +378,9 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
 $(obj)/%.dtb: $(src)/dts/%.dts FORCE
$(call if_changed_dep,dtc)
 
+$(obj)/%.dtb: $(src)/dts/fsl/%.dts FORCE
+   $(call if_changed_dep,dtc)
+
 # If there isn't a platform selected then just strip the vmlinux.
 ifeq (,$(image-y))
 image-y := vmlinux.strip
-- 
2.8.0



Re: [RFC PATCH 1/1] powerpc/fsl: Fix build of the dtb embedded kernel images

2016-04-18 Thread Alessio Igor Bogani
Scott,

On 17 April 2016 at 03:50, Scott Wood <o...@buserror.net> wrote:
> On Fri, 2016-04-15 at 10:27 +0200, Alessio Igor Bogani wrote:
[...]
>> Any comments?
>
> Looks OK to me.

Thanks for review it. Follow a no-RFC version.

Ciao,
Alessio


Re: [RFC PATCH 1/1] powerpc/fsl: Fix build of the dtb embedded kernel images

2016-04-18 Thread Alessio Igor Bogani
Scott,

On 17 April 2016 at 03:50, Scott Wood  wrote:
> On Fri, 2016-04-15 at 10:27 +0200, Alessio Igor Bogani wrote:
[...]
>> Any comments?
>
> Looks OK to me.

Thanks for review it. Follow a no-RFC version.

Ciao,
Alessio


[PATCH v2 1/1] powerpc/86xx: Set the right interrupt-cells for pcie nodes

2016-04-15 Thread Alessio Igor Bogani
Commit 595207b93fe4 ("powerpc/86xx: Update device tree") removes
wrongly #interrupt-cells from pcie nodes. Fix it letting these
come back to the right place.

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
v1 -> v2
  Move #interrupt-cells on the pcie child-node
to avoid 'of_irq_parse_pci() failed with rc=-22'

 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 1 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 1 +
 5 files changed, 5 insertions(+)

diff --git a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
index 84b3d38..9131c0a 100644
--- a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
@@ -243,6 +243,7 @@
 
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
index 554001f..712a7c6 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
@@ -379,6 +379,7 @@
>;
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
index fec5867..a724287 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
@@ -346,6 +346,7 @@
>;
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi 
b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
index 70889d8..2b8752e 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
@@ -113,6 +113,7 @@
 
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
diff --git a/arch/powerpc/boot/dts/fsl/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
index 0a9733c..1fe73a8 100644
--- a/arch/powerpc/boot/dts/fsl/sbc8641d.dts
+++ b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
@@ -186,6 +186,7 @@
 
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
-- 
2.8.0



[PATCH v2 1/1] powerpc/86xx: Set the right interrupt-cells for pcie nodes

2016-04-15 Thread Alessio Igor Bogani
Commit 595207b93fe4 ("powerpc/86xx: Update device tree") removes
wrongly #interrupt-cells from pcie nodes. Fix it letting these
come back to the right place.

Signed-off-by: Alessio Igor Bogani 
---
v1 -> v2
  Move #interrupt-cells on the pcie child-node
to avoid 'of_irq_parse_pci() failed with rc=-22'

 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 1 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 1 +
 5 files changed, 5 insertions(+)

diff --git a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
index 84b3d38..9131c0a 100644
--- a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
@@ -243,6 +243,7 @@
 
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
index 554001f..712a7c6 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
@@ -379,6 +379,7 @@
>;
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
index fec5867..a724287 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
@@ -346,6 +346,7 @@
>;
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi 
b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
index 70889d8..2b8752e 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
@@ -113,6 +113,7 @@
 
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
diff --git a/arch/powerpc/boot/dts/fsl/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
index 0a9733c..1fe73a8 100644
--- a/arch/powerpc/boot/dts/fsl/sbc8641d.dts
+++ b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
@@ -186,6 +186,7 @@
 
pcie@0 {
reg = <0 0 0 0 0>;
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
-- 
2.8.0



Re: [RFC PATCH 1/1] powerpc/fsl: Fix build of the dtb embedded kernel images

2016-04-15 Thread Alessio Igor Bogani
Hi,

On 6 April 2016 at 15:45, Alessio Igor Bogani <alessio.bog...@elettra.eu> wrote:
> The commit dc37374 move a lot of device tree files into fsl directory
> fixing Makefile for cuImage target only. Unfortunately there are others
> target which require to embebbed device tree into the kernel image
> (i.e. dtbImage.%). So use a more generic approach.
>
> Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
> ---
>  arch/powerpc/boot/Makefile | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index 6116510..8fe78a3 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -362,9 +362,6 @@ $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb 
> $(wrapperbits)
>  $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
> $(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
>
> -$(obj)/cuImage.%: vmlinux $(obj)/fsl/%.dtb $(wrapperbits)
> -   $(call if_changed,wrap,cuboot-$*,,$(obj)/fsl/$*.dtb)
> -
>  $(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
> $(call 
> if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
>
> @@ -381,6 +378,9 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
>  $(obj)/%.dtb: $(src)/dts/%.dts FORCE
> $(call if_changed_dep,dtc)
>
> +$(obj)/%.dtb: $(src)/dts/fsl/%.dts FORCE
> +   $(call if_changed_dep,dtc)
> +
>  # If there isn't a platform selected then just strip the vmlinux.
>  ifeq (,$(image-y))
>  image-y := vmlinux.strip

Any comments?

Ciao,
Alessio


Re: [RFC PATCH 1/1] powerpc/fsl: Fix build of the dtb embedded kernel images

2016-04-15 Thread Alessio Igor Bogani
Hi,

On 6 April 2016 at 15:45, Alessio Igor Bogani  wrote:
> The commit dc37374 move a lot of device tree files into fsl directory
> fixing Makefile for cuImage target only. Unfortunately there are others
> target which require to embebbed device tree into the kernel image
> (i.e. dtbImage.%). So use a more generic approach.
>
> Signed-off-by: Alessio Igor Bogani 
> ---
>  arch/powerpc/boot/Makefile | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index 6116510..8fe78a3 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -362,9 +362,6 @@ $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb 
> $(wrapperbits)
>  $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
> $(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
>
> -$(obj)/cuImage.%: vmlinux $(obj)/fsl/%.dtb $(wrapperbits)
> -   $(call if_changed,wrap,cuboot-$*,,$(obj)/fsl/$*.dtb)
> -
>  $(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
> $(call 
> if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
>
> @@ -381,6 +378,9 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
>  $(obj)/%.dtb: $(src)/dts/%.dts FORCE
> $(call if_changed_dep,dtc)
>
> +$(obj)/%.dtb: $(src)/dts/fsl/%.dts FORCE
> +   $(call if_changed_dep,dtc)
> +
>  # If there isn't a platform selected then just strip the vmlinux.
>  ifeq (,$(image-y))
>  image-y := vmlinux.strip

Any comments?

Ciao,
Alessio


[PATCH 1/1] powerpc/86xx: Set the right interrupt-cells for pcie nodes

2016-04-15 Thread Alessio Igor Bogani
Commit 595207b93fe4 ("powerpc/86xx: Update device tree") removes
wrongly #interrupt-cells from pcie nodes. Fix it letting these
come back to the right place.

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 1 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 1 +
 5 files changed, 5 insertions(+)

diff --git a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
index 84b3d38..6856167 100644
--- a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
@@ -225,6 +225,7 @@
pci1: pcie@fef09000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xfef09000 0x1000>;
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
index 554001f..09e47a3 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
@@ -361,6 +361,7 @@
pci1: pcie@ffe09000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xffe09000 0x1000>;
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
index fec5867..9e5f4a6 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
@@ -328,6 +328,7 @@
pci1: pcie@fffe09000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0x0f 0xffe09000 0x0 0x1000>;
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi 
b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
index 70889d8..48d1bfc 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
@@ -97,6 +97,7 @@
  {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
bus-range = <0x0 0xff>;
diff --git a/arch/powerpc/boot/dts/fsl/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
index 0a9733c..efcad7c 100644
--- a/arch/powerpc/boot/dts/fsl/sbc8641d.dts
+++ b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
@@ -167,6 +167,7 @@
pci1: pcie@f8009000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xf8009000 0x1000>;
-- 
2.8.0



[PATCH 1/1] powerpc/86xx: Set the right interrupt-cells for pcie nodes

2016-04-15 Thread Alessio Igor Bogani
Commit 595207b93fe4 ("powerpc/86xx: Update device tree") removes
wrongly #interrupt-cells from pcie nodes. Fix it letting these
come back to the right place.

Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 1 +
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 1 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 1 +
 5 files changed, 5 insertions(+)

diff --git a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
index 84b3d38..6856167 100644
--- a/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
@@ -225,6 +225,7 @@
pci1: pcie@fef09000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xfef09000 0x1000>;
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
index 554001f..09e47a3 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
@@ -361,6 +361,7 @@
pci1: pcie@ffe09000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xffe09000 0x1000>;
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
index fec5867..9e5f4a6 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
@@ -328,6 +328,7 @@
pci1: pcie@fffe09000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0x0f 0xffe09000 0x0 0x1000>;
diff --git a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi 
b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
index 70889d8..48d1bfc 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
@@ -97,6 +97,7 @@
  {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
bus-range = <0x0 0xff>;
diff --git a/arch/powerpc/boot/dts/fsl/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
index 0a9733c..efcad7c 100644
--- a/arch/powerpc/boot/dts/fsl/sbc8641d.dts
+++ b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
@@ -167,6 +167,7 @@
pci1: pcie@f8009000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
+   #interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xf8009000 0x1000>;
-- 
2.8.0



[PATCH v1 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-11 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.6 and has been only boot tested.

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141385.html to be 
built.

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers.

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 210 +++
 arch/powerpc/boot/mvme7100.c |  70 +
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   4 +
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   7 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 122 
 9 files changed, 419 insertions(+), 2 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 6116510..9e61ae2 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..7a5ff82
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,210 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani <alessio.bog...@elettra.eu>
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   aliases {
+   pci1 = 
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x 0x8000>;
+   };
+
+   soc: soc@f100 {
+   ranges = <0x 0xf100 0x0010>;
+
+   i2c@3000 {
+   hwmon@4c {
+   compatible = "dallas,max6649";
+   reg = <0x4c>;
+   };
+
+   rtc@68 {
+   compatible = "dallas,ds1337";
+   reg = <0x68>;
+   };
+   };
+
+
+   enet0: ethernet@24000 {
+   phy-handle = <>;
+   phy-connection-type = "rgmii-id";
+   };
+
+   mdio@24520 {
+   phy0: ethernet-phy@1 {
+   reg = <1>;
+   };
+   phy1: ethernet-phy@2 {
+   reg = <2>;
+   };
+   phy2: etherne

[PATCH v1 1/1] powerpc/86xx: Add support for Emerson/Artesyn MVME7100

2016-04-11 Thread Alessio Igor Bogani
Add support for the Artesyn MVME7100 Single Board Computer.

The MVME7100 is a 6U form factor VME64 computer with:

- A two e600 cores Freescale MPC8641D CPU
- 2 GB of DDR2 onboard memory
- Four Gigabit Ethernets
- Five 16550 compatible UARTs
- One USB 2.0 port
- Two PCI/PCI eXpress Mezzanine Card (PMC/XMC) Slots
- A DS1375 Real Time Clock (RTC)
- 512 KB of Non-Volatile Memory (NVRAM)
- Two 64 KB EEPROMs
- 128 MB NOR and 4/8 GB NAND Flash

This patch is based on linux-4.6 and has been only boot tested.

Signed-off-by: Alessio Igor Bogani 
---
This patch requires 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-April/141385.html to be 
built.

Limitations:
This patch covers only models 171 and 173
No plans to support CPLD timers.

Know issues:
All four PHYs work in polling mode

Configuration is missing for:
PCI IDSEL and PCI Interrupt definition

Support is missing for:
Cache and memory controllers (which are very similar to the 85xx ones
but right now I don't know if we can re-use their support)
Watchdog, USB, NVRAM, NOR, NAND, EEPROMs, VME, PMC/XMC and RTC

 arch/powerpc/boot/Makefile   |   4 +
 arch/powerpc/boot/dts/fsl/mvme7100.dts   | 210 +++
 arch/powerpc/boot/mvme7100.c |  70 +
 arch/powerpc/boot/ppcboot.h  |   2 +-
 arch/powerpc/boot/wrapper|   4 +
 arch/powerpc/configs/mpc86xx_basic_defconfig |   1 +
 arch/powerpc/platforms/86xx/Kconfig  |   7 +-
 arch/powerpc/platforms/86xx/Makefile |   1 +
 arch/powerpc/platforms/86xx/mvme7100.c   | 122 
 9 files changed, 419 insertions(+), 2 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mvme7100.dts
 create mode 100644 arch/powerpc/boot/mvme7100.c
 create mode 100644 arch/powerpc/platforms/86xx/mvme7100.c

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 6116510..9e61ae2 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -113,6 +113,7 @@ src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
 src-plat-$(CONFIG_PPC_PSERIES) += pseries-head.S
 src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
 src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
+src-plat-$(CONFIG_MVME7100) += mvme7100.c
 
 src-wlib := $(sort $(src-wlib-y))
 src-plat := $(sort $(src-plat-y))
@@ -296,6 +297,9 @@ image-$(CONFIG_TQM8560) += 
cuImage.tqm8560
 image-$(CONFIG_SBC8548)+= cuImage.sbc8548
 image-$(CONFIG_KSI8560)+= cuImage.ksi8560
 
+# Board ports in arch/powerpc/platform/86xx/Kconfig
+image-$(CONFIG_MVME7100)+= dtbImage.mvme7100
+
 # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
 image-$(CONFIG_STORCENTER) += cuImage.storcenter
 image-$(CONFIG_MPC7448HPC2)+= cuImage.mpc7448hpc2
diff --git a/arch/powerpc/boot/dts/fsl/mvme7100.dts 
b/arch/powerpc/boot/dts/fsl/mvme7100.dts
new file mode 100644
index 000..7a5ff82
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/mvme7100.dts
@@ -0,0 +1,210 @@
+/*
+ * Device tree source for the Emerson/Artesyn MVME7100
+ *
+ * Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
+ *
+ * Author: Alessio Igor Bogani 
+ *
+ * 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/ "mpc8641si-pre.dtsi"
+
+/ {
+   model = "MVME7100";
+   compatible = "artesyn,MVME7100";
+
+   aliases {
+   pci1 = 
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x 0x8000>;
+   };
+
+   soc: soc@f100 {
+   ranges = <0x 0xf100 0x0010>;
+
+   i2c@3000 {
+   hwmon@4c {
+   compatible = "dallas,max6649";
+   reg = <0x4c>;
+   };
+
+   rtc@68 {
+   compatible = "dallas,ds1337";
+   reg = <0x68>;
+   };
+   };
+
+
+   enet0: ethernet@24000 {
+   phy-handle = <>;
+   phy-connection-type = "rgmii-id";
+   };
+
+   mdio@24520 {
+   phy0: ethernet-phy@1 {
+   reg = <1>;
+   };
+   phy1: ethernet-phy@2 {
+   reg = <2>;
+   };
+   phy2: ethernet-phy@3 {
+   reg = <3&g

[RFC PATCH 1/1] powerpc/fsl: Fix build of the dtb embedded kernel images

2016-04-06 Thread Alessio Igor Bogani
The commit dc37374 move a lot of device tree files into fsl directory
fixing Makefile for cuImage target only. Unfortunately there are others
target which require to embebbed device tree into the kernel image
(i.e. dtbImage.%). So use a more generic approach.

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 6116510..8fe78a3 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -362,9 +362,6 @@ $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
 $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
 
-$(obj)/cuImage.%: vmlinux $(obj)/fsl/%.dtb $(wrapperbits)
-   $(call if_changed,wrap,cuboot-$*,,$(obj)/fsl/$*.dtb)
-
 $(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
$(call 
if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
 
@@ -381,6 +378,9 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
 $(obj)/%.dtb: $(src)/dts/%.dts FORCE
$(call if_changed_dep,dtc)
 
+$(obj)/%.dtb: $(src)/dts/fsl/%.dts FORCE
+   $(call if_changed_dep,dtc)
+
 # If there isn't a platform selected then just strip the vmlinux.
 ifeq (,$(image-y))
 image-y := vmlinux.strip
-- 
2.8.0



[RFC PATCH 1/1] powerpc/fsl: Fix build of the dtb embedded kernel images

2016-04-06 Thread Alessio Igor Bogani
The commit dc37374 move a lot of device tree files into fsl directory
fixing Makefile for cuImage target only. Unfortunately there are others
target which require to embebbed device tree into the kernel image
(i.e. dtbImage.%). So use a more generic approach.

Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 6116510..8fe78a3 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -362,9 +362,6 @@ $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
 $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
 
-$(obj)/cuImage.%: vmlinux $(obj)/fsl/%.dtb $(wrapperbits)
-   $(call if_changed,wrap,cuboot-$*,,$(obj)/fsl/$*.dtb)
-
 $(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
$(call 
if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
 
@@ -381,6 +378,9 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
 $(obj)/%.dtb: $(src)/dts/%.dts FORCE
$(call if_changed_dep,dtc)
 
+$(obj)/%.dtb: $(src)/dts/fsl/%.dts FORCE
+   $(call if_changed_dep,dtc)
+
 # If there isn't a platform selected then just strip the vmlinux.
 ifeq (,$(image-y))
 image-y := vmlinux.strip
-- 
2.8.0



Re: [1/1] powerpc/embedded6xx: Make reboot works on MVME5100

2016-03-09 Thread Alessio Igor Bogani
Hi Scott,

On 9 March 2016 at 07:38, Scott Wood <o...@buserror.net> wrote:
> On Tue, Mar 08, 2016 at 08:59:12AM +0100, Alessio Igor Bogani wrote:
>> The mtmsr() function hangs during restart. Make reboot works on
>> MVME5100 removing that function call.
[...]
> Do you know why MSR_IP was there to begin with?

I don't know that line came from arch/ppc pre git era.

> Does this board have a
> switch that determines whether boot vectors are high or low (I remember
> some 83xx boards that did), in which case is this fixing one config by
> breaking another?

I haven't found any in the documentation (Installation and Use Manual
6806800A38C February 2011 Edition pag 3 Sect. "Hardware
configuration"). Perhaps in the firmware (PPCBug)?

In any case I added Stephen Chivers in CC who is the author of the
code in hope that he knows better.

Thanks!

Ciao,
Alessio


Re: [1/1] powerpc/embedded6xx: Make reboot works on MVME5100

2016-03-09 Thread Alessio Igor Bogani
Hi Scott,

On 9 March 2016 at 07:38, Scott Wood  wrote:
> On Tue, Mar 08, 2016 at 08:59:12AM +0100, Alessio Igor Bogani wrote:
>> The mtmsr() function hangs during restart. Make reboot works on
>> MVME5100 removing that function call.
[...]
> Do you know why MSR_IP was there to begin with?

I don't know that line came from arch/ppc pre git era.

> Does this board have a
> switch that determines whether boot vectors are high or low (I remember
> some 83xx boards that did), in which case is this fixing one config by
> breaking another?

I haven't found any in the documentation (Installation and Use Manual
6806800A38C February 2011 Edition pag 3 Sect. "Hardware
configuration"). Perhaps in the firmware (PPCBug)?

In any case I added Stephen Chivers in CC who is the author of the
code in hope that he knows better.

Thanks!

Ciao,
Alessio


[PATCH 1/1] powerpc/embedded6xx: Make reboot works on MVME5100

2016-03-07 Thread Alessio Igor Bogani
The mtmsr() function hangs during restart. Make reboot works on
MVME5100 removing that function call.
---
 arch/powerpc/platforms/embedded6xx/mvme5100.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/powerpc/platforms/embedded6xx/mvme5100.c 
b/arch/powerpc/platforms/embedded6xx/mvme5100.c
index 8f65aa3..118cc33 100644
--- a/arch/powerpc/platforms/embedded6xx/mvme5100.c
+++ b/arch/powerpc/platforms/embedded6xx/mvme5100.c
@@ -179,9 +179,7 @@ static void mvme5100_show_cpuinfo(struct seq_file *m)
 
 static void mvme5100_restart(char *cmd)
 {
-
local_irq_disable();
-   mtmsr(mfmsr() | MSR_IP);
 
out_8((u_char *) restart, 0x01);
 
-- 
2.7.2



[PATCH 1/1] powerpc/embedded6xx: Make reboot works on MVME5100

2016-03-07 Thread Alessio Igor Bogani
The mtmsr() function hangs during restart. Make reboot works on
MVME5100 removing that function call.
---
 arch/powerpc/platforms/embedded6xx/mvme5100.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/powerpc/platforms/embedded6xx/mvme5100.c 
b/arch/powerpc/platforms/embedded6xx/mvme5100.c
index 8f65aa3..118cc33 100644
--- a/arch/powerpc/platforms/embedded6xx/mvme5100.c
+++ b/arch/powerpc/platforms/embedded6xx/mvme5100.c
@@ -179,9 +179,7 @@ static void mvme5100_show_cpuinfo(struct seq_file *m)
 
 static void mvme5100_restart(char *cmd)
 {
-
local_irq_disable();
-   mtmsr(mfmsr() | MSR_IP);
 
out_8((u_char *) restart, 0x01);
 
-- 
2.7.2



Re: [RFC PATCH v3 1/3] powerpc/86xx: Move dts files to fsl directory

2016-03-04 Thread Alessio Igor Bogani
Scott,

On 3 March 2016 at 21:47, Scott Wood <o...@buserror.net> wrote:
> On Wed, 2016-03-02 at 13:16 +0100, Alessio Igor Bogani wrote:
>> Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
>> ---
>> v2 -> v3
>> Use appropriate git format-patch flag "-M" to detect renames
>>
>> v1 -> v2
>> Address suggestion made by Scott Wood
>>   Split the second patch in two
>>   Don't remove "fsl,mpic" which it is required for 4-cell
>> interrupt specifiers
>>   Remove pointless compatible in the dtsi
>>   Use the right value for pcie clock-frequency (100 Mhz)
>
> This patchset looks OK -- were you going to send a non-RFC version?  Or do you
> want me to apply this one?

I have just sent you a non-RFC version. Thanks!

Ciao,
Alessio


Re: [RFC PATCH v3 1/3] powerpc/86xx: Move dts files to fsl directory

2016-03-04 Thread Alessio Igor Bogani
Scott,

On 3 March 2016 at 21:47, Scott Wood  wrote:
> On Wed, 2016-03-02 at 13:16 +0100, Alessio Igor Bogani wrote:
>> Signed-off-by: Alessio Igor Bogani 
>> ---
>> v2 -> v3
>> Use appropriate git format-patch flag "-M" to detect renames
>>
>> v1 -> v2
>> Address suggestion made by Scott Wood
>>   Split the second patch in two
>>   Don't remove "fsl,mpic" which it is required for 4-cell
>> interrupt specifiers
>>   Remove pointless compatible in the dtsi
>>   Use the right value for pcie clock-frequency (100 Mhz)
>
> This patchset looks OK -- were you going to send a non-RFC version?  Or do you
> want me to apply this one?

I have just sent you a non-RFC version. Thanks!

Ciao,
Alessio


[PATCH v3 3/3] powerpc/86xx: Introduce and use common dtsi

2016-03-04 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 258 +++--
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 246 +++-
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 258 +++--
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 300 -
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 298 
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 120 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  58 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 299 +++-
 8 files changed, 394 insertions(+), 1443 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 7e4487b..0424fc2 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -18,62 +18,19 @@
  * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
  */
 
-/dts-v1/;
+/include/ "mpc8641si-pre.dtsi"
 
 / {
model = "GEF_PPC9A";
compatible = "gef,ppc9a";
-   #address-cells = <1>;
-   #size-cells = <1>;
-   interrupt-parent = <>;
-
-   aliases {
-   ethernet0 = 
-   ethernet1 = 
-   serial0 = 
-   serial1 = 
-   pci0 = 
-   };
-
-   cpus {
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   PowerPC,8641@0 {
-   device_type = "cpu";
-   reg = <0>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   PowerPC,8641@1 {
-   device_type = "cpu";
-   reg = <1>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   };
 
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
};
 
-   localbus@fef05000 {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   compatible = "fsl,mpc8641-localbus", "simple-bus";
+   lbc: localbus@fef05000 {
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -161,34 +118,10 @@
};
};
 
-   soc@fef0 {
-   #address-cells = <1>;
-   #size-cells = <1>;
-   device_type = "soc";
-   compatible = "fsl,mpc8641-soc", "simple-bus";
+   soc: soc@fef0 {
ranges = <0x0 0xfef0 0x0010>;
-   bus-frequency = <>;
-
-   mcm-law@0 {
-   compatible = "fsl,mcm-law";
-   reg = <0x0 0x1000>;
-   fsl,num-laws = <10>;
-   };
-
-   mcm@1000 {
-   compatible = "fsl,mpc8641-mcm", "fsl,mcm";
-   reg = <0x1000 0x1000>;
-   interrupts = <17 2 0 0>;
-   };
 
i2c@3000 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   compatible = "fsl-i2c";
-   reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2 0 0>;
-   dfsrr;
-
hwmon@48 {
compatible = "national,lm92";

[PATCH v3 3/3] powerpc/86xx: Introduce and use common dtsi

2016-03-04 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 258 +++--
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 246 +++-
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 258 +++--
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 300 -
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 298 
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 120 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  58 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 299 +++-
 8 files changed, 394 insertions(+), 1443 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 7e4487b..0424fc2 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -18,62 +18,19 @@
  * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
  */
 
-/dts-v1/;
+/include/ "mpc8641si-pre.dtsi"
 
 / {
model = "GEF_PPC9A";
compatible = "gef,ppc9a";
-   #address-cells = <1>;
-   #size-cells = <1>;
-   interrupt-parent = <>;
-
-   aliases {
-   ethernet0 = 
-   ethernet1 = 
-   serial0 = 
-   serial1 = 
-   pci0 = 
-   };
-
-   cpus {
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   PowerPC,8641@0 {
-   device_type = "cpu";
-   reg = <0>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   PowerPC,8641@1 {
-   device_type = "cpu";
-   reg = <1>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   };
 
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
};
 
-   localbus@fef05000 {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   compatible = "fsl,mpc8641-localbus", "simple-bus";
+   lbc: localbus@fef05000 {
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -161,34 +118,10 @@
};
};
 
-   soc@fef0 {
-   #address-cells = <1>;
-   #size-cells = <1>;
-   device_type = "soc";
-   compatible = "fsl,mpc8641-soc", "simple-bus";
+   soc: soc@fef0 {
ranges = <0x0 0xfef0 0x0010>;
-   bus-frequency = <>;
-
-   mcm-law@0 {
-   compatible = "fsl,mcm-law";
-   reg = <0x0 0x1000>;
-   fsl,num-laws = <10>;
-   };
-
-   mcm@1000 {
-   compatible = "fsl,mpc8641-mcm", "fsl,mcm";
-   reg = <0x1000 0x1000>;
-   interrupts = <17 2 0 0>;
-   };
 
i2c@3000 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   compatible = "fsl-i2c";
-   reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2 0 0>;
-   dfsrr;
-
hwmon@48 {
compatible = "national,lm92";
  

[PATCH v3 1/3] powerpc/86xx: Move dts files to fsl directory

2016-03-04 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
v2 -> v3
Use appropriate git format-patch flag "-M" to detect renames

v1 -> v2
Address suggestion made by Scott Wood
  Split the second patch in two
  Don't remove "fsl,mpic" which it is required for 4-cell
interrupt specifiers
  Remove pointless compatible in the dtsi
  Use the right value for pcie clock-frequency (100 Mhz)

 arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts| 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts | 0
 6 files changed, 0 insertions(+), 0 deletions(-)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts (100%)

diff --git a/arch/powerpc/boot/dts/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_ppc9a.dts
rename to arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc310.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc310.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc610.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc610.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
diff --git a/arch/powerpc/boot/dts/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
similarity index 100%
rename from arch/powerpc/boot/dts/sbc8641d.dts
rename to arch/powerpc/boot/dts/fsl/sbc8641d.dts
-- 
2.7.2



[PATCH v3 2/3] powerpc/86xx: Update device tree

2016-03-04 Thread Alessio Igor Bogani
Avoid duplication of the interrupt-parent, migrate to 4 interrupt-cells
and set the right clock-frequency for pcie (100 Mhz).

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 73 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 79 -
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 73 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 95 ++
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 78 -
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 59 ++--
 6 files changed, 169 insertions(+), 288 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 83eb0fd..7e4487b 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -25,6 +25,7 @@
compatible = "gef,ppc9a";
#address-cells = <1>;
#size-cells = <1>;
+   interrupt-parent = <>;
 
aliases {
ethernet0 = 
@@ -72,8 +73,7 @@
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2>;
-   interrupt-parent = <>;
+   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -150,9 +150,7 @@
interrupt-controller;
compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
reg = <0x4 0x4000 0x20>;
-   interrupts = <0x8
- 0x9>;
-   interrupt-parent = <>;
+   interrupts = <0x8 0x9 0 0>;
 
};
gef_gpio: gpio@7,14000 {
@@ -166,7 +164,6 @@
soc@fef0 {
#address-cells = <1>;
#size-cells = <1>;
-   #interrupt-cells = <2>;
device_type = "soc";
compatible = "fsl,mpc8641-soc", "simple-bus";
ranges = <0x0 0xfef0 0x0010>;
@@ -181,17 +178,15 @@
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
-   interrupts = <17 2>;
-   interrupt-parent = <>;
+   interrupts = <17 2 0 0>;
};
 
-   i2c1: i2c@3000 {
+   i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
 
hwmon@48 {
@@ -215,13 +210,12 @@
};
};
 
-   i2c2: i2c@3100 {
+   i2c@3100 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
};
 
@@ -237,32 +231,28 @@
   "fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
-   interrupt-parent = <>;
-   interrupts = <20 2>;
+   interrupts = <20 2 0 0>;
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel",
   "fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
-   interrupt-parent = <>;
-   interrupts = <21 2>;
+   interrupts = <21 2 0 0>;
};
dma-channel@100 {
compatible = "fsl,mpc8641-d

[PATCH v3 1/3] powerpc/86xx: Move dts files to fsl directory

2016-03-04 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
v2 -> v3
Use appropriate git format-patch flag "-M" to detect renames

v1 -> v2
Address suggestion made by Scott Wood
  Split the second patch in two
  Don't remove "fsl,mpic" which it is required for 4-cell
interrupt specifiers
  Remove pointless compatible in the dtsi
  Use the right value for pcie clock-frequency (100 Mhz)

 arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts| 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts | 0
 6 files changed, 0 insertions(+), 0 deletions(-)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts (100%)

diff --git a/arch/powerpc/boot/dts/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_ppc9a.dts
rename to arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc310.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc310.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc610.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc610.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
diff --git a/arch/powerpc/boot/dts/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
similarity index 100%
rename from arch/powerpc/boot/dts/sbc8641d.dts
rename to arch/powerpc/boot/dts/fsl/sbc8641d.dts
-- 
2.7.2



[PATCH v3 2/3] powerpc/86xx: Update device tree

2016-03-04 Thread Alessio Igor Bogani
Avoid duplication of the interrupt-parent, migrate to 4 interrupt-cells
and set the right clock-frequency for pcie (100 Mhz).

Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 73 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 79 -
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 73 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 95 ++
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 78 -
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 59 ++--
 6 files changed, 169 insertions(+), 288 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 83eb0fd..7e4487b 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -25,6 +25,7 @@
compatible = "gef,ppc9a";
#address-cells = <1>;
#size-cells = <1>;
+   interrupt-parent = <>;
 
aliases {
ethernet0 = 
@@ -72,8 +73,7 @@
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2>;
-   interrupt-parent = <>;
+   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -150,9 +150,7 @@
interrupt-controller;
compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
reg = <0x4 0x4000 0x20>;
-   interrupts = <0x8
- 0x9>;
-   interrupt-parent = <>;
+   interrupts = <0x8 0x9 0 0>;
 
};
gef_gpio: gpio@7,14000 {
@@ -166,7 +164,6 @@
soc@fef0 {
#address-cells = <1>;
#size-cells = <1>;
-   #interrupt-cells = <2>;
device_type = "soc";
compatible = "fsl,mpc8641-soc", "simple-bus";
ranges = <0x0 0xfef0 0x0010>;
@@ -181,17 +178,15 @@
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
-   interrupts = <17 2>;
-   interrupt-parent = <>;
+   interrupts = <17 2 0 0>;
};
 
-   i2c1: i2c@3000 {
+   i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
 
hwmon@48 {
@@ -215,13 +210,12 @@
};
};
 
-   i2c2: i2c@3100 {
+   i2c@3100 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
};
 
@@ -237,32 +231,28 @@
   "fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
-   interrupt-parent = <>;
-   interrupts = <20 2>;
+   interrupts = <20 2 0 0>;
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel",
   "fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
-   interrupt-parent = <>;
-   interrupts = <21 2>;
+   interrupts = <21 2 0 0>;
};
dma-channel@100 {
compatible = "fsl,mpc8641-dma-channel",
   "fsl

[RFC PATCH v3 3/3] powerpc/86xx: Introduce and use common dtsi

2016-03-02 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 258 +++--
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 246 +++-
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 258 +++--
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 300 -
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 298 
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 120 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  58 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 299 +++-
 8 files changed, 394 insertions(+), 1443 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 7e4487b..0424fc2 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -18,62 +18,19 @@
  * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
  */
 
-/dts-v1/;
+/include/ "mpc8641si-pre.dtsi"
 
 / {
model = "GEF_PPC9A";
compatible = "gef,ppc9a";
-   #address-cells = <1>;
-   #size-cells = <1>;
-   interrupt-parent = <>;
-
-   aliases {
-   ethernet0 = 
-   ethernet1 = 
-   serial0 = 
-   serial1 = 
-   pci0 = 
-   };
-
-   cpus {
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   PowerPC,8641@0 {
-   device_type = "cpu";
-   reg = <0>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   PowerPC,8641@1 {
-   device_type = "cpu";
-   reg = <1>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   };
 
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
};
 
-   localbus@fef05000 {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   compatible = "fsl,mpc8641-localbus", "simple-bus";
+   lbc: localbus@fef05000 {
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -161,34 +118,10 @@
};
};
 
-   soc@fef0 {
-   #address-cells = <1>;
-   #size-cells = <1>;
-   device_type = "soc";
-   compatible = "fsl,mpc8641-soc", "simple-bus";
+   soc: soc@fef0 {
ranges = <0x0 0xfef0 0x0010>;
-   bus-frequency = <>;
-
-   mcm-law@0 {
-   compatible = "fsl,mcm-law";
-   reg = <0x0 0x1000>;
-   fsl,num-laws = <10>;
-   };
-
-   mcm@1000 {
-   compatible = "fsl,mpc8641-mcm", "fsl,mcm";
-   reg = <0x1000 0x1000>;
-   interrupts = <17 2 0 0>;
-   };
 
i2c@3000 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   compatible = "fsl-i2c";
-   reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2 0 0>;
-   dfsrr;
-
hwmon@48 {
compatible = "national,lm92";

[RFC PATCH v3 3/3] powerpc/86xx: Introduce and use common dtsi

2016-03-02 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 258 +++--
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 246 +++-
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 258 +++--
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 300 -
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 298 
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 120 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  58 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 299 +++-
 8 files changed, 394 insertions(+), 1443 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 7e4487b..0424fc2 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -18,62 +18,19 @@
  * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
  */
 
-/dts-v1/;
+/include/ "mpc8641si-pre.dtsi"
 
 / {
model = "GEF_PPC9A";
compatible = "gef,ppc9a";
-   #address-cells = <1>;
-   #size-cells = <1>;
-   interrupt-parent = <>;
-
-   aliases {
-   ethernet0 = 
-   ethernet1 = 
-   serial0 = 
-   serial1 = 
-   pci0 = 
-   };
-
-   cpus {
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   PowerPC,8641@0 {
-   device_type = "cpu";
-   reg = <0>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   PowerPC,8641@1 {
-   device_type = "cpu";
-   reg = <1>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   };
 
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
};
 
-   localbus@fef05000 {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   compatible = "fsl,mpc8641-localbus", "simple-bus";
+   lbc: localbus@fef05000 {
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -161,34 +118,10 @@
};
};
 
-   soc@fef0 {
-   #address-cells = <1>;
-   #size-cells = <1>;
-   device_type = "soc";
-   compatible = "fsl,mpc8641-soc", "simple-bus";
+   soc: soc@fef0 {
ranges = <0x0 0xfef0 0x0010>;
-   bus-frequency = <>;
-
-   mcm-law@0 {
-   compatible = "fsl,mcm-law";
-   reg = <0x0 0x1000>;
-   fsl,num-laws = <10>;
-   };
-
-   mcm@1000 {
-   compatible = "fsl,mpc8641-mcm", "fsl,mcm";
-   reg = <0x1000 0x1000>;
-   interrupts = <17 2 0 0>;
-   };
 
i2c@3000 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   compatible = "fsl-i2c";
-   reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2 0 0>;
-   dfsrr;
-
hwmon@48 {
compatible = "national,lm92";
  

[RFC PATCH v3 1/3] powerpc/86xx: Move dts files to fsl directory

2016-03-02 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
v2 -> v3
Use appropriate git format-patch flag "-M" to detect renames

v1 -> v2
Address suggestion made by Scott Wood
  Split the second patch in two
  Don't remove "fsl,mpic" which it is required for 4-cell
interrupt specifiers
  Remove pointless compatible in the dtsi
  Use the right value for pcie clock-frequency (100 Mhz)

 arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts| 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts | 0
 6 files changed, 0 insertions(+), 0 deletions(-)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts (100%)

diff --git a/arch/powerpc/boot/dts/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_ppc9a.dts
rename to arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc310.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc310.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc610.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc610.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
diff --git a/arch/powerpc/boot/dts/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
similarity index 100%
rename from arch/powerpc/boot/dts/sbc8641d.dts
rename to arch/powerpc/boot/dts/fsl/sbc8641d.dts
-- 
2.7.2



[RFC PATCH v3 2/3] powerpc/86xx: Update device tree

2016-03-02 Thread Alessio Igor Bogani
Avoid duplication of the interrupt-parent, migrate to 4 interrupt-cells
and set the right clock-frequency for pcie (100 Mhz).

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 73 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 79 -
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 73 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 95 ++
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 78 -
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 59 ++--
 6 files changed, 169 insertions(+), 288 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 83eb0fd..7e4487b 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -25,6 +25,7 @@
compatible = "gef,ppc9a";
#address-cells = <1>;
#size-cells = <1>;
+   interrupt-parent = <>;
 
aliases {
ethernet0 = 
@@ -72,8 +73,7 @@
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2>;
-   interrupt-parent = <>;
+   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -150,9 +150,7 @@
interrupt-controller;
compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
reg = <0x4 0x4000 0x20>;
-   interrupts = <0x8
- 0x9>;
-   interrupt-parent = <>;
+   interrupts = <0x8 0x9 0 0>;
 
};
gef_gpio: gpio@7,14000 {
@@ -166,7 +164,6 @@
soc@fef0 {
#address-cells = <1>;
#size-cells = <1>;
-   #interrupt-cells = <2>;
device_type = "soc";
compatible = "fsl,mpc8641-soc", "simple-bus";
ranges = <0x0 0xfef0 0x0010>;
@@ -181,17 +178,15 @@
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
-   interrupts = <17 2>;
-   interrupt-parent = <>;
+   interrupts = <17 2 0 0>;
};
 
-   i2c1: i2c@3000 {
+   i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
 
hwmon@48 {
@@ -215,13 +210,12 @@
};
};
 
-   i2c2: i2c@3100 {
+   i2c@3100 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
};
 
@@ -237,32 +231,28 @@
   "fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
-   interrupt-parent = <>;
-   interrupts = <20 2>;
+   interrupts = <20 2 0 0>;
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel",
   "fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
-   interrupt-parent = <>;
-   interrupts = <21 2>;
+   interrupts = <21 2 0 0>;
};
dma-channel@100 {
compatible = "fsl,mpc8641-d

[RFC PATCH v3 1/3] powerpc/86xx: Move dts files to fsl directory

2016-03-02 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
v2 -> v3
Use appropriate git format-patch flag "-M" to detect renames

v1 -> v2
Address suggestion made by Scott Wood
  Split the second patch in two
  Don't remove "fsl,mpic" which it is required for 4-cell
interrupt specifiers
  Remove pointless compatible in the dtsi
  Use the right value for pcie clock-frequency (100 Mhz)

 arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts| 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts | 0
 6 files changed, 0 insertions(+), 0 deletions(-)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts (100%)

diff --git a/arch/powerpc/boot/dts/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_ppc9a.dts
rename to arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc310.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc310.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc610.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc610.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
diff --git a/arch/powerpc/boot/dts/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
similarity index 100%
rename from arch/powerpc/boot/dts/sbc8641d.dts
rename to arch/powerpc/boot/dts/fsl/sbc8641d.dts
-- 
2.7.2



[RFC PATCH v3 2/3] powerpc/86xx: Update device tree

2016-03-02 Thread Alessio Igor Bogani
Avoid duplication of the interrupt-parent, migrate to 4 interrupt-cells
and set the right clock-frequency for pcie (100 Mhz).

Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 73 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 79 -
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 73 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 95 ++
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 78 -
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 59 ++--
 6 files changed, 169 insertions(+), 288 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 83eb0fd..7e4487b 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -25,6 +25,7 @@
compatible = "gef,ppc9a";
#address-cells = <1>;
#size-cells = <1>;
+   interrupt-parent = <>;
 
aliases {
ethernet0 = 
@@ -72,8 +73,7 @@
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2>;
-   interrupt-parent = <>;
+   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -150,9 +150,7 @@
interrupt-controller;
compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
reg = <0x4 0x4000 0x20>;
-   interrupts = <0x8
- 0x9>;
-   interrupt-parent = <>;
+   interrupts = <0x8 0x9 0 0>;
 
};
gef_gpio: gpio@7,14000 {
@@ -166,7 +164,6 @@
soc@fef0 {
#address-cells = <1>;
#size-cells = <1>;
-   #interrupt-cells = <2>;
device_type = "soc";
compatible = "fsl,mpc8641-soc", "simple-bus";
ranges = <0x0 0xfef0 0x0010>;
@@ -181,17 +178,15 @@
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
-   interrupts = <17 2>;
-   interrupt-parent = <>;
+   interrupts = <17 2 0 0>;
};
 
-   i2c1: i2c@3000 {
+   i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
 
hwmon@48 {
@@ -215,13 +210,12 @@
};
};
 
-   i2c2: i2c@3100 {
+   i2c@3100 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
};
 
@@ -237,32 +231,28 @@
   "fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
-   interrupt-parent = <>;
-   interrupts = <20 2>;
+   interrupts = <20 2 0 0>;
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel",
   "fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
-   interrupt-parent = <>;
-   interrupts = <21 2>;
+   interrupts = <21 2 0 0>;
};
dma-channel@100 {
compatible = "fsl,mpc8641-dma-channel",
   "fsl

[RFC PATCH v2 1/3] powerpc/86xx: Move dts files to fsl directory

2016-03-02 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
v1 -> v2
Address suggestion made by Scott Wood
  Split the second patch in two
  Don't remove "fsl,mpic" which it is required for 4-cell
interrupt specifiers
  Remove pointless compatible in the dtsi
  Use the right value for pcie clock-frequency (100 Mhz)

 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 425 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 459 +
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 423 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 663 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 605 ++
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 447 +
 arch/powerpc/boot/dts/gef_ppc9a.dts| 425 
 arch/powerpc/boot/dts/gef_sbc310.dts   | 459 -
 arch/powerpc/boot/dts/gef_sbc610.dts   | 423 
 arch/powerpc/boot/dts/mpc8641_hpcn.dts | 663 -
 arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts | 605 --
 arch/powerpc/boot/dts/sbc8641d.dts | 447 -
 12 files changed, 3022 insertions(+), 3022 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/gef_sbc310.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/gef_sbc610.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/sbc8641d.dts
 delete mode 100644 arch/powerpc/boot/dts/gef_ppc9a.dts
 delete mode 100644 arch/powerpc/boot/dts/gef_sbc310.dts
 delete mode 100644 arch/powerpc/boot/dts/gef_sbc610.dts
 delete mode 100644 arch/powerpc/boot/dts/mpc8641_hpcn.dts
 delete mode 100644 arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts
 delete mode 100644 arch/powerpc/boot/dts/sbc8641d.dts

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
new file mode 100644
index 000..83eb0fd
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -0,0 +1,425 @@
+/*
+ * GE PPC9A Device Tree Source
+ *
+ * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
+ *
+ * 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.
+ *
+ * Based on: SBS CM6 Device Tree Source
+ * Copyright 2007 SBS Technologies GmbH & Co. KG
+ * And: mpc8641_hpcn.dts (MPC8641 HPCN Device Tree Source)
+ * Copyright 2006 Freescale Semiconductor Inc.
+ */
+
+/*
+ * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
+ */
+
+/dts-v1/;
+
+/ {
+   model = "GEF_PPC9A";
+   compatible = "gef,ppc9a";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   aliases {
+   ethernet0 = 
+   ethernet1 = 
+   serial0 = 
+   serial1 = 
+   pci0 = 
+   };
+
+   cpus {
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   PowerPC,8641@0 {
+   device_type = "cpu";
+   reg = <0>;
+   d-cache-line-size = <32>;   // 32 bytes
+   i-cache-line-size = <32>;   // 32 bytes
+   d-cache-size = <32768>; // L1, 32K
+   i-cache-size = <32768>; // L1, 32K
+   timebase-frequency = <0>;   // From uboot
+   bus-frequency = <0>;// From uboot
+   clock-frequency = <0>;  // From uboot
+   };
+   PowerPC,8641@1 {
+   device_type = "cpu";
+   reg = <1>;
+   d-cache-line-size = <32>;   // 32 bytes
+   i-cache-line-size = <32>;   // 32 bytes
+   d-cache-size = <32768>; // L1, 32K
+   i-cache-size = <32768>; // L1, 32K
+   timebase-frequency = <0>;   // From uboot
+   bus-frequency = <0>;// From uboot
+   clock-frequency = <0>;  // From uboot
+   };
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x0 0x4000>; // set by uboot
+   };
+
+   localbus@fef05000 {
+   #address-cells = <2>;
+   #size-cells = <1>;
+ 

[RFC PATCH v2 1/3] powerpc/86xx: Move dts files to fsl directory

2016-03-02 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
v1 -> v2
Address suggestion made by Scott Wood
  Split the second patch in two
  Don't remove "fsl,mpic" which it is required for 4-cell
interrupt specifiers
  Remove pointless compatible in the dtsi
  Use the right value for pcie clock-frequency (100 Mhz)

 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 425 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 459 +
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 423 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 663 +
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 605 ++
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 447 +
 arch/powerpc/boot/dts/gef_ppc9a.dts| 425 
 arch/powerpc/boot/dts/gef_sbc310.dts   | 459 -
 arch/powerpc/boot/dts/gef_sbc610.dts   | 423 
 arch/powerpc/boot/dts/mpc8641_hpcn.dts | 663 -
 arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts | 605 --
 arch/powerpc/boot/dts/sbc8641d.dts | 447 -
 12 files changed, 3022 insertions(+), 3022 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/gef_sbc310.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/gef_sbc610.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
 create mode 100644 arch/powerpc/boot/dts/fsl/sbc8641d.dts
 delete mode 100644 arch/powerpc/boot/dts/gef_ppc9a.dts
 delete mode 100644 arch/powerpc/boot/dts/gef_sbc310.dts
 delete mode 100644 arch/powerpc/boot/dts/gef_sbc610.dts
 delete mode 100644 arch/powerpc/boot/dts/mpc8641_hpcn.dts
 delete mode 100644 arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts
 delete mode 100644 arch/powerpc/boot/dts/sbc8641d.dts

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
new file mode 100644
index 000..83eb0fd
--- /dev/null
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -0,0 +1,425 @@
+/*
+ * GE PPC9A Device Tree Source
+ *
+ * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
+ *
+ * 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.
+ *
+ * Based on: SBS CM6 Device Tree Source
+ * Copyright 2007 SBS Technologies GmbH & Co. KG
+ * And: mpc8641_hpcn.dts (MPC8641 HPCN Device Tree Source)
+ * Copyright 2006 Freescale Semiconductor Inc.
+ */
+
+/*
+ * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
+ */
+
+/dts-v1/;
+
+/ {
+   model = "GEF_PPC9A";
+   compatible = "gef,ppc9a";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   aliases {
+   ethernet0 = 
+   ethernet1 = 
+   serial0 = 
+   serial1 = 
+   pci0 = 
+   };
+
+   cpus {
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   PowerPC,8641@0 {
+   device_type = "cpu";
+   reg = <0>;
+   d-cache-line-size = <32>;   // 32 bytes
+   i-cache-line-size = <32>;   // 32 bytes
+   d-cache-size = <32768>; // L1, 32K
+   i-cache-size = <32768>; // L1, 32K
+   timebase-frequency = <0>;   // From uboot
+   bus-frequency = <0>;// From uboot
+   clock-frequency = <0>;  // From uboot
+   };
+   PowerPC,8641@1 {
+   device_type = "cpu";
+   reg = <1>;
+   d-cache-line-size = <32>;   // 32 bytes
+   i-cache-line-size = <32>;   // 32 bytes
+   d-cache-size = <32768>; // L1, 32K
+   i-cache-size = <32768>; // L1, 32K
+   timebase-frequency = <0>;   // From uboot
+   bus-frequency = <0>;// From uboot
+   clock-frequency = <0>;  // From uboot
+   };
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x0 0x4000>; // set by uboot
+   };
+
+   localbus@fef05000 {
+   #address-cells = <2>;
+   #size-cells = <1>;
+   compatible = "

[RFC PATCH v2 3/3] powerpc/86xx: Introduce and use common dtsi

2016-03-02 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 258 +++--
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 246 +++-
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 258 +++--
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 300 -
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 298 
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 120 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  58 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 299 +++-
 8 files changed, 394 insertions(+), 1443 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 7e4487b..0424fc2 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -18,62 +18,19 @@
  * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
  */
 
-/dts-v1/;
+/include/ "mpc8641si-pre.dtsi"
 
 / {
model = "GEF_PPC9A";
compatible = "gef,ppc9a";
-   #address-cells = <1>;
-   #size-cells = <1>;
-   interrupt-parent = <>;
-
-   aliases {
-   ethernet0 = 
-   ethernet1 = 
-   serial0 = 
-   serial1 = 
-   pci0 = 
-   };
-
-   cpus {
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   PowerPC,8641@0 {
-   device_type = "cpu";
-   reg = <0>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   PowerPC,8641@1 {
-   device_type = "cpu";
-   reg = <1>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   };
 
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
};
 
-   localbus@fef05000 {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   compatible = "fsl,mpc8641-localbus", "simple-bus";
+   lbc: localbus@fef05000 {
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -161,34 +118,10 @@
};
};
 
-   soc@fef0 {
-   #address-cells = <1>;
-   #size-cells = <1>;
-   device_type = "soc";
-   compatible = "fsl,mpc8641-soc", "simple-bus";
+   soc: soc@fef0 {
ranges = <0x0 0xfef0 0x0010>;
-   bus-frequency = <>;
-
-   mcm-law@0 {
-   compatible = "fsl,mcm-law";
-   reg = <0x0 0x1000>;
-   fsl,num-laws = <10>;
-   };
-
-   mcm@1000 {
-   compatible = "fsl,mpc8641-mcm", "fsl,mcm";
-   reg = <0x1000 0x1000>;
-   interrupts = <17 2 0 0>;
-   };
 
i2c@3000 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   compatible = "fsl-i2c";
-   reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2 0 0>;
-   dfsrr;
-
hwmon@48 {
compatible = "national,lm92";

[RFC PATCH v2 2/3] powerpc/86xx: Update device tree

2016-03-02 Thread Alessio Igor Bogani
Avoid duplication of the interrupt-parent, migrate to 4 interrupt-cells
and set the right clock-frequency for pcie (100 Mhz).

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 73 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 79 -
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 73 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 95 ++
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 78 -
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 59 ++--
 6 files changed, 169 insertions(+), 288 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 83eb0fd..7e4487b 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -25,6 +25,7 @@
compatible = "gef,ppc9a";
#address-cells = <1>;
#size-cells = <1>;
+   interrupt-parent = <>;
 
aliases {
ethernet0 = 
@@ -72,8 +73,7 @@
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2>;
-   interrupt-parent = <>;
+   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -150,9 +150,7 @@
interrupt-controller;
compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
reg = <0x4 0x4000 0x20>;
-   interrupts = <0x8
- 0x9>;
-   interrupt-parent = <>;
+   interrupts = <0x8 0x9 0 0>;
 
};
gef_gpio: gpio@7,14000 {
@@ -166,7 +164,6 @@
soc@fef0 {
#address-cells = <1>;
#size-cells = <1>;
-   #interrupt-cells = <2>;
device_type = "soc";
compatible = "fsl,mpc8641-soc", "simple-bus";
ranges = <0x0 0xfef0 0x0010>;
@@ -181,17 +178,15 @@
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
-   interrupts = <17 2>;
-   interrupt-parent = <>;
+   interrupts = <17 2 0 0>;
};
 
-   i2c1: i2c@3000 {
+   i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
 
hwmon@48 {
@@ -215,13 +210,12 @@
};
};
 
-   i2c2: i2c@3100 {
+   i2c@3100 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
};
 
@@ -237,32 +231,28 @@
   "fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
-   interrupt-parent = <>;
-   interrupts = <20 2>;
+   interrupts = <20 2 0 0>;
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel",
   "fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
-   interrupt-parent = <>;
-   interrupts = <21 2>;
+   interrupts = <21 2 0 0>;
};
dma-channel@100 {
compatible = "fsl,mpc8641-d

[RFC PATCH v2 3/3] powerpc/86xx: Introduce and use common dtsi

2016-03-02 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 258 +++--
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 246 +++-
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 258 +++--
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 300 -
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 298 
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 120 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  58 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 299 +++-
 8 files changed, 394 insertions(+), 1443 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 7e4487b..0424fc2 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -18,62 +18,19 @@
  * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
  */
 
-/dts-v1/;
+/include/ "mpc8641si-pre.dtsi"
 
 / {
model = "GEF_PPC9A";
compatible = "gef,ppc9a";
-   #address-cells = <1>;
-   #size-cells = <1>;
-   interrupt-parent = <>;
-
-   aliases {
-   ethernet0 = 
-   ethernet1 = 
-   serial0 = 
-   serial1 = 
-   pci0 = 
-   };
-
-   cpus {
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   PowerPC,8641@0 {
-   device_type = "cpu";
-   reg = <0>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   PowerPC,8641@1 {
-   device_type = "cpu";
-   reg = <1>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   };
 
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
};
 
-   localbus@fef05000 {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   compatible = "fsl,mpc8641-localbus", "simple-bus";
+   lbc: localbus@fef05000 {
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -161,34 +118,10 @@
};
};
 
-   soc@fef0 {
-   #address-cells = <1>;
-   #size-cells = <1>;
-   device_type = "soc";
-   compatible = "fsl,mpc8641-soc", "simple-bus";
+   soc: soc@fef0 {
ranges = <0x0 0xfef0 0x0010>;
-   bus-frequency = <>;
-
-   mcm-law@0 {
-   compatible = "fsl,mcm-law";
-   reg = <0x0 0x1000>;
-   fsl,num-laws = <10>;
-   };
-
-   mcm@1000 {
-   compatible = "fsl,mpc8641-mcm", "fsl,mcm";
-   reg = <0x1000 0x1000>;
-   interrupts = <17 2 0 0>;
-   };
 
i2c@3000 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   compatible = "fsl-i2c";
-   reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2 0 0>;
-   dfsrr;
-
hwmon@48 {
compatible = "national,lm92";
  

[RFC PATCH v2 2/3] powerpc/86xx: Update device tree

2016-03-02 Thread Alessio Igor Bogani
Avoid duplication of the interrupt-parent, migrate to 4 interrupt-cells
and set the right clock-frequency for pcie (100 Mhz).

Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 73 
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 79 -
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 73 
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 95 ++
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 78 -
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 59 ++--
 6 files changed, 169 insertions(+), 288 deletions(-)

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 83eb0fd..7e4487b 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -25,6 +25,7 @@
compatible = "gef,ppc9a";
#address-cells = <1>;
#size-cells = <1>;
+   interrupt-parent = <>;
 
aliases {
ethernet0 = 
@@ -72,8 +73,7 @@
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2>;
-   interrupt-parent = <>;
+   interrupts = <19 2 0 0>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -150,9 +150,7 @@
interrupt-controller;
compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
reg = <0x4 0x4000 0x20>;
-   interrupts = <0x8
- 0x9>;
-   interrupt-parent = <>;
+   interrupts = <0x8 0x9 0 0>;
 
};
gef_gpio: gpio@7,14000 {
@@ -166,7 +164,6 @@
soc@fef0 {
#address-cells = <1>;
#size-cells = <1>;
-   #interrupt-cells = <2>;
device_type = "soc";
compatible = "fsl,mpc8641-soc", "simple-bus";
ranges = <0x0 0xfef0 0x0010>;
@@ -181,17 +178,15 @@
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
-   interrupts = <17 2>;
-   interrupt-parent = <>;
+   interrupts = <17 2 0 0>;
};
 
-   i2c1: i2c@3000 {
+   i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
 
hwmon@48 {
@@ -215,13 +210,12 @@
};
};
 
-   i2c2: i2c@3100 {
+   i2c@3100 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
-   interrupts = <0x2b 0x2>;
-   interrupt-parent = <>;
+   interrupts = <0x2b 0x2 0 0>;
dfsrr;
};
 
@@ -237,32 +231,28 @@
   "fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
-   interrupt-parent = <>;
-   interrupts = <20 2>;
+   interrupts = <20 2 0 0>;
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel",
   "fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
-   interrupt-parent = <>;
-   interrupts = <21 2>;
+   interrupts = <21 2 0 0>;
};
dma-channel@100 {
compatible = "fsl,mpc8641-dma-channel",
   "fsl

Re: [RFC PATCH v1 2/2] powerpc/86xx: Introduce and use common dtsi

2016-03-01 Thread Alessio Igor Bogani
Scott,

On 29 February 2016 at 23:38, Scott Wood  wrote:
[...]
> Could you post a diff of what the decompiled trees look like before and after
> this change (e.g. interrupts went from 2-cell to 4-cell)?  It is very hard to
> review in this form.  Or better, like the config change, have a commit that
> first makes changes to what the unified trees will be, and then a second
> commit that generates the same output using includes.

Yes I'll surely do it.

>> +/include/ "qoriq-mpic.dtsi"
>> + pic@4 {
>> + compatible = "chrp,open-pic";
>> + };
>
> This is removing the fsl,mpic compatible, which is required for 4-cell
> interrupt specifiers.

Ok.

>> + {
>> + compatible = "fsl,mpc8641-pcie";
>> + device_type = "pci";
>> + #size-cells = <2>;
>> + #address-cells = <3>;
>> + bus-range = <0x0 0xff>;
>> + clock-frequency = <>;
>
> The clock frequency of PCI Express is not 33 MHz.

A lot of dtsi files into fsl directory have got that value!

>> diff --git a/arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi
[...]
>> +/dts-v1/;
>> +
>> +/ {
>> + compatible = "fsl,MPC8641";
>
> This compatible is pointless -- it will be overwritten by the board
> compatible.

Ok.

Thanks for have reviewed my patches.

Ciao,
Alessio


Re: [RFC PATCH v1 2/2] powerpc/86xx: Introduce and use common dtsi

2016-03-01 Thread Alessio Igor Bogani
Scott,

On 29 February 2016 at 23:38, Scott Wood  wrote:
[...]
> Could you post a diff of what the decompiled trees look like before and after
> this change (e.g. interrupts went from 2-cell to 4-cell)?  It is very hard to
> review in this form.  Or better, like the config change, have a commit that
> first makes changes to what the unified trees will be, and then a second
> commit that generates the same output using includes.

Yes I'll surely do it.

>> +/include/ "qoriq-mpic.dtsi"
>> + pic@4 {
>> + compatible = "chrp,open-pic";
>> + };
>
> This is removing the fsl,mpic compatible, which is required for 4-cell
> interrupt specifiers.

Ok.

>> + {
>> + compatible = "fsl,mpc8641-pcie";
>> + device_type = "pci";
>> + #size-cells = <2>;
>> + #address-cells = <3>;
>> + bus-range = <0x0 0xff>;
>> + clock-frequency = <>;
>
> The clock frequency of PCI Express is not 33 MHz.

A lot of dtsi files into fsl directory have got that value!

>> diff --git a/arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi
[...]
>> +/dts-v1/;
>> +
>> +/ {
>> + compatible = "fsl,MPC8641";
>
> This compatible is pointless -- it will be overwritten by the board
> compatible.

Ok.

Thanks for have reviewed my patches.

Ciao,
Alessio


Re: [RFC PATCH v1 2/2] powerpc/86xx: Introduce and use common dtsi

2016-02-29 Thread Alessio Igor Bogani
Hi,

On 25 February 2016 at 11:57, Alessio Igor Bogani
<alessio.bog...@elettra.eu> wrote:
> Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
> ---
>  arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 284 +++---
>  arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 276 +++--
>  arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 284 +++---
>  arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 318 
> -
>  arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 317 
>  arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 124 ++
>  arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  59 +
>  arch/powerpc/boot/dts/fsl/sbc8641d.dts | 314 +++-
>  8 files changed, 400 insertions(+), 1576 deletions(-)
>  create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
>  create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi
[...]

Any comments?

Thanks!

Ciao,
Alessio


Re: [RFC PATCH v1 2/2] powerpc/86xx: Introduce and use common dtsi

2016-02-29 Thread Alessio Igor Bogani
Hi,

On 25 February 2016 at 11:57, Alessio Igor Bogani
 wrote:
> Signed-off-by: Alessio Igor Bogani 
> ---
>  arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 284 +++---
>  arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 276 +++--
>  arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 284 +++---
>  arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 318 
> -
>  arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 317 
>  arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 124 ++
>  arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  59 +
>  arch/powerpc/boot/dts/fsl/sbc8641d.dts | 314 +++-
>  8 files changed, 400 insertions(+), 1576 deletions(-)
>  create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
>  create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi
[...]

Any comments?

Thanks!

Ciao,
Alessio


[RFC PATCH v1 2/2] powerpc/86xx: Introduce and use common dtsi

2016-02-25 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 284 +++---
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 276 +++--
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 284 +++---
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 318 -
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 317 
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 124 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  59 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 314 +++-
 8 files changed, 400 insertions(+), 1576 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 83eb0fd..0c11623 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -18,62 +18,19 @@
  * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
  */
 
-/dts-v1/;
+/include/ "mpc8641si-pre.dtsi"
 
 / {
model = "GEF_PPC9A";
compatible = "gef,ppc9a";
-   #address-cells = <1>;
-   #size-cells = <1>;
-
-   aliases {
-   ethernet0 = 
-   ethernet1 = 
-   serial0 = 
-   serial1 = 
-   pci0 = 
-   };
-
-   cpus {
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   PowerPC,8641@0 {
-   device_type = "cpu";
-   reg = <0>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   PowerPC,8641@1 {
-   device_type = "cpu";
-   reg = <1>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   };
 
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
};
 
-   localbus@fef05000 {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   compatible = "fsl,mpc8641-localbus", "simple-bus";
+   lbc: localbus@fef05000 {
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2>;
-   interrupt-parent = <>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -133,7 +90,7 @@
compatible = "gef,ppc9a-fpga-wdt", "gef,fpga-wdt-1.00",
"gef,fpga-wdt";
reg = <0x4 0x2000 0x8>;
-   interrupts = <0x1a 0x4>;
+   interrupts = <0x1a 0x4 0 0>;
interrupt-parent = <_pic>;
};
/* Second watchdog available, driver currently supports one.
@@ -141,7 +98,7 @@
compatible = "gef,ppc9a-fpga-wdt", "gef,fpga-wdt-1.00",
"gef,fpga-wdt";
reg = <0x4 0x2010 0x8>;
-   interrupts = <0x1b 0x4>;
+   interrupts = <0x1b 0x4 0 0>;
interrupt-parent = <_pic>;
};
*/
@@ -150,10 +107,7 @@
interrupt-controller;
compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
reg = <0x4 0x4000 0x20>;
-   interrupts = <0x8
- 0x9>;
-   interrupt-parent = <>;
-
+   

[RFC PATCH v1 2/2] powerpc/86xx: Introduce and use common dtsi

2016-02-25 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/dts/fsl/gef_ppc9a.dts| 284 +++---
 arch/powerpc/boot/dts/fsl/gef_sbc310.dts   | 276 +++--
 arch/powerpc/boot/dts/fsl/gef_sbc610.dts   | 284 +++---
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts | 318 -
 arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts | 317 
 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi  | 124 ++
 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi   |  59 +
 arch/powerpc/boot/dts/fsl/sbc8641d.dts | 314 +++-
 8 files changed, 400 insertions(+), 1576 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/mpc8641si-pre.dtsi

diff --git a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
index 83eb0fd..0c11623 100644
--- a/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
@@ -18,62 +18,19 @@
  * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
  */
 
-/dts-v1/;
+/include/ "mpc8641si-pre.dtsi"
 
 / {
model = "GEF_PPC9A";
compatible = "gef,ppc9a";
-   #address-cells = <1>;
-   #size-cells = <1>;
-
-   aliases {
-   ethernet0 = 
-   ethernet1 = 
-   serial0 = 
-   serial1 = 
-   pci0 = 
-   };
-
-   cpus {
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   PowerPC,8641@0 {
-   device_type = "cpu";
-   reg = <0>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   PowerPC,8641@1 {
-   device_type = "cpu";
-   reg = <1>;
-   d-cache-line-size = <32>;   // 32 bytes
-   i-cache-line-size = <32>;   // 32 bytes
-   d-cache-size = <32768>; // L1, 32K
-   i-cache-size = <32768>; // L1, 32K
-   timebase-frequency = <0>;   // From uboot
-   bus-frequency = <0>;// From uboot
-   clock-frequency = <0>;  // From uboot
-   };
-   };
 
memory {
device_type = "memory";
reg = <0x0 0x4000>; // set by uboot
};
 
-   localbus@fef05000 {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   compatible = "fsl,mpc8641-localbus", "simple-bus";
+   lbc: localbus@fef05000 {
reg = <0xfef05000 0x1000>;
-   interrupts = <19 2>;
-   interrupt-parent = <>;
 
ranges = <0 0 0xff00 0x0100 // 16MB Boot flash
  1 0 0xe800 0x0800 // Paged Flash 0
@@ -133,7 +90,7 @@
compatible = "gef,ppc9a-fpga-wdt", "gef,fpga-wdt-1.00",
"gef,fpga-wdt";
reg = <0x4 0x2000 0x8>;
-   interrupts = <0x1a 0x4>;
+   interrupts = <0x1a 0x4 0 0>;
interrupt-parent = <_pic>;
};
/* Second watchdog available, driver currently supports one.
@@ -141,7 +98,7 @@
compatible = "gef,ppc9a-fpga-wdt", "gef,fpga-wdt-1.00",
"gef,fpga-wdt";
reg = <0x4 0x2010 0x8>;
-   interrupts = <0x1b 0x4>;
+   interrupts = <0x1b 0x4 0 0>;
interrupt-parent = <_pic>;
};
*/
@@ -150,10 +107,7 @@
interrupt-controller;
compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
reg = <0x4 0x4000 0x20>;
-   interrupts = <0x8
- 0x9>;
-   interrupt-parent = <>;
-
+   interrupts = <0x8 0x9 0 0>

[RFC PATCH v1 1/2] powerpc/86xx: Move dts files to fsl directory

2016-02-25 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts| 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts | 0
 6 files changed, 0 insertions(+), 0 deletions(-)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts (100%)

diff --git a/arch/powerpc/boot/dts/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_ppc9a.dts
rename to arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc310.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc310.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc610.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc610.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
diff --git a/arch/powerpc/boot/dts/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
similarity index 100%
rename from arch/powerpc/boot/dts/sbc8641d.dts
rename to arch/powerpc/boot/dts/fsl/sbc8641d.dts
-- 
2.7.1



[RFC PATCH v1 1/2] powerpc/86xx: Move dts files to fsl directory

2016-02-25 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts| 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts   | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts | 0
 arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts | 0
 6 files changed, 0 insertions(+), 0 deletions(-)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_ppc9a.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc310.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/gef_sbc610.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/mpc8641_hpcn_36b.dts (100%)
 rename arch/powerpc/boot/dts/{ => fsl}/sbc8641d.dts (100%)

diff --git a/arch/powerpc/boot/dts/gef_ppc9a.dts 
b/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_ppc9a.dts
rename to arch/powerpc/boot/dts/fsl/gef_ppc9a.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc310.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc310.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc310.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc310.dts
diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts 
b/arch/powerpc/boot/dts/fsl/gef_sbc610.dts
similarity index 100%
rename from arch/powerpc/boot/dts/gef_sbc610.dts
rename to arch/powerpc/boot/dts/fsl/gef_sbc610.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn.dts
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts 
b/arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
similarity index 100%
rename from arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts
rename to arch/powerpc/boot/dts/fsl/mpc8641_hpcn_36b.dts
diff --git a/arch/powerpc/boot/dts/sbc8641d.dts 
b/arch/powerpc/boot/dts/fsl/sbc8641d.dts
similarity index 100%
rename from arch/powerpc/boot/dts/sbc8641d.dts
rename to arch/powerpc/boot/dts/fsl/sbc8641d.dts
-- 
2.7.1



[PATCH v2 1/2] powerpc/86xx: Update defconfigs

2016-02-22 Thread Alessio Igor Bogani
This patch show how defconfigs appear if the kconfig fragment approach is
used.

Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
v1 -> v2
Split changes in two patches as suggested by Scott Wood

 arch/powerpc/configs/86xx/gef_ppc9a_defconfig| 208 +++---
 arch/powerpc/configs/86xx/gef_sbc310_defconfig   | 212 +++---
 arch/powerpc/configs/86xx/gef_sbc610_defconfig   | 277 ---
 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 157 +--
 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig |  92 ++-
 arch/powerpc/configs/86xx/sbc8641d_defconfig | 336 +++
 6 files changed, 735 insertions(+), 547 deletions(-)

diff --git a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig 
b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
index 9792a2c..4ffbc4f 100644
--- a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
+++ b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
@@ -2,30 +2,49 @@ CONFIG_SMP=y
 CONFIG_NR_CPUS=2
 CONFIG_SYSVIPC=y
 CONFIG_POSIX_MQUEUE=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_IRQ_DOMAIN_DEBUG=y
+CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
 CONFIG_IKCONFIG=y
 CONFIG_IKCONFIG_PROC=y
 CONFIG_LOG_BUF_SHIFT=14
-CONFIG_RELAY=y
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_CPUACCT=y
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_EXPERT=y
-CONFIG_SLAB=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PERF_EVENTS=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
 # CONFIG_BLK_DEV_BSG is not set
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_MAC_PARTITION=y
 # CONFIG_PPC_CHRP is not set
 # CONFIG_PPC_PMAC is not set
 CONFIG_PPC_86xx=y
+CONFIG_MPC8641_HPCN=y
+CONFIG_SBC8641D=y
+CONFIG_MPC8610_HPCD=y
 CONFIG_GEF_PPC9A=y
+CONFIG_GEF_SBC310=y
+CONFIG_GEF_SBC610=y
 CONFIG_HIGHMEM=y
 CONFIG_HZ_1000=y
-CONFIG_PREEMPT=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
 CONFIG_BINFMT_MISC=m
+CONFIG_KEXEC=y
+CONFIG_FORCE_MAX_ZONEORDER=13
 CONFIG_PCI=y
 CONFIG_PCIEPORTBUS=y
 # CONFIG_PCIEASPM is not set
+CONFIG_PCI_DEBUG=y
 CONFIG_PCCARD=y
 # CONFIG_PCMCIA_LOAD_CIS is not set
 # CONFIG_CARDBUS is not set
@@ -36,8 +55,11 @@ CONFIG_YENTA=y
 CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
-CONFIG_XFRM_USER=m
-CONFIG_NET_KEY=m
+CONFIG_XFRM_USER=y
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_NET_KEY=y
+CONFIG_NET_KEY_MIGRATE=y
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
 CONFIG_IP_ADVANCED_ROUTER=y
@@ -48,72 +70,79 @@ CONFIG_IP_PNP=y
 CONFIG_IP_PNP_DHCP=y
 CONFIG_IP_PNP_BOOTP=y
 CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=m
+CONFIG_NET_IPIP=y
 CONFIG_IP_MROUTE=y
 CONFIG_IP_PIMSM_V1=y
 CONFIG_IP_PIMSM_V2=y
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
+CONFIG_INET_AH=y
+CONFIG_INET_ESP=y
+CONFIG_INET_IPCOMP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
 # CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_TUNNEL=m
-CONFIG_NET_PKTGEN=m
+# CONFIG_INET_LRO is not set
+CONFIG_IP_SCTP=m
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
 CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
 CONFIG_MTD_BLOCK=y
+CONFIG_FTL=y
 CONFIG_MTD_CFI=y
 CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_LE_BYTE_SWAP=y
 CONFIG_MTD_CFI_INTELEXT=y
 CONFIG_MTD_CFI_AMDSTD=y
 CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_NBD=m
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_FSL_ELBC=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=131072
 CONFIG_DS1682=y
+CONFIG_EEPROM_LEGACY=y
 CONFIG_IDE=y
 CONFIG_BLK_DEV_IDECS=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_BLK_DEV_SR=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_SCSI_LOGGING=y
 CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
 CONFIG_SATA_SIL=y
+CONFIG_PATA_ALI=y
 CONFIG_NETDEVICES=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_NETCONSOLE=y
-CONFIG_TUN=m
+CONFIG_DUMMY=y
+CONFIG_NET_TULIP=y
+CONFIG_ULI526X=y
 CONFIG_GIANFAR=y
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOE=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-CONFIG_SLIP_MODE_SLIP6=y
+CONFIG_VITESSE_PHY=y
+CONFIG_BROADCOM_PHY=y
+CONFIG_FIXED_PHY=y
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_MOUSEDEV is not set
 # CONFIG_INPUT_KEYBOARD is not set
 # CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
+CONFIG_SERIO_LIBPS2=y
 # CONFIG_LEGACY_PTYS is not set
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
-# CONFIG_SERIAL_8250_PCI is not set
 CONFIG_SERIAL_8250_NR_UARTS=2
 CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFI

[PATCH v2 1/2] powerpc/86xx: Update defconfigs

2016-02-22 Thread Alessio Igor Bogani
This patch show how defconfigs appear if the kconfig fragment approach is
used.

Signed-off-by: Alessio Igor Bogani 
---
v1 -> v2
Split changes in two patches as suggested by Scott Wood

 arch/powerpc/configs/86xx/gef_ppc9a_defconfig| 208 +++---
 arch/powerpc/configs/86xx/gef_sbc310_defconfig   | 212 +++---
 arch/powerpc/configs/86xx/gef_sbc610_defconfig   | 277 ---
 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 157 +--
 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig |  92 ++-
 arch/powerpc/configs/86xx/sbc8641d_defconfig | 336 +++
 6 files changed, 735 insertions(+), 547 deletions(-)

diff --git a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig 
b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
index 9792a2c..4ffbc4f 100644
--- a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
+++ b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
@@ -2,30 +2,49 @@ CONFIG_SMP=y
 CONFIG_NR_CPUS=2
 CONFIG_SYSVIPC=y
 CONFIG_POSIX_MQUEUE=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_IRQ_DOMAIN_DEBUG=y
+CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
 CONFIG_IKCONFIG=y
 CONFIG_IKCONFIG_PROC=y
 CONFIG_LOG_BUF_SHIFT=14
-CONFIG_RELAY=y
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_CPUACCT=y
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_EXPERT=y
-CONFIG_SLAB=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PERF_EVENTS=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
 # CONFIG_BLK_DEV_BSG is not set
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_MAC_PARTITION=y
 # CONFIG_PPC_CHRP is not set
 # CONFIG_PPC_PMAC is not set
 CONFIG_PPC_86xx=y
+CONFIG_MPC8641_HPCN=y
+CONFIG_SBC8641D=y
+CONFIG_MPC8610_HPCD=y
 CONFIG_GEF_PPC9A=y
+CONFIG_GEF_SBC310=y
+CONFIG_GEF_SBC610=y
 CONFIG_HIGHMEM=y
 CONFIG_HZ_1000=y
-CONFIG_PREEMPT=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
 CONFIG_BINFMT_MISC=m
+CONFIG_KEXEC=y
+CONFIG_FORCE_MAX_ZONEORDER=13
 CONFIG_PCI=y
 CONFIG_PCIEPORTBUS=y
 # CONFIG_PCIEASPM is not set
+CONFIG_PCI_DEBUG=y
 CONFIG_PCCARD=y
 # CONFIG_PCMCIA_LOAD_CIS is not set
 # CONFIG_CARDBUS is not set
@@ -36,8 +55,11 @@ CONFIG_YENTA=y
 CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
-CONFIG_XFRM_USER=m
-CONFIG_NET_KEY=m
+CONFIG_XFRM_USER=y
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_NET_KEY=y
+CONFIG_NET_KEY_MIGRATE=y
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
 CONFIG_IP_ADVANCED_ROUTER=y
@@ -48,72 +70,79 @@ CONFIG_IP_PNP=y
 CONFIG_IP_PNP_DHCP=y
 CONFIG_IP_PNP_BOOTP=y
 CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=m
+CONFIG_NET_IPIP=y
 CONFIG_IP_MROUTE=y
 CONFIG_IP_PIMSM_V1=y
 CONFIG_IP_PIMSM_V2=y
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
+CONFIG_INET_AH=y
+CONFIG_INET_ESP=y
+CONFIG_INET_IPCOMP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
 # CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_TUNNEL=m
-CONFIG_NET_PKTGEN=m
+# CONFIG_INET_LRO is not set
+CONFIG_IP_SCTP=m
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
 CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
 CONFIG_MTD_BLOCK=y
+CONFIG_FTL=y
 CONFIG_MTD_CFI=y
 CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_LE_BYTE_SWAP=y
 CONFIG_MTD_CFI_INTELEXT=y
 CONFIG_MTD_CFI_AMDSTD=y
 CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_NBD=m
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_FSL_ELBC=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=131072
 CONFIG_DS1682=y
+CONFIG_EEPROM_LEGACY=y
 CONFIG_IDE=y
 CONFIG_BLK_DEV_IDECS=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_BLK_DEV_SR=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_SCSI_LOGGING=y
 CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
 CONFIG_SATA_SIL=y
+CONFIG_PATA_ALI=y
 CONFIG_NETDEVICES=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_NETCONSOLE=y
-CONFIG_TUN=m
+CONFIG_DUMMY=y
+CONFIG_NET_TULIP=y
+CONFIG_ULI526X=y
 CONFIG_GIANFAR=y
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOE=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-CONFIG_SLIP_MODE_SLIP6=y
+CONFIG_VITESSE_PHY=y
+CONFIG_BROADCOM_PHY=y
+CONFIG_FIXED_PHY=y
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_MOUSEDEV is not set
 # CONFIG_INPUT_KEYBOARD is not set
 # CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
+CONFIG_SERIO_LIBPS2=y
 # CONFIG_LEGACY_PTYS is not set
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
-# CONFIG_SERIAL_8250_PCI is not set
 CONFIG_SERIAL_8250_NR_UARTS=2
 CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
 CONFIG_HW_RANDOM=y

[PATCH v2 2/2] powerpc/86xx: Switch to kconfig fragments approach

2016-02-22 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/Makefile|  10 +
 arch/powerpc/configs/86xx-hw.config  | 106 ++
 arch/powerpc/configs/86xx-smp.config |   2 +
 arch/powerpc/configs/86xx/gef_ppc9a_defconfig| 234 ---
 arch/powerpc/configs/86xx/gef_sbc310_defconfig   | 234 ---
 arch/powerpc/configs/86xx/gef_sbc610_defconfig   | 234 ---
 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 233 --
 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | 234 ---
 arch/powerpc/configs/86xx/sbc8641d_defconfig | 234 ---
 arch/powerpc/configs/mpc86xx_basic_defconfig |  10 +
 arch/powerpc/configs/mpc86xx_defconfig   | 162 
 11 files changed, 128 insertions(+), 1565 deletions(-)
 create mode 100644 arch/powerpc/configs/86xx-hw.config
 create mode 100644 arch/powerpc/configs/86xx-smp.config
 delete mode 100644 arch/powerpc/configs/86xx/gef_ppc9a_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/gef_sbc310_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/gef_sbc610_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/sbc8641d_defconfig
 create mode 100644 arch/powerpc/configs/mpc86xx_basic_defconfig
 delete mode 100644 arch/powerpc/configs/mpc86xx_defconfig

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 96efd82..1a0ee01 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -310,6 +310,16 @@ corenet64_smp_defconfig:
$(call merge_into_defconfig,corenet_basic_defconfig,\
85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw)
 
+PHONY += mpc86xx_defconfig
+mpc86xx_defconfig:
+   $(call merge_into_defconfig,mpc86xx_basic_defconfig,\
+   86xx-hw fsl-emb-nonhw)
+
+PHONY += mpc86xx_smp_defconfig
+mpc86xx_smp_defconfig:
+   $(call merge_into_defconfig,mpc86xx_basic_defconfig,\
+   86xx-smp 86xx-hw fsl-emb-nonhw)
+
 define archhelp
   @echo '* zImage  - Build default images selected by kernel config'
   @echo '  zImage.*- Compressed kernel image 
(arch/$(ARCH)/boot/zImage.*)'
diff --git a/arch/powerpc/configs/86xx-hw.config 
b/arch/powerpc/configs/86xx-hw.config
new file mode 100644
index 000..1011584
--- /dev/null
+++ b/arch/powerpc/configs/86xx-hw.config
@@ -0,0 +1,106 @@
+CONFIG_ATA=y
+CONFIG_BLK_DEV_IDECS=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=y
+CONFIG_BROADCOM_PHY=y
+# CONFIG_CARDBUS is not set
+CONFIG_CHR_DEV_SG=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_DS1682=y
+CONFIG_EEPROM_LEGACY=y
+CONFIG_GEF_WDT=y
+CONFIG_GIANFAR=y
+CONFIG_GPIO_GE_FPGA=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_HID_A4TECH=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_EZKEY=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_LOGITECH=y
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MONTEREY=y
+CONFIG_HID_PANTHERLORD=y
+CONFIG_HID_PETALYNX=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SUNPLUS=y
+CONFIG_HW_RANDOM=y
+CONFIG_HZ_1000=y
+CONFIG_I2C_MPC=y
+CONFIG_I2C=y
+CONFIG_IDE=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_LE_BYTE_SWAP=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_NAND_FSL_ELBC=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_TULIP=y
+CONFIG_NVRAM=y
+CONFIG_PATA_ALI=y
+CONFIG_PCCARD=y
+CONFIG_PCI_DEBUG=y
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCI=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+# CONFIG_PPC_CHRP is not set
+# CONFIG_PPC_PMAC is not set
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_RX8581=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_SATA_SIL=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SENSORS_LM90=y
+CONFIG_SENSORS_LM92=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SND_INTEL8X0=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND=y
+CONFIG_SOUND=y
+CONFIG_ULI526X=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_MON=y
+CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB=y
+CONFIG_VITESSE_PHY=y
+CONFIG_VME_BUS=y
+CONFIG_VME_TS

[PATCH v2 2/2] powerpc/86xx: Switch to kconfig fragments approach

2016-02-22 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/Makefile|  10 +
 arch/powerpc/configs/86xx-hw.config  | 106 ++
 arch/powerpc/configs/86xx-smp.config |   2 +
 arch/powerpc/configs/86xx/gef_ppc9a_defconfig| 234 ---
 arch/powerpc/configs/86xx/gef_sbc310_defconfig   | 234 ---
 arch/powerpc/configs/86xx/gef_sbc610_defconfig   | 234 ---
 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 233 --
 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | 234 ---
 arch/powerpc/configs/86xx/sbc8641d_defconfig | 234 ---
 arch/powerpc/configs/mpc86xx_basic_defconfig |  10 +
 arch/powerpc/configs/mpc86xx_defconfig   | 162 
 11 files changed, 128 insertions(+), 1565 deletions(-)
 create mode 100644 arch/powerpc/configs/86xx-hw.config
 create mode 100644 arch/powerpc/configs/86xx-smp.config
 delete mode 100644 arch/powerpc/configs/86xx/gef_ppc9a_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/gef_sbc310_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/gef_sbc610_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/sbc8641d_defconfig
 create mode 100644 arch/powerpc/configs/mpc86xx_basic_defconfig
 delete mode 100644 arch/powerpc/configs/mpc86xx_defconfig

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 96efd82..1a0ee01 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -310,6 +310,16 @@ corenet64_smp_defconfig:
$(call merge_into_defconfig,corenet_basic_defconfig,\
85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw)
 
+PHONY += mpc86xx_defconfig
+mpc86xx_defconfig:
+   $(call merge_into_defconfig,mpc86xx_basic_defconfig,\
+   86xx-hw fsl-emb-nonhw)
+
+PHONY += mpc86xx_smp_defconfig
+mpc86xx_smp_defconfig:
+   $(call merge_into_defconfig,mpc86xx_basic_defconfig,\
+   86xx-smp 86xx-hw fsl-emb-nonhw)
+
 define archhelp
   @echo '* zImage  - Build default images selected by kernel config'
   @echo '  zImage.*- Compressed kernel image 
(arch/$(ARCH)/boot/zImage.*)'
diff --git a/arch/powerpc/configs/86xx-hw.config 
b/arch/powerpc/configs/86xx-hw.config
new file mode 100644
index 000..1011584
--- /dev/null
+++ b/arch/powerpc/configs/86xx-hw.config
@@ -0,0 +1,106 @@
+CONFIG_ATA=y
+CONFIG_BLK_DEV_IDECS=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=y
+CONFIG_BROADCOM_PHY=y
+# CONFIG_CARDBUS is not set
+CONFIG_CHR_DEV_SG=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_DS1682=y
+CONFIG_EEPROM_LEGACY=y
+CONFIG_GEF_WDT=y
+CONFIG_GIANFAR=y
+CONFIG_GPIO_GE_FPGA=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_HID_A4TECH=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_EZKEY=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_LOGITECH=y
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MONTEREY=y
+CONFIG_HID_PANTHERLORD=y
+CONFIG_HID_PETALYNX=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SUNPLUS=y
+CONFIG_HW_RANDOM=y
+CONFIG_HZ_1000=y
+CONFIG_I2C_MPC=y
+CONFIG_I2C=y
+CONFIG_IDE=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_LE_BYTE_SWAP=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_NAND_FSL_ELBC=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_TULIP=y
+CONFIG_NVRAM=y
+CONFIG_PATA_ALI=y
+CONFIG_PCCARD=y
+CONFIG_PCI_DEBUG=y
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCI=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+# CONFIG_PPC_CHRP is not set
+# CONFIG_PPC_PMAC is not set
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_RX8581=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_SATA_SIL=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SENSORS_LM90=y
+CONFIG_SENSORS_LM92=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SND_INTEL8X0=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND=y
+CONFIG_SOUND=y
+CONFIG_ULI526X=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_MON=y
+CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB=y
+CONFIG_VITESSE_PHY=y
+CONFIG_VME_BUS=y
+CONFIG_VME_TSI148=y
+CONFIG_WATCHDOG=y

[PATCH v3 1/1] powerpc/86xx: Consolidate common platform code

2016-02-11 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
v2 -> v3
Use isync() as suggested by Denis Kirjanov

v1 -> v2
Use appropriate [PATCH] prefix

 arch/powerpc/platforms/86xx/Makefile   |  2 +-
 arch/powerpc/platforms/86xx/common.c   | 43 ++
 arch/powerpc/platforms/86xx/gef_ppc9a.c| 32 +-
 arch/powerpc/platforms/86xx/gef_sbc310.c   | 32 +-
 arch/powerpc/platforms/86xx/gef_sbc610.c   | 32 +-
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c | 20 ++
 arch/powerpc/platforms/86xx/mpc86xx.h  |  2 ++
 arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 21 +--
 arch/powerpc/platforms/86xx/sbc8641d.c | 32 +-
 9 files changed, 53 insertions(+), 163 deletions(-)
 create mode 100644 arch/powerpc/platforms/86xx/common.c

diff --git a/arch/powerpc/platforms/86xx/Makefile 
b/arch/powerpc/platforms/86xx/Makefile
index ede815d..2d889ad 100644
--- a/arch/powerpc/platforms/86xx/Makefile
+++ b/arch/powerpc/platforms/86xx/Makefile
@@ -2,7 +2,7 @@
 # Makefile for the PowerPC 86xx linux kernel.
 #
 
-obj-y  := pic.o
+obj-y  := pic.o common.o
 obj-$(CONFIG_SMP)  += mpc86xx_smp.o
 obj-$(CONFIG_MPC8641_HPCN) += mpc86xx_hpcn.o
 obj-$(CONFIG_SBC8641D) += sbc8641d.o
diff --git a/arch/powerpc/platforms/86xx/common.c 
b/arch/powerpc/platforms/86xx/common.c
new file mode 100644
index 000..0f7b7fc
--- /dev/null
+++ b/arch/powerpc/platforms/86xx/common.c
@@ -0,0 +1,43 @@
+/*
+ * Routines common to most mpc86xx-based boards.
+ *
+ * This 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 
+#include 
+
+#include "mpc86xx.h"
+
+static const struct of_device_id mpc86xx_common_ids[] __initconst = {
+   { .type = "soc", },
+   { .compatible = "soc", },
+   { .compatible = "simple-bus", },
+   { .name = "localbus", },
+   { .compatible = "gianfar", },
+   { .compatible = "fsl,mpc8641-pcie", },
+   {},
+};
+
+int __init mpc86xx_common_publish_devices(void)
+{
+   return of_platform_bus_probe(NULL, mpc86xx_common_ids, NULL);
+}
+
+long __init mpc86xx_time_init(void)
+{
+   unsigned int temp;
+
+   /* Set the time base to zero */
+   mtspr(SPRN_TBWL, 0);
+   mtspr(SPRN_TBWU, 0);
+
+   temp = mfspr(SPRN_HID0);
+   temp |= HID0_TBEN;
+   mtspr(SPRN_HID0, temp);
+   isync();
+
+   return 0;
+}
diff --git a/arch/powerpc/platforms/86xx/gef_ppc9a.c 
b/arch/powerpc/platforms/86xx/gef_ppc9a.c
index bf17933..8e63b75 100644
--- a/arch/powerpc/platforms/86xx/gef_ppc9a.c
+++ b/arch/powerpc/platforms/86xx/gef_ppc9a.c
@@ -197,37 +197,7 @@ static int __init gef_ppc9a_probe(void)
return 0;
 }
 
-static long __init mpc86xx_time_init(void)
-{
-   unsigned int temp;
-
-   /* Set the time base to zero */
-   mtspr(SPRN_TBWL, 0);
-   mtspr(SPRN_TBWU, 0);
-
-   temp = mfspr(SPRN_HID0);
-   temp |= HID0_TBEN;
-   mtspr(SPRN_HID0, temp);
-   asm volatile("isync");
-
-   return 0;
-}
-
-static const struct of_device_id of_bus_ids[] __initconst = {
-   { .compatible = "simple-bus", },
-   { .compatible = "gianfar", },
-   { .compatible = "fsl,mpc8641-pcie", },
-   {},
-};
-
-static int __init declare_of_platform_devices(void)
-{
-   printk(KERN_DEBUG "Probe platform devices\n");
-   of_platform_bus_probe(NULL, of_bus_ids, NULL);
-
-   return 0;
-}
-machine_arch_initcall(gef_ppc9a, declare_of_platform_devices);
+machine_arch_initcall(gef_ppc9a, mpc86xx_common_publish_devices);
 
 define_machine(gef_ppc9a) {
.name   = "GE PPC9A",
diff --git a/arch/powerpc/platforms/86xx/gef_sbc310.c 
b/arch/powerpc/platforms/86xx/gef_sbc310.c
index 8facf58..0e0be94 100644
--- a/arch/powerpc/platforms/86xx/gef_sbc310.c
+++ b/arch/powerpc/platforms/86xx/gef_sbc310.c
@@ -184,37 +184,7 @@ static int __init gef_sbc310_probe(void)
return 0;
 }
 
-static long __init mpc86xx_time_init(void)
-{
-   unsigned int temp;
-
-   /* Set the time base to zero */
-   mtspr(SPRN_TBWL, 0);
-   mtspr(SPRN_TBWU, 0);
-
-   temp = mfspr(SPRN_HID0);
-   temp |= HID0_TBEN;
-   mtspr(SPRN_HID0, temp);
-   asm volatile("isync");
-
-   return 0;
-}
-
-static const struct of_device_id of_bus_ids[] __initconst = {
-   { .compatible = "simple-bus", },
-   { .compatible = "gianfar", },
-   { .compatible = "fsl,mpc8641-pcie", },
-   {},
-};
-
-static int __init declare_of_platform_devices(void)
-{
-   printk(KERN_DEBUG "Probe platform devices\

[PATCH v2 1/1] powerpc/86xx: Consolidate common platform code

2016-02-11 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
v1 -> v2
Use appropriate [PATCH] prefix

 arch/powerpc/platforms/86xx/Makefile   |  2 +-
 arch/powerpc/platforms/86xx/common.c   | 42 ++
 arch/powerpc/platforms/86xx/gef_ppc9a.c| 32 +--
 arch/powerpc/platforms/86xx/gef_sbc310.c   | 32 +--
 arch/powerpc/platforms/86xx/gef_sbc610.c   | 32 +--
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c | 20 ++
 arch/powerpc/platforms/86xx/mpc86xx.h  |  2 ++
 arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 21 +--
 arch/powerpc/platforms/86xx/sbc8641d.c | 32 +--
 9 files changed, 52 insertions(+), 163 deletions(-)
 create mode 100644 arch/powerpc/platforms/86xx/common.c

diff --git a/arch/powerpc/platforms/86xx/Makefile 
b/arch/powerpc/platforms/86xx/Makefile
index ede815d..2d889ad 100644
--- a/arch/powerpc/platforms/86xx/Makefile
+++ b/arch/powerpc/platforms/86xx/Makefile
@@ -2,7 +2,7 @@
 # Makefile for the PowerPC 86xx linux kernel.
 #
 
-obj-y  := pic.o
+obj-y  := pic.o common.o
 obj-$(CONFIG_SMP)  += mpc86xx_smp.o
 obj-$(CONFIG_MPC8641_HPCN) += mpc86xx_hpcn.o
 obj-$(CONFIG_SBC8641D) += sbc8641d.o
diff --git a/arch/powerpc/platforms/86xx/common.c 
b/arch/powerpc/platforms/86xx/common.c
new file mode 100644
index 000..bee3177
--- /dev/null
+++ b/arch/powerpc/platforms/86xx/common.c
@@ -0,0 +1,42 @@
+/*
+ * Routines common to most mpc86xx-based boards.
+ *
+ * This 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 
+
+#include "mpc86xx.h"
+
+static const struct of_device_id mpc86xx_common_ids[] __initconst = {
+   { .type = "soc", },
+   { .compatible = "soc", },
+   { .compatible = "simple-bus", },
+   { .name = "localbus", },
+   { .compatible = "gianfar", },
+   { .compatible = "fsl,mpc8641-pcie", },
+   {},
+};
+
+int __init mpc86xx_common_publish_devices(void)
+{
+   return of_platform_bus_probe(NULL, mpc86xx_common_ids, NULL);
+}
+
+long __init mpc86xx_time_init(void)
+{
+   unsigned int temp;
+
+   /* Set the time base to zero */
+   mtspr(SPRN_TBWL, 0);
+   mtspr(SPRN_TBWU, 0);
+
+   temp = mfspr(SPRN_HID0);
+   temp |= HID0_TBEN;
+   mtspr(SPRN_HID0, temp);
+   asm volatile("isync");
+
+   return 0;
+}
diff --git a/arch/powerpc/platforms/86xx/gef_ppc9a.c 
b/arch/powerpc/platforms/86xx/gef_ppc9a.c
index bf17933..8e63b75 100644
--- a/arch/powerpc/platforms/86xx/gef_ppc9a.c
+++ b/arch/powerpc/platforms/86xx/gef_ppc9a.c
@@ -197,37 +197,7 @@ static int __init gef_ppc9a_probe(void)
return 0;
 }
 
-static long __init mpc86xx_time_init(void)
-{
-   unsigned int temp;
-
-   /* Set the time base to zero */
-   mtspr(SPRN_TBWL, 0);
-   mtspr(SPRN_TBWU, 0);
-
-   temp = mfspr(SPRN_HID0);
-   temp |= HID0_TBEN;
-   mtspr(SPRN_HID0, temp);
-   asm volatile("isync");
-
-   return 0;
-}
-
-static const struct of_device_id of_bus_ids[] __initconst = {
-   { .compatible = "simple-bus", },
-   { .compatible = "gianfar", },
-   { .compatible = "fsl,mpc8641-pcie", },
-   {},
-};
-
-static int __init declare_of_platform_devices(void)
-{
-   printk(KERN_DEBUG "Probe platform devices\n");
-   of_platform_bus_probe(NULL, of_bus_ids, NULL);
-
-   return 0;
-}
-machine_arch_initcall(gef_ppc9a, declare_of_platform_devices);
+machine_arch_initcall(gef_ppc9a, mpc86xx_common_publish_devices);
 
 define_machine(gef_ppc9a) {
.name   = "GE PPC9A",
diff --git a/arch/powerpc/platforms/86xx/gef_sbc310.c 
b/arch/powerpc/platforms/86xx/gef_sbc310.c
index 8facf58..0e0be94 100644
--- a/arch/powerpc/platforms/86xx/gef_sbc310.c
+++ b/arch/powerpc/platforms/86xx/gef_sbc310.c
@@ -184,37 +184,7 @@ static int __init gef_sbc310_probe(void)
return 0;
 }
 
-static long __init mpc86xx_time_init(void)
-{
-   unsigned int temp;
-
-   /* Set the time base to zero */
-   mtspr(SPRN_TBWL, 0);
-   mtspr(SPRN_TBWU, 0);
-
-   temp = mfspr(SPRN_HID0);
-   temp |= HID0_TBEN;
-   mtspr(SPRN_HID0, temp);
-   asm volatile("isync");
-
-   return 0;
-}
-
-static const struct of_device_id of_bus_ids[] __initconst = {
-   { .compatible = "simple-bus", },
-   { .compatible = "gianfar", },
-   { .compatible = "fsl,mpc8641-pcie", },
-   {},
-};
-
-static int __init declare_of_platform_devices(void)
-{
-   printk(KERN_DEBUG "Probe platform devices\n");
-   of_platform_bus_probe(NULL, of_bus_ids, NULL);
-
- 

[PATCH v2 1/1] powerpc/86xx: Consolidate common platform code

2016-02-11 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
v1 -> v2
Use appropriate [PATCH] prefix

 arch/powerpc/platforms/86xx/Makefile   |  2 +-
 arch/powerpc/platforms/86xx/common.c   | 42 ++
 arch/powerpc/platforms/86xx/gef_ppc9a.c| 32 +--
 arch/powerpc/platforms/86xx/gef_sbc310.c   | 32 +--
 arch/powerpc/platforms/86xx/gef_sbc610.c   | 32 +--
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c | 20 ++
 arch/powerpc/platforms/86xx/mpc86xx.h  |  2 ++
 arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 21 +--
 arch/powerpc/platforms/86xx/sbc8641d.c | 32 +--
 9 files changed, 52 insertions(+), 163 deletions(-)
 create mode 100644 arch/powerpc/platforms/86xx/common.c

diff --git a/arch/powerpc/platforms/86xx/Makefile 
b/arch/powerpc/platforms/86xx/Makefile
index ede815d..2d889ad 100644
--- a/arch/powerpc/platforms/86xx/Makefile
+++ b/arch/powerpc/platforms/86xx/Makefile
@@ -2,7 +2,7 @@
 # Makefile for the PowerPC 86xx linux kernel.
 #
 
-obj-y  := pic.o
+obj-y  := pic.o common.o
 obj-$(CONFIG_SMP)  += mpc86xx_smp.o
 obj-$(CONFIG_MPC8641_HPCN) += mpc86xx_hpcn.o
 obj-$(CONFIG_SBC8641D) += sbc8641d.o
diff --git a/arch/powerpc/platforms/86xx/common.c 
b/arch/powerpc/platforms/86xx/common.c
new file mode 100644
index 000..bee3177
--- /dev/null
+++ b/arch/powerpc/platforms/86xx/common.c
@@ -0,0 +1,42 @@
+/*
+ * Routines common to most mpc86xx-based boards.
+ *
+ * This 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 
+
+#include "mpc86xx.h"
+
+static const struct of_device_id mpc86xx_common_ids[] __initconst = {
+   { .type = "soc", },
+   { .compatible = "soc", },
+   { .compatible = "simple-bus", },
+   { .name = "localbus", },
+   { .compatible = "gianfar", },
+   { .compatible = "fsl,mpc8641-pcie", },
+   {},
+};
+
+int __init mpc86xx_common_publish_devices(void)
+{
+   return of_platform_bus_probe(NULL, mpc86xx_common_ids, NULL);
+}
+
+long __init mpc86xx_time_init(void)
+{
+   unsigned int temp;
+
+   /* Set the time base to zero */
+   mtspr(SPRN_TBWL, 0);
+   mtspr(SPRN_TBWU, 0);
+
+   temp = mfspr(SPRN_HID0);
+   temp |= HID0_TBEN;
+   mtspr(SPRN_HID0, temp);
+   asm volatile("isync");
+
+   return 0;
+}
diff --git a/arch/powerpc/platforms/86xx/gef_ppc9a.c 
b/arch/powerpc/platforms/86xx/gef_ppc9a.c
index bf17933..8e63b75 100644
--- a/arch/powerpc/platforms/86xx/gef_ppc9a.c
+++ b/arch/powerpc/platforms/86xx/gef_ppc9a.c
@@ -197,37 +197,7 @@ static int __init gef_ppc9a_probe(void)
return 0;
 }
 
-static long __init mpc86xx_time_init(void)
-{
-   unsigned int temp;
-
-   /* Set the time base to zero */
-   mtspr(SPRN_TBWL, 0);
-   mtspr(SPRN_TBWU, 0);
-
-   temp = mfspr(SPRN_HID0);
-   temp |= HID0_TBEN;
-   mtspr(SPRN_HID0, temp);
-   asm volatile("isync");
-
-   return 0;
-}
-
-static const struct of_device_id of_bus_ids[] __initconst = {
-   { .compatible = "simple-bus", },
-   { .compatible = "gianfar", },
-   { .compatible = "fsl,mpc8641-pcie", },
-   {},
-};
-
-static int __init declare_of_platform_devices(void)
-{
-   printk(KERN_DEBUG "Probe platform devices\n");
-   of_platform_bus_probe(NULL, of_bus_ids, NULL);
-
-   return 0;
-}
-machine_arch_initcall(gef_ppc9a, declare_of_platform_devices);
+machine_arch_initcall(gef_ppc9a, mpc86xx_common_publish_devices);
 
 define_machine(gef_ppc9a) {
.name   = "GE PPC9A",
diff --git a/arch/powerpc/platforms/86xx/gef_sbc310.c 
b/arch/powerpc/platforms/86xx/gef_sbc310.c
index 8facf58..0e0be94 100644
--- a/arch/powerpc/platforms/86xx/gef_sbc310.c
+++ b/arch/powerpc/platforms/86xx/gef_sbc310.c
@@ -184,37 +184,7 @@ static int __init gef_sbc310_probe(void)
return 0;
 }
 
-static long __init mpc86xx_time_init(void)
-{
-   unsigned int temp;
-
-   /* Set the time base to zero */
-   mtspr(SPRN_TBWL, 0);
-   mtspr(SPRN_TBWU, 0);
-
-   temp = mfspr(SPRN_HID0);
-   temp |= HID0_TBEN;
-   mtspr(SPRN_HID0, temp);
-   asm volatile("isync");
-
-   return 0;
-}
-
-static const struct of_device_id of_bus_ids[] __initconst = {
-   { .compatible = "simple-bus", },
-   { .compatible = "gianfar", },
-   { .compatible = "fsl,mpc8641-pcie", },
-   {},
-};
-
-static int __init declare_of_platform_devices(void)
-{
-   printk(KERN_DEBUG "Probe platform devices\n");
-   of_platform_bus_probe

[PATCH v3 1/1] powerpc/86xx: Consolidate common platform code

2016-02-11 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
v2 -> v3
Use isync() as suggested by Denis Kirjanov

v1 -> v2
Use appropriate [PATCH] prefix

 arch/powerpc/platforms/86xx/Makefile   |  2 +-
 arch/powerpc/platforms/86xx/common.c   | 43 ++
 arch/powerpc/platforms/86xx/gef_ppc9a.c| 32 +-
 arch/powerpc/platforms/86xx/gef_sbc310.c   | 32 +-
 arch/powerpc/platforms/86xx/gef_sbc610.c   | 32 +-
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c | 20 ++
 arch/powerpc/platforms/86xx/mpc86xx.h  |  2 ++
 arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 21 +--
 arch/powerpc/platforms/86xx/sbc8641d.c | 32 +-
 9 files changed, 53 insertions(+), 163 deletions(-)
 create mode 100644 arch/powerpc/platforms/86xx/common.c

diff --git a/arch/powerpc/platforms/86xx/Makefile 
b/arch/powerpc/platforms/86xx/Makefile
index ede815d..2d889ad 100644
--- a/arch/powerpc/platforms/86xx/Makefile
+++ b/arch/powerpc/platforms/86xx/Makefile
@@ -2,7 +2,7 @@
 # Makefile for the PowerPC 86xx linux kernel.
 #
 
-obj-y  := pic.o
+obj-y  := pic.o common.o
 obj-$(CONFIG_SMP)  += mpc86xx_smp.o
 obj-$(CONFIG_MPC8641_HPCN) += mpc86xx_hpcn.o
 obj-$(CONFIG_SBC8641D) += sbc8641d.o
diff --git a/arch/powerpc/platforms/86xx/common.c 
b/arch/powerpc/platforms/86xx/common.c
new file mode 100644
index 000..0f7b7fc
--- /dev/null
+++ b/arch/powerpc/platforms/86xx/common.c
@@ -0,0 +1,43 @@
+/*
+ * Routines common to most mpc86xx-based boards.
+ *
+ * This 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 
+#include 
+
+#include "mpc86xx.h"
+
+static const struct of_device_id mpc86xx_common_ids[] __initconst = {
+   { .type = "soc", },
+   { .compatible = "soc", },
+   { .compatible = "simple-bus", },
+   { .name = "localbus", },
+   { .compatible = "gianfar", },
+   { .compatible = "fsl,mpc8641-pcie", },
+   {},
+};
+
+int __init mpc86xx_common_publish_devices(void)
+{
+   return of_platform_bus_probe(NULL, mpc86xx_common_ids, NULL);
+}
+
+long __init mpc86xx_time_init(void)
+{
+   unsigned int temp;
+
+   /* Set the time base to zero */
+   mtspr(SPRN_TBWL, 0);
+   mtspr(SPRN_TBWU, 0);
+
+   temp = mfspr(SPRN_HID0);
+   temp |= HID0_TBEN;
+   mtspr(SPRN_HID0, temp);
+   isync();
+
+   return 0;
+}
diff --git a/arch/powerpc/platforms/86xx/gef_ppc9a.c 
b/arch/powerpc/platforms/86xx/gef_ppc9a.c
index bf17933..8e63b75 100644
--- a/arch/powerpc/platforms/86xx/gef_ppc9a.c
+++ b/arch/powerpc/platforms/86xx/gef_ppc9a.c
@@ -197,37 +197,7 @@ static int __init gef_ppc9a_probe(void)
return 0;
 }
 
-static long __init mpc86xx_time_init(void)
-{
-   unsigned int temp;
-
-   /* Set the time base to zero */
-   mtspr(SPRN_TBWL, 0);
-   mtspr(SPRN_TBWU, 0);
-
-   temp = mfspr(SPRN_HID0);
-   temp |= HID0_TBEN;
-   mtspr(SPRN_HID0, temp);
-   asm volatile("isync");
-
-   return 0;
-}
-
-static const struct of_device_id of_bus_ids[] __initconst = {
-   { .compatible = "simple-bus", },
-   { .compatible = "gianfar", },
-   { .compatible = "fsl,mpc8641-pcie", },
-   {},
-};
-
-static int __init declare_of_platform_devices(void)
-{
-   printk(KERN_DEBUG "Probe platform devices\n");
-   of_platform_bus_probe(NULL, of_bus_ids, NULL);
-
-   return 0;
-}
-machine_arch_initcall(gef_ppc9a, declare_of_platform_devices);
+machine_arch_initcall(gef_ppc9a, mpc86xx_common_publish_devices);
 
 define_machine(gef_ppc9a) {
.name   = "GE PPC9A",
diff --git a/arch/powerpc/platforms/86xx/gef_sbc310.c 
b/arch/powerpc/platforms/86xx/gef_sbc310.c
index 8facf58..0e0be94 100644
--- a/arch/powerpc/platforms/86xx/gef_sbc310.c
+++ b/arch/powerpc/platforms/86xx/gef_sbc310.c
@@ -184,37 +184,7 @@ static int __init gef_sbc310_probe(void)
return 0;
 }
 
-static long __init mpc86xx_time_init(void)
-{
-   unsigned int temp;
-
-   /* Set the time base to zero */
-   mtspr(SPRN_TBWL, 0);
-   mtspr(SPRN_TBWU, 0);
-
-   temp = mfspr(SPRN_HID0);
-   temp |= HID0_TBEN;
-   mtspr(SPRN_HID0, temp);
-   asm volatile("isync");
-
-   return 0;
-}
-
-static const struct of_device_id of_bus_ids[] __initconst = {
-   { .compatible = "simple-bus", },
-   { .compatible = "gianfar", },
-   { .compatible = "fsl,mpc8641-pcie", },
-   {},
-};
-
-static int __init declare_of_platform_devices(void)
-{
-   printk(KERN_DEBUG "Probe platform de

powerpc/86xx: Use config fragments approach

2016-02-10 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
 arch/powerpc/Makefile|  10 +
 arch/powerpc/configs/86xx-32bit.config   |   4 +
 arch/powerpc/configs/86xx-hw.config  | 106 +
 arch/powerpc/configs/86xx-smp.config |   2 +
 arch/powerpc/configs/86xx/gef_ppc9a_defconfig| 216 --
 arch/powerpc/configs/86xx/gef_sbc310_defconfig   | 214 --
 arch/powerpc/configs/86xx/gef_sbc610_defconfig   | 273 ---
 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 110 -
 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | 156 -
 arch/powerpc/configs/86xx/sbc8641d_defconfig | 246 
 arch/powerpc/configs/mpc86xx_basic_defconfig |   6 +
 arch/powerpc/configs/mpc86xx_defconfig   | 162 --
 12 files changed, 128 insertions(+), 1377 deletions(-)
 create mode 100644 arch/powerpc/configs/86xx-32bit.config
 create mode 100644 arch/powerpc/configs/86xx-hw.config
 create mode 100644 arch/powerpc/configs/86xx-smp.config
 delete mode 100644 arch/powerpc/configs/86xx/gef_ppc9a_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/gef_sbc310_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/gef_sbc610_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/sbc8641d_defconfig
 create mode 100644 arch/powerpc/configs/mpc86xx_basic_defconfig
 delete mode 100644 arch/powerpc/configs/mpc86xx_defconfig

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 96efd82..7976d2a 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -310,6 +310,16 @@ corenet64_smp_defconfig:
$(call merge_into_defconfig,corenet_basic_defconfig,\
85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw)
 
+PHONY += mpc86xx_defconfig
+mpc86xx_defconfig:
+   $(call merge_into_defconfig,mpc86xx_basic_defconfig,\
+   86xx-32bit 86xx-hw fsl-emb-nonhw)
+
+PHONY += mpc86xx_smp_defconfig
+mpc86xx_smp_defconfig:
+   $(call merge_into_defconfig,mpc86xx_basic_defconfig,\
+   86xx-32bit 86xx-smp 86xx-hw fsl-emb-nonhw)
+
 define archhelp
   @echo '* zImage  - Build default images selected by kernel config'
   @echo '  zImage.*- Compressed kernel image 
(arch/$(ARCH)/boot/zImage.*)'
diff --git a/arch/powerpc/configs/86xx-32bit.config 
b/arch/powerpc/configs/86xx-32bit.config
new file mode 100644
index 000..8a2c6ff
--- /dev/null
+++ b/arch/powerpc/configs/86xx-32bit.config
@@ -0,0 +1,4 @@
+CONFIG_HIGHMEM=y
+CONFIG_KEXEC=y
+CONFIG_PPC_86xx=y
+CONFIG_PROC_KCORE=y
diff --git a/arch/powerpc/configs/86xx-hw.config 
b/arch/powerpc/configs/86xx-hw.config
new file mode 100644
index 000..1011584
--- /dev/null
+++ b/arch/powerpc/configs/86xx-hw.config
@@ -0,0 +1,106 @@
+CONFIG_ATA=y
+CONFIG_BLK_DEV_IDECS=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=y
+CONFIG_BROADCOM_PHY=y
+# CONFIG_CARDBUS is not set
+CONFIG_CHR_DEV_SG=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_DS1682=y
+CONFIG_EEPROM_LEGACY=y
+CONFIG_GEF_WDT=y
+CONFIG_GIANFAR=y
+CONFIG_GPIO_GE_FPGA=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_HID_A4TECH=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_EZKEY=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_LOGITECH=y
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MONTEREY=y
+CONFIG_HID_PANTHERLORD=y
+CONFIG_HID_PETALYNX=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SUNPLUS=y
+CONFIG_HW_RANDOM=y
+CONFIG_HZ_1000=y
+CONFIG_I2C_MPC=y
+CONFIG_I2C=y
+CONFIG_IDE=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_LE_BYTE_SWAP=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_NAND_FSL_ELBC=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_TULIP=y
+CONFIG_NVRAM=y
+CONFIG_PATA_ALI=y
+CONFIG_PCCARD=y
+CONFIG_PCI_DEBUG=y
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCI=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+# CONFIG_PPC_CHRP is not set
+# CONFIG_PPC_PMAC is not set
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_RX8581=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_SATA_SIL=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SENSORS_LM90=y
+CONFIG_SENSORS_LM92=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SND_INTEL8X0=y

powerpc/86xx: Use config fragments approach

2016-02-10 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <alessio.bog...@elettra.eu>
---
 arch/powerpc/Makefile|  10 +
 arch/powerpc/configs/86xx-32bit.config   |   4 +
 arch/powerpc/configs/86xx-hw.config  | 106 +
 arch/powerpc/configs/86xx-smp.config |   2 +
 arch/powerpc/configs/86xx/gef_ppc9a_defconfig| 216 --
 arch/powerpc/configs/86xx/gef_sbc310_defconfig   | 214 --
 arch/powerpc/configs/86xx/gef_sbc610_defconfig   | 273 ---
 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 110 -
 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | 156 -
 arch/powerpc/configs/86xx/sbc8641d_defconfig | 246 
 arch/powerpc/configs/mpc86xx_basic_defconfig |   6 +
 arch/powerpc/configs/mpc86xx_defconfig   | 162 --
 12 files changed, 128 insertions(+), 1377 deletions(-)
 create mode 100644 arch/powerpc/configs/86xx-32bit.config
 create mode 100644 arch/powerpc/configs/86xx-hw.config
 create mode 100644 arch/powerpc/configs/86xx-smp.config
 delete mode 100644 arch/powerpc/configs/86xx/gef_ppc9a_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/gef_sbc310_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/gef_sbc610_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
 delete mode 100644 arch/powerpc/configs/86xx/sbc8641d_defconfig
 create mode 100644 arch/powerpc/configs/mpc86xx_basic_defconfig
 delete mode 100644 arch/powerpc/configs/mpc86xx_defconfig

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 96efd82..7976d2a 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -310,6 +310,16 @@ corenet64_smp_defconfig:
$(call merge_into_defconfig,corenet_basic_defconfig,\
85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw)
 
+PHONY += mpc86xx_defconfig
+mpc86xx_defconfig:
+   $(call merge_into_defconfig,mpc86xx_basic_defconfig,\
+   86xx-32bit 86xx-hw fsl-emb-nonhw)
+
+PHONY += mpc86xx_smp_defconfig
+mpc86xx_smp_defconfig:
+   $(call merge_into_defconfig,mpc86xx_basic_defconfig,\
+   86xx-32bit 86xx-smp 86xx-hw fsl-emb-nonhw)
+
 define archhelp
   @echo '* zImage  - Build default images selected by kernel config'
   @echo '  zImage.*- Compressed kernel image 
(arch/$(ARCH)/boot/zImage.*)'
diff --git a/arch/powerpc/configs/86xx-32bit.config 
b/arch/powerpc/configs/86xx-32bit.config
new file mode 100644
index 000..8a2c6ff
--- /dev/null
+++ b/arch/powerpc/configs/86xx-32bit.config
@@ -0,0 +1,4 @@
+CONFIG_HIGHMEM=y
+CONFIG_KEXEC=y
+CONFIG_PPC_86xx=y
+CONFIG_PROC_KCORE=y
diff --git a/arch/powerpc/configs/86xx-hw.config 
b/arch/powerpc/configs/86xx-hw.config
new file mode 100644
index 000..1011584
--- /dev/null
+++ b/arch/powerpc/configs/86xx-hw.config
@@ -0,0 +1,106 @@
+CONFIG_ATA=y
+CONFIG_BLK_DEV_IDECS=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=y
+CONFIG_BROADCOM_PHY=y
+# CONFIG_CARDBUS is not set
+CONFIG_CHR_DEV_SG=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_DS1682=y
+CONFIG_EEPROM_LEGACY=y
+CONFIG_GEF_WDT=y
+CONFIG_GIANFAR=y
+CONFIG_GPIO_GE_FPGA=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_HID_A4TECH=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_EZKEY=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_LOGITECH=y
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MONTEREY=y
+CONFIG_HID_PANTHERLORD=y
+CONFIG_HID_PETALYNX=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SUNPLUS=y
+CONFIG_HW_RANDOM=y
+CONFIG_HZ_1000=y
+CONFIG_I2C_MPC=y
+CONFIG_I2C=y
+CONFIG_IDE=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_LE_BYTE_SWAP=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_NAND_FSL_ELBC=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_TULIP=y
+CONFIG_NVRAM=y
+CONFIG_PATA_ALI=y
+CONFIG_PCCARD=y
+CONFIG_PCI_DEBUG=y
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCI=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+# CONFIG_PPC_CHRP is not set
+# CONFIG_PPC_PMAC is not set
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_RX8581=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_SATA_SIL=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SENSORS_LM90=y
+CONFIG_SENSORS_LM92=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIO_LI

Re: [PATCHv5] staging: vme_user: provide DMA functionality

2015-10-19 Thread Alessio Igor Bogani
Hi,

On 19 October 2015 at 11:19, Dmitry Kalinkin  wrote:
[...]
> There is no optimal solution. In vanilla kernel you have just two drivers. You
> can either have 8 GE PIO2 boards or 4 GE PIO2 boards and any amount of boards
> potentially accessible through vme_user. None of this provides for the case
> when you have a crate with more than 8 GE PIO2 boards in it. Indeed, if you
> have built your little proprietary system around one or two drivers so it just
> fits using up all of the DMA resources and you somehow still need vme_user,
> this patch will surely break it for you. But if we really care about *all*
> users then there is no difference in how much resources are used by any 
> driver,
> there is always a setup for which they won’t be enough.
>> The number of VME windows is limited, so having a user space shim either hog 
>> or limit the number of resources available either in kernel space or user 
>> space is not an optimal solution.
> How vme_user is different from proprietary driver A to deserve such 
> discrimination?
> Would it be more optimal if proprietary driver A would take less resources 
> that
> could have otherwise been exposed to the userspace?
>
> I agree that due to the nature of vme_user it should have some knobs to tune
> it’s resource consumption, but I don’t think these should be some special ugly
> knobs that only a userspace driver gets. The solution could have been to use
> same kind of module params as in vme_pio2. But instead of implementing that, I
> spent my time unknowingly arguing over whether mainline kernel developers
> should be denied breaking certain proprietary systems lurking in the shadow of
> the VME subsystem. Wonderful.

IMHO VME stack should handle bus resources dynamically not matter from
where the requests come from (user-space or kernel-space).

Ciao,
Alessio
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv5] staging: vme_user: provide DMA functionality

2015-10-19 Thread Alessio Igor Bogani
Hi,

On 19 October 2015 at 00:04, Martyn Welch  wrote:
> On 18/10/15 18:53, Dmitry Kalinkin wrote:
[...]
>> Other drives meaning vme_pio, I don't see any others. All this time
>> we are discussing how many GE PIO boards one can plug into a crate
>> with or without vme_user. Most of people have zero of them.
>> Also, VME DMA API has no users in kernel, we are just adding one now.
>
>
> Unfortunately not all users of Linux upstream or even publicise their
> drivers. This is especially true of some industries where VME gets used. The
> number of VME windows is limited, so having a user space shim either hog or
> limit the number of resources available either in kernel space or user space
> is not an optimal solution.

We aren't an industry but we are exactly in that position: we have a
bunch of unpublished kernel driver for VME boards almost all built on
top of the customized old vmelinux.org stack.
We already tried to port a driver to current stack but we stuck on the
static resource management approach in particular for limited VME
windows (when the customization of the old stack was made for handle
VME windows dynamically).

Ciao,
Alessio
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv5] staging: vme_user: provide DMA functionality

2015-10-19 Thread Alessio Igor Bogani
Hi,

On 19 October 2015 at 11:19, Dmitry Kalinkin  wrote:
[...]
> There is no optimal solution. In vanilla kernel you have just two drivers. You
> can either have 8 GE PIO2 boards or 4 GE PIO2 boards and any amount of boards
> potentially accessible through vme_user. None of this provides for the case
> when you have a crate with more than 8 GE PIO2 boards in it. Indeed, if you
> have built your little proprietary system around one or two drivers so it just
> fits using up all of the DMA resources and you somehow still need vme_user,
> this patch will surely break it for you. But if we really care about *all*
> users then there is no difference in how much resources are used by any 
> driver,
> there is always a setup for which they won’t be enough.
>> The number of VME windows is limited, so having a user space shim either hog 
>> or limit the number of resources available either in kernel space or user 
>> space is not an optimal solution.
> How vme_user is different from proprietary driver A to deserve such 
> discrimination?
> Would it be more optimal if proprietary driver A would take less resources 
> that
> could have otherwise been exposed to the userspace?
>
> I agree that due to the nature of vme_user it should have some knobs to tune
> it’s resource consumption, but I don’t think these should be some special ugly
> knobs that only a userspace driver gets. The solution could have been to use
> same kind of module params as in vme_pio2. But instead of implementing that, I
> spent my time unknowingly arguing over whether mainline kernel developers
> should be denied breaking certain proprietary systems lurking in the shadow of
> the VME subsystem. Wonderful.

IMHO VME stack should handle bus resources dynamically not matter from
where the requests come from (user-space or kernel-space).

Ciao,
Alessio
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv5] staging: vme_user: provide DMA functionality

2015-10-19 Thread Alessio Igor Bogani
Hi,

On 19 October 2015 at 00:04, Martyn Welch  wrote:
> On 18/10/15 18:53, Dmitry Kalinkin wrote:
[...]
>> Other drives meaning vme_pio, I don't see any others. All this time
>> we are discussing how many GE PIO boards one can plug into a crate
>> with or without vme_user. Most of people have zero of them.
>> Also, VME DMA API has no users in kernel, we are just adding one now.
>
>
> Unfortunately not all users of Linux upstream or even publicise their
> drivers. This is especially true of some industries where VME gets used. The
> number of VME windows is limited, so having a user space shim either hog or
> limit the number of resources available either in kernel space or user space
> is not an optimal solution.

We aren't an industry but we are exactly in that position: we have a
bunch of unpublished kernel driver for VME boards almost all built on
top of the customized old vmelinux.org stack.
We already tried to port a driver to current stack but we stuck on the
static resource management approach in particular for limited VME
windows (when the customization of the old stack was made for handle
VME windows dynamically).

Ciao,
Alessio
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv3 08/16] staging: vme_user: provide DMA functionality

2015-07-07 Thread Alessio Igor Bogani
Hi Dmitry,

On 7 July 2015 at 12:47, Dmitry Kalinkin  wrote:
[...]
> The API I had in mind would have only vme_master_read and vme_master_write
> that would take absolute addresses (not relative to any window). These
> variants
> of access functions would then try to reuse any window that is already able
> to serve
> the request or wait for a free window and reconfigure it for the need of the
> request.
> After usage the window is to be returned back to the window pool.

Interesting approach.

> Other way to implement these would be to use DMA for everything, since it
> doesn’t
> have the limitations that the windows have.


> On 07 Jul 2015, at 10:08, Alessio Igor Bogani 
> wrote:
[...]
>> In fact this is a big obstacle for adoption of this VME stack (at least for
>> us). We use VME a lot and we care about latency as well so we use only
>> kernel-space drivers for ours VME boards but unfortunately the VME stack let
>> us to link a single board with a single window/image (so max 8 boards on
>> tsi148) only. That said that stack has proven to be very rock solid.
>
> Current VME stack links windows not to the boards, but to device drivers.
> Driver
> could potentially minimise window usage within it’s scope (any sort of
> window
> reusing, like mapping whole A16 once to be used with all boards), but this
> won’t
> work across multiple drivers. Even if all of your drivers are window-wise
> economic,
> they will still need some amount of windows per each driver. Not that we
> have that
> many kernel drivers...

Yes you can share a window/image between all boards of the same type
(in effect we are porting our drivers in this way) *but* it isn't the
expected way to work (see Documentation/vme_api.txt struct
vme_driver's probe() and match() functions and the GE PIO2 VME
driver).

Ciao,
Alessio
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv3 08/16] staging: vme_user: provide DMA functionality

2015-07-07 Thread Alessio Igor Bogani
Hi Dmitry,

On 6 July 2015 at 19:24, Dmitry Kalinkin  wrote:
[...]
>
> I'm not a VME expert, but it seems that VME windows are a quiet limited 
> resource
> no matter how you allocate your resources. Theoretically we could put up to 32
> different boards in a single crate, so there won't be enough windows for each
> driver to allocate. That said, there is no way around this when putting 
> together
> a really heterogeneous VME system. To overcome such problem, one could
> develop a different kernel API that would not provide windows to the
> drivers, but
> handle reads and writes by reconfiguring windows on the fly, which in turn 
> would
> introduce more latency.

In my humble opinion using user-space drivers (as workaround for
limited windows/images) introduce more latency than let VME driver
dynamically configure windows/images. After all VME systems usually
aren't so much dynamic by its nature (Who likes continuously put in
and out a board which requires an insertion force between 20 and 50
kg?) and are instead heavily used in critical contexts often in
non-stop way.

In fact this is a big obstacle for adoption of this VME stack (at
least for us). We use VME a lot and we care about latency as well so
we use only kernel-space drivers for ours VME boards but unfortunately
the VME stack let us to link a single board with a single window/image
(so max 8 boards on tsi148) only. That said that stack has proven to
be very rock solid.

Until now we have used a modified version of the old vmelinux.org
stack for sharing windows/images between all (ours) VME kernel drivers
and we would be very happy to see something similar in vanilla (at
least coalescence two adjacent addresses with same modifiers).

> Those who need such API are welcome to develop it :)

I would be glad to try it if the maintainer is willing to receive this
type of changes.

Ciao,
Alessio
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv3 08/16] staging: vme_user: provide DMA functionality

2015-07-07 Thread Alessio Igor Bogani
Hi Dmitry,

On 6 July 2015 at 19:24, Dmitry Kalinkin dmitry.kalin...@gmail.com wrote:
[...]

 I'm not a VME expert, but it seems that VME windows are a quiet limited 
 resource
 no matter how you allocate your resources. Theoretically we could put up to 32
 different boards in a single crate, so there won't be enough windows for each
 driver to allocate. That said, there is no way around this when putting 
 together
 a really heterogeneous VME system. To overcome such problem, one could
 develop a different kernel API that would not provide windows to the
 drivers, but
 handle reads and writes by reconfiguring windows on the fly, which in turn 
 would
 introduce more latency.

In my humble opinion using user-space drivers (as workaround for
limited windows/images) introduce more latency than let VME driver
dynamically configure windows/images. After all VME systems usually
aren't so much dynamic by its nature (Who likes continuously put in
and out a board which requires an insertion force between 20 and 50
kg?) and are instead heavily used in critical contexts often in
non-stop way.

In fact this is a big obstacle for adoption of this VME stack (at
least for us). We use VME a lot and we care about latency as well so
we use only kernel-space drivers for ours VME boards but unfortunately
the VME stack let us to link a single board with a single window/image
(so max 8 boards on tsi148) only. That said that stack has proven to
be very rock solid.

Until now we have used a modified version of the old vmelinux.org
stack for sharing windows/images between all (ours) VME kernel drivers
and we would be very happy to see something similar in vanilla (at
least coalescence two adjacent addresses with same modifiers).

 Those who need such API are welcome to develop it :)

I would be glad to try it if the maintainer is willing to receive this
type of changes.

Ciao,
Alessio
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv3 08/16] staging: vme_user: provide DMA functionality

2015-07-07 Thread Alessio Igor Bogani
Hi Dmitry,

On 7 July 2015 at 12:47, Dmitry Kalinkin dmitry.kalin...@gmail.com wrote:
[...]
 The API I had in mind would have only vme_master_read and vme_master_write
 that would take absolute addresses (not relative to any window). These
 variants
 of access functions would then try to reuse any window that is already able
 to serve
 the request or wait for a free window and reconfigure it for the need of the
 request.
 After usage the window is to be returned back to the window pool.

Interesting approach.

 Other way to implement these would be to use DMA for everything, since it
 doesn’t
 have the limitations that the windows have.


 On 07 Jul 2015, at 10:08, Alessio Igor Bogani alessioigorbog...@gmail.com
 wrote:
[...]
 In fact this is a big obstacle for adoption of this VME stack (at least for
 us). We use VME a lot and we care about latency as well so we use only
 kernel-space drivers for ours VME boards but unfortunately the VME stack let
 us to link a single board with a single window/image (so max 8 boards on
 tsi148) only. That said that stack has proven to be very rock solid.

 Current VME stack links windows not to the boards, but to device drivers.
 Driver
 could potentially minimise window usage within it’s scope (any sort of
 window
 reusing, like mapping whole A16 once to be used with all boards), but this
 won’t
 work across multiple drivers. Even if all of your drivers are window-wise
 economic,
 they will still need some amount of windows per each driver. Not that we
 have that
 many kernel drivers...

Yes you can share a window/image between all boards of the same type
(in effect we are porting our drivers in this way) *but* it isn't the
expected way to work (see Documentation/vme_api.txt struct
vme_driver's probe() and match() functions and the GE PIO2 VME
driver).

Ciao,
Alessio
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] net: phy: broadcom: Add BCM54616S phy entry

2015-04-08 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
This phy is used in the MVME2500 powerpc system
(arch/powerpc/boot/dts/mvme2500.dts)

 drivers/net/phy/Kconfig|  4 ++--
 drivers/net/phy/broadcom.c | 14 ++
 include/linux/brcmphy.h|  1 +
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 16adbc4..8fadaa1 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -68,8 +68,8 @@ config SMSC_PHY
 config BROADCOM_PHY
tristate "Drivers for Broadcom PHYs"
---help---
- Currently supports the BCM5411, BCM5421, BCM5461, BCM5464, BCM5481
- and BCM5482 PHYs.
+ Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
+ BCM5481 and BCM5482 PHYs.
 
 config BCM63XX_PHY
tristate "Drivers for Broadcom 63xx SOCs internal PHY"
diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index a52afb2..9c71295 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -549,6 +549,19 @@ static struct phy_driver broadcom_drivers[] = {
.config_intr= bcm54xx_config_intr,
.driver = { .owner = THIS_MODULE },
 }, {
+   .phy_id = PHY_ID_BCM54616S,
+   .phy_id_mask= 0xfff0,
+   .name   = "Broadcom BCM54616S",
+   .features   = PHY_GBIT_FEATURES |
+ SUPPORTED_Pause | SUPPORTED_Asym_Pause,
+   .flags  = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
+   .config_init= bcm54xx_config_init,
+   .config_aneg= genphy_config_aneg,
+   .read_status= genphy_read_status,
+   .ack_interrupt  = bcm54xx_ack_interrupt,
+   .config_intr= bcm54xx_config_intr,
+   .driver = { .owner = THIS_MODULE },
+}, {
.phy_id = PHY_ID_BCM5464,
.phy_id_mask= 0xfff0,
.name   = "Broadcom BCM5464",
@@ -660,6 +673,7 @@ static struct mdio_device_id __maybe_unused broadcom_tbl[] 
= {
{ PHY_ID_BCM5411, 0xfff0 },
{ PHY_ID_BCM5421, 0xfff0 },
{ PHY_ID_BCM5461, 0xfff0 },
+   { PHY_ID_BCM54616S, 0xfff0 },
{ PHY_ID_BCM5464, 0xfff0 },
{ PHY_ID_BCM5482, 0xfff0 },
{ PHY_ID_BCM5482, 0xfff0 },
diff --git a/include/linux/brcmphy.h b/include/linux/brcmphy.h
index 7ccd928..1c9920b 100644
--- a/include/linux/brcmphy.h
+++ b/include/linux/brcmphy.h
@@ -11,6 +11,7 @@
 #define PHY_ID_BCM5421 0x002060e0
 #define PHY_ID_BCM5464 0x002060b0
 #define PHY_ID_BCM5461 0x002060c0
+#define PHY_ID_BCM54616S   0x03625d10
 #define PHY_ID_BCM577800x03625d90
 
 #define PHY_ID_BCM7250 0xae025280
-- 
2.3.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] of: add vendor prefix for Artesyn

2015-04-08 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani 
---
https://www.artesyn.com/about-us/company-profile

The prefix is already used in the MVME2500 powerpc system
(arch/powerpc/boot/dts/mvme2500.dts).

 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt 
b/Documentation/devicetree/bindings/vendor-prefixes.txt
index fae26d0..404dc47 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -23,6 +23,7 @@ apm   Applied Micro Circuits Corporation (APM)
 arasan Arasan Chip Systems
 armARM Ltd.
 armadeus   ARMadeus Systems SARL
+artesynArtesyn Embedded Technologies Inc.
 asahi-kaseiAsahi Kasei Corp.
 atmel  Atmel Corporation
 auoAU Optronics Corporation
-- 
2.3.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] of: add vendor prefix for Artesyn

2015-04-08 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani alessio.bog...@elettra.eu
---
https://www.artesyn.com/about-us/company-profile

The prefix is already used in the MVME2500 powerpc system
(arch/powerpc/boot/dts/mvme2500.dts).

 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt 
b/Documentation/devicetree/bindings/vendor-prefixes.txt
index fae26d0..404dc47 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -23,6 +23,7 @@ apm   Applied Micro Circuits Corporation (APM)
 arasan Arasan Chip Systems
 armARM Ltd.
 armadeus   ARMadeus Systems SARL
+artesynArtesyn Embedded Technologies Inc.
 asahi-kaseiAsahi Kasei Corp.
 atmel  Atmel Corporation
 auoAU Optronics Corporation
-- 
2.3.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] net: phy: broadcom: Add BCM54616S phy entry

2015-04-08 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani alessio.bog...@elettra.eu
---
This phy is used in the MVME2500 powerpc system
(arch/powerpc/boot/dts/mvme2500.dts)

 drivers/net/phy/Kconfig|  4 ++--
 drivers/net/phy/broadcom.c | 14 ++
 include/linux/brcmphy.h|  1 +
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 16adbc4..8fadaa1 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -68,8 +68,8 @@ config SMSC_PHY
 config BROADCOM_PHY
tristate Drivers for Broadcom PHYs
---help---
- Currently supports the BCM5411, BCM5421, BCM5461, BCM5464, BCM5481
- and BCM5482 PHYs.
+ Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
+ BCM5481 and BCM5482 PHYs.
 
 config BCM63XX_PHY
tristate Drivers for Broadcom 63xx SOCs internal PHY
diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index a52afb2..9c71295 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -549,6 +549,19 @@ static struct phy_driver broadcom_drivers[] = {
.config_intr= bcm54xx_config_intr,
.driver = { .owner = THIS_MODULE },
 }, {
+   .phy_id = PHY_ID_BCM54616S,
+   .phy_id_mask= 0xfff0,
+   .name   = Broadcom BCM54616S,
+   .features   = PHY_GBIT_FEATURES |
+ SUPPORTED_Pause | SUPPORTED_Asym_Pause,
+   .flags  = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
+   .config_init= bcm54xx_config_init,
+   .config_aneg= genphy_config_aneg,
+   .read_status= genphy_read_status,
+   .ack_interrupt  = bcm54xx_ack_interrupt,
+   .config_intr= bcm54xx_config_intr,
+   .driver = { .owner = THIS_MODULE },
+}, {
.phy_id = PHY_ID_BCM5464,
.phy_id_mask= 0xfff0,
.name   = Broadcom BCM5464,
@@ -660,6 +673,7 @@ static struct mdio_device_id __maybe_unused broadcom_tbl[] 
= {
{ PHY_ID_BCM5411, 0xfff0 },
{ PHY_ID_BCM5421, 0xfff0 },
{ PHY_ID_BCM5461, 0xfff0 },
+   { PHY_ID_BCM54616S, 0xfff0 },
{ PHY_ID_BCM5464, 0xfff0 },
{ PHY_ID_BCM5482, 0xfff0 },
{ PHY_ID_BCM5482, 0xfff0 },
diff --git a/include/linux/brcmphy.h b/include/linux/brcmphy.h
index 7ccd928..1c9920b 100644
--- a/include/linux/brcmphy.h
+++ b/include/linux/brcmphy.h
@@ -11,6 +11,7 @@
 #define PHY_ID_BCM5421 0x002060e0
 #define PHY_ID_BCM5464 0x002060b0
 #define PHY_ID_BCM5461 0x002060c0
+#define PHY_ID_BCM54616S   0x03625d10
 #define PHY_ID_BCM577800x03625d90
 
 #define PHY_ID_BCM7250 0xae025280
-- 
2.3.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


crypto: omap-aes - fix a build error

2012-12-14 Thread Alessio Igor Bogani
[...]
  CC  init/version.o
  LD  init/built-in.o
drivers/built-in.o:(.data+0xbc6c): undefined reference to 
`crypto_ablkcipher_type'
drivers/built-in.o:(.data+0xbd4c): undefined reference to 
`crypto_ablkcipher_type'

The omap-aes driver uses crypto_ablkcipher_type symbol without selecting it.

Signed-off-by: Alessio Igor Bogani 
---
 drivers/crypto/Kconfig |1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index f6644f5..b04d78f 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -254,6 +254,7 @@ config CRYPTO_DEV_OMAP_AES
tristate "Support for OMAP AES hw engine"
depends on ARCH_OMAP2 || ARCH_OMAP3
select CRYPTO_AES
+   select CRYPTO_BLKCIPHER
help
  OMAP processors have AES module accelerator. Select this if you
  want to use the OMAP module for AES algorithms.
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


crypto: omap-aes - fix a build error

2012-12-14 Thread Alessio Igor Bogani
[...]
  CC  init/version.o
  LD  init/built-in.o
drivers/built-in.o:(.data+0xbc6c): undefined reference to 
`crypto_ablkcipher_type'
drivers/built-in.o:(.data+0xbd4c): undefined reference to 
`crypto_ablkcipher_type'

The omap-aes driver uses crypto_ablkcipher_type symbol without selecting it.

Signed-off-by: Alessio Igor Bogani alessio.bog...@elettra.trieste.it
---
 drivers/crypto/Kconfig |1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index f6644f5..b04d78f 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -254,6 +254,7 @@ config CRYPTO_DEV_OMAP_AES
tristate Support for OMAP AES hw engine
depends on ARCH_OMAP2 || ARCH_OMAP3
select CRYPTO_AES
+   select CRYPTO_BLKCIPHER
help
  OMAP processors have AES module accelerator. Select this if you
  want to use the OMAP module for AES algorithms.
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


vfs: Remove useless function prototypes

2012-12-13 Thread Alessio Igor Bogani
Commit 8e22cc88d68ca1a46d7d582938f979eb640ed30f removes the (un)lock_super
function definitions but forgets to remove their prototypes.

Signed-off-by: Alessio Igor Bogani 
---
 include/linux/fs.h |4 
 1 file changed, 4 deletions(-)

diff --git a/include/linux/fs.h b/include/linux/fs.h
index 408fb1e..f5642da 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1444,10 +1444,6 @@ static inline void sb_start_intwrite(struct super_block 
*sb)
 
 extern bool inode_owner_or_capable(const struct inode *inode);
 
-/* not quite ready to be deprecated, but... */
-extern void lock_super(struct super_block *);
-extern void unlock_super(struct super_block *);
-
 /*
  * VFS helper functions..
  */
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


vfs: Remove useless function prototypes

2012-12-13 Thread Alessio Igor Bogani
Commit 8e22cc88d68ca1a46d7d582938f979eb640ed30f removes the (un)lock_super
function definitions but forgets to remove their prototypes.

Signed-off-by: Alessio Igor Bogani abog...@kernel.org
---
 include/linux/fs.h |4 
 1 file changed, 4 deletions(-)

diff --git a/include/linux/fs.h b/include/linux/fs.h
index 408fb1e..f5642da 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1444,10 +1444,6 @@ static inline void sb_start_intwrite(struct super_block 
*sb)
 
 extern bool inode_owner_or_capable(const struct inode *inode);
 
-/* not quite ready to be deprecated, but... */
-extern void lock_super(struct super_block *);
-extern void unlock_super(struct super_block *);
-
 /*
  * VFS helper functions..
  */
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] ARM: OMAP: Conditionally compile counter_32k

2012-11-26 Thread Alessio Igor Bogani

Hi Igor,

On 26/11/2012 13:02, Igor Grinberg wrote:

On 11/26/12 11:28, Alessio Igor Bogani wrote:

[...]

  # Common support
-obj-y := sram.o dma.o fb.o counter_32k.o
+obj-y := sram.o dma.o fb.o
  obj-m :=
  obj-n :=
  obj-  :=

+obj-$(CONFIG_OMAP_32K_TIMER) += counter_32k.o


We are moving away from this config option in favor of runtime detection,


Well, I'll be happy when it'll happen.


Why do you need this?


Because until now the build system doesn't honour the config file. 
Indeed it builds that source code file also when I set 
CONFIG_OMAP_32K_TIMER to n.


The runtime detection isn't a good excuse for doesn't make the build 
system working like users expect.


Ciao,
Alessio
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ARM: OMAP: Conditionally compile counter_32k

2012-11-26 Thread Alessio Igor Bogani
The 32K timer isn't available on all OMAP devices.

Signed-off-by: Alessio Igor Bogani 
---
 arch/arm/plat-omap/Makefile |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
index 8d88584..b1b321c 100644
--- a/arch/arm/plat-omap/Makefile
+++ b/arch/arm/plat-omap/Makefile
@@ -3,11 +3,13 @@
 #
 
 # Common support
-obj-y := sram.o dma.o fb.o counter_32k.o
+obj-y := sram.o dma.o fb.o
 obj-m :=
 obj-n :=
 obj-  :=
 
+obj-$(CONFIG_OMAP_32K_TIMER) += counter_32k.o
+
 # omap_device support (OMAP2+ only at the moment)
 
 obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ARM: OMAP: Conditionally compile counter_32k

2012-11-26 Thread Alessio Igor Bogani
The 32K timer isn't available on all OMAP devices.

Signed-off-by: Alessio Igor Bogani alessio.bog...@elettra.trieste.it
---
 arch/arm/plat-omap/Makefile |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
index 8d88584..b1b321c 100644
--- a/arch/arm/plat-omap/Makefile
+++ b/arch/arm/plat-omap/Makefile
@@ -3,11 +3,13 @@
 #
 
 # Common support
-obj-y := sram.o dma.o fb.o counter_32k.o
+obj-y := sram.o dma.o fb.o
 obj-m :=
 obj-n :=
 obj-  :=
 
+obj-$(CONFIG_OMAP_32K_TIMER) += counter_32k.o
+
 # omap_device support (OMAP2+ only at the moment)
 
 obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] ARM: OMAP: Conditionally compile counter_32k

2012-11-26 Thread Alessio Igor Bogani

Hi Igor,

On 26/11/2012 13:02, Igor Grinberg wrote:

On 11/26/12 11:28, Alessio Igor Bogani wrote:

[...]

  # Common support
-obj-y := sram.o dma.o fb.o counter_32k.o
+obj-y := sram.o dma.o fb.o
  obj-m :=
  obj-n :=
  obj-  :=

+obj-$(CONFIG_OMAP_32K_TIMER) += counter_32k.o


We are moving away from this config option in favor of runtime detection,


Well, I'll be happy when it'll happen.


Why do you need this?


Because until now the build system doesn't honour the config file. 
Indeed it builds that source code file also when I set 
CONFIG_OMAP_32K_TIMER to n.


The runtime detection isn't a good excuse for doesn't make the build 
system working like users expect.


Ciao,
Alessio
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: v2.6.22.1-rt5

2007-07-25 Thread Alessio Igor Bogani
Hi,

On Tue, 2007-07-24 at 22:34 +0200, Ingo Molnar wrote:

> > * Fernando Lopez-Lezcano <[EMAIL PROTECTED]> wrote:
[...] 
> > (BTW, will you keep 2.6.22.x patches going for a while?)

> yeah, that's the plan: to keep .22-rt updated until .23 is released. 
> (Thomas agrees with that approach too)

When .23 will be released could you explain changes for every following
-rt release in more detailed fashion, please? For whom is interested to
keep .22 updated also when .23 is released.

Thanks.

Ciao,
Alessio

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: v2.6.22.1-rt5

2007-07-25 Thread Alessio Igor Bogani
Hi,

On Tue, 2007-07-24 at 22:34 +0200, Ingo Molnar wrote:

  * Fernando Lopez-Lezcano [EMAIL PROTECTED] wrote:
[...] 
  (BTW, will you keep 2.6.22.x patches going for a while?)

 yeah, that's the plan: to keep .22-rt updated until .23 is released. 
 (Thomas agrees with that approach too)

When .23 will be released could you explain changes for every following
-rt release in more detailed fashion, please? For whom is interested to
keep .22 updated also when .23 is released.

Thanks.

Ciao,
Alessio

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Alessio Igor Bogani
Hi All,

Sorry for my poor english.

On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
[...]
>   I just wanted to let you guys know that our team has a port of the
> 21.5-rt20 patch for the 2.6.22 kernel available.

Great! Thanks a lot for effort!

I'm doing the same thing and i don't have doubt your work is better than
mine. In any case i have a couple of suggestions for your patch (one is
a simple duplication definition and the other for build kernel with
CONFIG_SMP on i386).

Please keep me updated!

Hope these helps.

Ciao,
Alessio
diff -ruNp linux-2.6.22-rt1.orig/lib/div64.c linux-2.6.22-rt1.test/lib/div64.c
--- linux-2.6.22-rt1.orig/lib/div64.c	2007-07-12 08:57:33.0 +0200
+++ linux-2.6.22-rt1.test/lib/div64.c	2007-07-12 08:49:47.0 +0200
@@ -78,26 +78,4 @@ uint64_t div64_64(uint64_t dividend, uin
 }
 EXPORT_SYMBOL(div64_64);
 
-/* 64bit divisor, dividend and result. dynamic precision */
-uint64_t div64_64(uint64_t dividend, uint64_t divisor)
-{
-	uint32_t d = divisor;
-
-	if (divisor > 0xULL) {
-		unsigned int shift = fls(divisor >> 32);
-
-		d = divisor >> shift;
-		dividend >>= shift;
-	}
-
-	/* avoid 64 bit division if possible */
-	if (dividend >> 32)
-		do_div(dividend, d);
-	else
-		dividend = (uint32_t) dividend / d;
-
-	return dividend;
-}
-EXPORT_SYMBOL(div64_64);
-
 #endif /* BITS_PER_LONG == 32 */
diff -ruNp linux-2.6.22-rt1.orig/include/asm-generic/percpu.h linux-2.6.22-rt1.test/include/asm-generic/percpu.h
--- linux-2.6.22-rt1.orig/include/asm-generic/percpu.h	2007-07-12 09:13:08.0 +0200
+++ linux-2.6.22-rt1.test/include/asm-generic/percpu.h	2007-07-12 09:04:53.0 +0200
@@ -14,10 +14,6 @@ extern unsigned long __per_cpu_offset[NR
 #define DEFINE_PER_CPU(type, name) \
 __attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name
 
-#define DEFINE_PER_CPU_LOCKED(type, name) \
-__attribute__((__section__(".data.percpu"))) __DEFINE_SPINLOCK(per_cpu_lock__##name##_locked); \
-__attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name##_locked
-
 /* var is in discarded region: offset to particular copy we want */
 #define per_cpu(var, cpu) (*({\
 	extern int simple_identifier_##var(void);	\
@@ -25,15 +21,6 @@ extern unsigned long __per_cpu_offset[NR
 #define __get_cpu_var(var) per_cpu(var, smp_processor_id())
 #define __raw_get_cpu_var(var) per_cpu(var, raw_smp_processor_id())
 
-#define per_cpu_lock(var, cpu) \
-	(*RELOC_HIDE(_cpu_lock__##var##_locked, __per_cpu_offset[cpu]))
-#define per_cpu_var_locked(var, cpu) \
-		(*RELOC_HIDE(_cpu__##var##_locked, __per_cpu_offset[cpu]))
-#define __get_cpu_lock(var, cpu) \
-		per_cpu_lock(var, cpu)
-#define __get_cpu_var_locked(var, cpu) \
-		per_cpu_var_locked(var, cpu)
-
 /* A macro to avoid #include hell... */
 #define percpu_modcopy(pcpudst, src, size)			\
 do {\
@@ -60,13 +47,8 @@ do {\
 #endif	/* SMP */
 
 #define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name
-#define DECLARE_PER_CPU_LOCKED(type, name) \
-extern spinlock_t per_cpu_lock__##name##_locked; \
-extern __typeof__(type) per_cpu__##name##_locked
 
 #define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var)
 #define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)
-#define EXPORT_PER_CPU_LOCKED_SYMBOL(var) EXPORT_SYMBOL(per_cpu_lock__##var##_locked); EXPORT_SYMBOL(per_cpu__##var##_locked)
-#define EXPORT_PER_CPU_LOCKED_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu_lock__##var##_locked); EXPORT_SYMBOL_GPL(per_cpu__##var##_locked)
 
 #endif /* _ASM_GENERIC_PERCPU_H_ */
diff -ruNp linux-2.6.22-rt1.orig/include/asm-i386/percpu.h linux-2.6.22-rt1.test/include/asm-i386/percpu.h
--- linux-2.6.22-rt1.orig/include/asm-i386/percpu.h	2007-07-12 09:13:32.0 +0200
+++ linux-2.6.22-rt1.test/include/asm-i386/percpu.h	2007-07-12 09:05:12.0 +0200
@@ -54,6 +54,10 @@ extern unsigned long __per_cpu_offset[];
 #define DEFINE_PER_CPU(type, name) \
 __attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name
 
+#define DEFINE_PER_CPU_LOCKED(type, name) \
+__attribute__((__section__(".data.percpu"))) __DEFINE_SPINLOCK(per_cpu_lock__##name##_locked); \
+__attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name##_locked
+
 /* We can use this directly for local CPU (faster). */
 DECLARE_PER_CPU(unsigned long, this_cpu_off);
 
@@ -69,6 +73,15 @@ DECLARE_PER_CPU(unsigned long, this_cpu_
 
 #define __get_cpu_var(var) __raw_get_cpu_var(var)
 
+#define per_cpu_lock(var, cpu) \
+	(*RELOC_HIDE(_cpu_lock__##var##_locked, __per_cpu_offset[cpu]))
+#define per_cpu_var_locked(var, cpu) \
+		(*RELOC_HIDE(_cpu__##var##_locked, __per_cpu_offset[cpu]))
+#define __get_cpu_lock(var, cpu) \
+		per_cpu_lock(var, cpu)
+#define __get_cpu_var_locked(var, cpu) \
+		per_cpu_var_locked(var, cpu)
+
 /* A macro to avoid #include hell... */
 #define percpu_modcopy(pcpudst, src, size)			\
 do {\
@@ -144,6 

Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Alessio Igor Bogani
Hi All,

Sorry for my poor english.

On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
[...]
   I just wanted to let you guys know that our team has a port of the
 21.5-rt20 patch for the 2.6.22 kernel available.

Great! Thanks a lot for effort!

I'm doing the same thing and i don't have doubt your work is better than
mine. In any case i have a couple of suggestions for your patch (one is
a simple duplication definition and the other for build kernel with
CONFIG_SMP on i386).

Please keep me updated!

Hope these helps.

Ciao,
Alessio
diff -ruNp linux-2.6.22-rt1.orig/lib/div64.c linux-2.6.22-rt1.test/lib/div64.c
--- linux-2.6.22-rt1.orig/lib/div64.c	2007-07-12 08:57:33.0 +0200
+++ linux-2.6.22-rt1.test/lib/div64.c	2007-07-12 08:49:47.0 +0200
@@ -78,26 +78,4 @@ uint64_t div64_64(uint64_t dividend, uin
 }
 EXPORT_SYMBOL(div64_64);
 
-/* 64bit divisor, dividend and result. dynamic precision */
-uint64_t div64_64(uint64_t dividend, uint64_t divisor)
-{
-	uint32_t d = divisor;
-
-	if (divisor  0xULL) {
-		unsigned int shift = fls(divisor  32);
-
-		d = divisor  shift;
-		dividend = shift;
-	}
-
-	/* avoid 64 bit division if possible */
-	if (dividend  32)
-		do_div(dividend, d);
-	else
-		dividend = (uint32_t) dividend / d;
-
-	return dividend;
-}
-EXPORT_SYMBOL(div64_64);
-
 #endif /* BITS_PER_LONG == 32 */
diff -ruNp linux-2.6.22-rt1.orig/include/asm-generic/percpu.h linux-2.6.22-rt1.test/include/asm-generic/percpu.h
--- linux-2.6.22-rt1.orig/include/asm-generic/percpu.h	2007-07-12 09:13:08.0 +0200
+++ linux-2.6.22-rt1.test/include/asm-generic/percpu.h	2007-07-12 09:04:53.0 +0200
@@ -14,10 +14,6 @@ extern unsigned long __per_cpu_offset[NR
 #define DEFINE_PER_CPU(type, name) \
 __attribute__((__section__(.data.percpu))) __typeof__(type) per_cpu__##name
 
-#define DEFINE_PER_CPU_LOCKED(type, name) \
-__attribute__((__section__(.data.percpu))) __DEFINE_SPINLOCK(per_cpu_lock__##name##_locked); \
-__attribute__((__section__(.data.percpu))) __typeof__(type) per_cpu__##name##_locked
-
 /* var is in discarded region: offset to particular copy we want */
 #define per_cpu(var, cpu) (*({\
 	extern int simple_identifier_##var(void);	\
@@ -25,15 +21,6 @@ extern unsigned long __per_cpu_offset[NR
 #define __get_cpu_var(var) per_cpu(var, smp_processor_id())
 #define __raw_get_cpu_var(var) per_cpu(var, raw_smp_processor_id())
 
-#define per_cpu_lock(var, cpu) \
-	(*RELOC_HIDE(per_cpu_lock__##var##_locked, __per_cpu_offset[cpu]))
-#define per_cpu_var_locked(var, cpu) \
-		(*RELOC_HIDE(per_cpu__##var##_locked, __per_cpu_offset[cpu]))
-#define __get_cpu_lock(var, cpu) \
-		per_cpu_lock(var, cpu)
-#define __get_cpu_var_locked(var, cpu) \
-		per_cpu_var_locked(var, cpu)
-
 /* A macro to avoid #include hell... */
 #define percpu_modcopy(pcpudst, src, size)			\
 do {\
@@ -60,13 +47,8 @@ do {\
 #endif	/* SMP */
 
 #define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name
-#define DECLARE_PER_CPU_LOCKED(type, name) \
-extern spinlock_t per_cpu_lock__##name##_locked; \
-extern __typeof__(type) per_cpu__##name##_locked
 
 #define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var)
 #define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)
-#define EXPORT_PER_CPU_LOCKED_SYMBOL(var) EXPORT_SYMBOL(per_cpu_lock__##var##_locked); EXPORT_SYMBOL(per_cpu__##var##_locked)
-#define EXPORT_PER_CPU_LOCKED_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu_lock__##var##_locked); EXPORT_SYMBOL_GPL(per_cpu__##var##_locked)
 
 #endif /* _ASM_GENERIC_PERCPU_H_ */
diff -ruNp linux-2.6.22-rt1.orig/include/asm-i386/percpu.h linux-2.6.22-rt1.test/include/asm-i386/percpu.h
--- linux-2.6.22-rt1.orig/include/asm-i386/percpu.h	2007-07-12 09:13:32.0 +0200
+++ linux-2.6.22-rt1.test/include/asm-i386/percpu.h	2007-07-12 09:05:12.0 +0200
@@ -54,6 +54,10 @@ extern unsigned long __per_cpu_offset[];
 #define DEFINE_PER_CPU(type, name) \
 __attribute__((__section__(.data.percpu))) __typeof__(type) per_cpu__##name
 
+#define DEFINE_PER_CPU_LOCKED(type, name) \
+__attribute__((__section__(.data.percpu))) __DEFINE_SPINLOCK(per_cpu_lock__##name##_locked); \
+__attribute__((__section__(.data.percpu))) __typeof__(type) per_cpu__##name##_locked
+
 /* We can use this directly for local CPU (faster). */
 DECLARE_PER_CPU(unsigned long, this_cpu_off);
 
@@ -69,6 +73,15 @@ DECLARE_PER_CPU(unsigned long, this_cpu_
 
 #define __get_cpu_var(var) __raw_get_cpu_var(var)
 
+#define per_cpu_lock(var, cpu) \
+	(*RELOC_HIDE(per_cpu_lock__##var##_locked, __per_cpu_offset[cpu]))
+#define per_cpu_var_locked(var, cpu) \
+		(*RELOC_HIDE(per_cpu__##var##_locked, __per_cpu_offset[cpu]))
+#define __get_cpu_lock(var, cpu) \
+		per_cpu_lock(var, cpu)
+#define __get_cpu_var_locked(var, cpu) \
+		per_cpu_var_locked(var, cpu)
+
 /* A macro to avoid #include hell... */
 #define percpu_modcopy(pcpudst, src, size)			\
 do {\
@@ -144,6 +157,14 @@ extern 

[PATCH] fix typo in acpi_pm.c

2007-06-21 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani <[EMAIL PROTECTED]>
---
 drivers/clocksource/acpi_pm.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/clocksource/acpi_pm.c
b/drivers/clocksource/acpi_pm.c
index 5cfcff5..7d25010 100644
--- a/drivers/clocksource/acpi_pm.c
+++ b/drivers/clocksource/acpi_pm.c
@@ -71,7 +71,7 @@ static struct clocksource clocksource_acpi_pm = {
.rating = 200,
.read   = acpi_pm_read,
.mask   = (cycle_t)ACPI_PM_MASK,
-   .mult   = 0, /*to be caluclated*/
+   .mult   = 0, /*to be calculated*/
.shift  = 22,
.flags  = CLOCK_SOURCE_IS_CONTINUOUS,
 
-- 
1.4.4.2


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] fix typo in acpi_pm.c

2007-06-21 Thread Alessio Igor Bogani
Signed-off-by: Alessio Igor Bogani [EMAIL PROTECTED]
---
 drivers/clocksource/acpi_pm.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/clocksource/acpi_pm.c
b/drivers/clocksource/acpi_pm.c
index 5cfcff5..7d25010 100644
--- a/drivers/clocksource/acpi_pm.c
+++ b/drivers/clocksource/acpi_pm.c
@@ -71,7 +71,7 @@ static struct clocksource clocksource_acpi_pm = {
.rating = 200,
.read   = acpi_pm_read,
.mask   = (cycle_t)ACPI_PM_MASK,
-   .mult   = 0, /*to be caluclated*/
+   .mult   = 0, /*to be calculated*/
.shift  = 22,
.flags  = CLOCK_SOURCE_IS_CONTINUOUS,
 
-- 
1.4.4.2


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


  1   2   >