Re: [PATCH v2] powerpc/32: fix csum_partial_copy_generic()
Scott, On 4 August 2016 at 05:53, Scott Woodwrote: > 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()
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Scott, On 29 February 2016 at 23:38, Scott Woodwrote: [...] > 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hi, On 19 October 2015 at 11:19, Dmitry Kalinkinwrote: [...] > 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
Hi, On 19 October 2015 at 00:04, Martyn Welchwrote: > 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
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
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
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
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
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
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
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
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
[...] 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
[...] 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
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
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
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
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
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
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
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
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
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
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
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
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/