* Re: [PATCH] P1021: set IReady in QE Microcode Upload
From: Timur Tabi @ 2012-03-16 16:07 UTC (permalink / raw)
To: Kumar Gala
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
Kokoris, Ioannis
In-Reply-To: <AC087E7A-B7BC-43E5-948F-68AEB8251FD3@kernel.crashing.org>
Kumar Gala wrote:
>> > Haiying said it should be ok, but I haven't tried it yet. I'll try it on Monday.
> Did you ever test this?
No, I forgot all about it. I'll try it today, assuming the lone 8323
board in the board farm still works.
--
Timur Tabi
Linux kernel developer at Freescale
^ permalink raw reply
* Re: [PATCH v3 1/4] powerpc: Add GE FPGA config option
From: Kumar Gala @ 2012-03-16 16:13 UTC (permalink / raw)
To: Martyn Welch; +Cc: Wim Van Sebroeck, linuxppc-dev, linux-kernel, Linus Walleij
In-Reply-To: <1331572380-1064-2-git-send-email-martyn.welch@ge.com>
On Mar 12, 2012, at 12:12 PM, Martyn Welch wrote:
> This patch adds the GE_FPGA configuration option. This is being carried
> out as ground work to allow the PIC and GPIO drivers to be move from the
> powerpc 86xx platform directory to more general locations to allow them to
> be used on non-86xx boards and to reduce churn when further boards using
> these drivers are added.
>
> Signed-off-by: Martyn Welch <martyn.welch@ge.com>
> ---
>
> v3: Broken out from patch moving PIC and GPIO drivers
>
> arch/powerpc/platforms/86xx/Kconfig | 7 +++++++
> arch/powerpc/platforms/86xx/Makefile | 7 ++++---
> drivers/watchdog/Kconfig | 2 +-
> 3 files changed, 12 insertions(+), 4 deletions(-)
applied
- k
^ permalink raw reply
* Re: [PATCH v3 2/4] gpio: Move GE GPIO driver to reside within GPIO subsystem
From: Kumar Gala @ 2012-03-16 16:13 UTC (permalink / raw)
To: Martyn Welch; +Cc: Wim Van Sebroeck, linuxppc-dev, linux-kernel, Linus Walleij
In-Reply-To: <1331572380-1064-3-git-send-email-martyn.welch@ge.com>
On Mar 12, 2012, at 12:12 PM, Martyn Welch wrote:
> The GE GPIO driver provides basic support (set direction, read/write =
state)
> for the GPIO provided on some GE single board computers. This patch =
moves
> the driver from the 86xx specific platform directrory to the GPIO =
subsystem
> so that it can be used on non-86xx boards.
>=20
> Signed-off-by: Martyn Welch <martyn.welch@ge.com>
> ---
>=20
> v3: Split out from patch moving PIC and GPIO driver. Moving to gpio =
subsystem
> instead of sysdev.
>=20
> arch/powerpc/configs/86xx/gef_ppc9a_defconfig | 1 +
> arch/powerpc/configs/86xx/gef_sbc310_defconfig | 1 +
> arch/powerpc/configs/86xx/gef_sbc610_defconfig | 2 ++
> arch/powerpc/platforms/86xx/Makefile | 3 +--
> drivers/gpio/Kconfig | 11 +++++++++++
> drivers/gpio/Makefile | 1 +
> .../86xx/gef_gpio.c =3D> drivers/gpio/gpio-ge.c | 2 +-
> 7 files changed, 18 insertions(+), 3 deletions(-)
> rename arch/powerpc/platforms/86xx/gef_gpio.c =3D> =
drivers/gpio/gpio-ge.c (98%)
applied
- k=
^ permalink raw reply
* Re: [PATCH v3 3/4] powerpc: Move GE PIC drivers
From: Kumar Gala @ 2012-03-16 16:13 UTC (permalink / raw)
To: Martyn Welch; +Cc: Wim Van Sebroeck, linuxppc-dev, linux-kernel, Linus Walleij
In-Reply-To: <1331572380-1064-4-git-send-email-martyn.welch@ge.com>
On Mar 12, 2012, at 12:12 PM, Martyn Welch wrote:
> Move the GE PIC drivers to allow these to be used by non-86xx boards.
>
> Signed-off-by: Martyn Welch <martyn.welch@ge.com>
> ---
>
> v2: Move GPIO and PIC drivers to sysdev/ge/ rather than platforms/.
>
> v3: Now just PIC driver. GPIO driver going to drivers/gpio.
>
> arch/powerpc/platforms/86xx/Kconfig | 4 ----
> arch/powerpc/platforms/86xx/Makefile | 1 -
> arch/powerpc/platforms/86xx/gef_ppc9a.c | 2 +-
> arch/powerpc/platforms/86xx/gef_sbc310.c | 2 +-
> arch/powerpc/platforms/86xx/gef_sbc610.c | 2 +-
> arch/powerpc/sysdev/Kconfig | 4 ++++
> arch/powerpc/sysdev/Makefile | 2 ++
> arch/powerpc/sysdev/ge/Makefile | 1 +
> .../86xx/gef_pic.c => sysdev/ge/ge_pic.c} | 2 +-
> .../86xx/gef_pic.h => sysdev/ge/ge_pic.h} | 0
> 10 files changed, 11 insertions(+), 9 deletions(-)
> create mode 100644 arch/powerpc/sysdev/ge/Makefile
> rename arch/powerpc/{platforms/86xx/gef_pic.c => sysdev/ge/ge_pic.c} (99%)
> rename arch/powerpc/{platforms/86xx/gef_pic.h => sysdev/ge/ge_pic.h} (100%)
applied
- k
^ permalink raw reply
* Re: [PATCH v3 4/4] powerpc: Board support for GE IMP3A
From: Kumar Gala @ 2012-03-16 16:14 UTC (permalink / raw)
To: Martyn Welch; +Cc: Wim Van Sebroeck, linuxppc-dev, linux-kernel, Linus Walleij
In-Reply-To: <1331572380-1064-5-git-send-email-martyn.welch@ge.com>
On Mar 12, 2012, at 12:13 PM, Martyn Welch wrote:
> Initial board support for the GE IMP3A, a 3U compactPCI card with a =
p2020
> processor.
>=20
> Signed-off-by: Martyn Welch <martyn.welch@ge.com>
> ---
>=20
> v2: Rebase patch onto powerpc/next, taking work by Kyle Moffett into
> account.
>=20
> v3: Correct detection of interrupt controller.
>=20
> arch/powerpc/boot/dts/ge_imp3a.dts | 255 =
++++++++++++++++++++++++++++++
> arch/powerpc/configs/ge_imp3a_defconfig | 257 =
+++++++++++++++++++++++++++++++
> arch/powerpc/platforms/85xx/Kconfig | 15 ++
> arch/powerpc/platforms/85xx/Makefile | 1 +
> arch/powerpc/platforms/85xx/ge_imp3a.c | 246 =
+++++++++++++++++++++++++++++
> drivers/gpio/gpio-ge.c | 28 ++++
> 6 files changed, 802 insertions(+), 0 deletions(-)
> create mode 100644 arch/powerpc/boot/dts/ge_imp3a.dts
> create mode 100644 arch/powerpc/configs/ge_imp3a_defconfig
> create mode 100644 arch/powerpc/platforms/85xx/ge_imp3a.c
applied, moved defconfig to configs/85xx/
- k=
^ permalink raw reply
* Re: [PATCH 3/3] [v2] powerpc/85xx: p1022ds: enable monitor switching via pixis indirect mode
From: Kumar Gala @ 2012-03-16 16:20 UTC (permalink / raw)
To: Timur Tabi; +Cc: scottwood, linuxppc-dev
In-Reply-To: <1321638601-6861-3-git-send-email-timur@freescale.com>
On Nov 18, 2011, at 11:50 AM, Timur Tabi wrote:
> When the P1022's DIU video controller is active, the pixis must be =
accessed
> in "indirect" mode, which uses localbus chip select addresses.
>=20
> Switching between the DVI and LVDS monitor ports is handled by the =
pixis,
> so that switching needs to be done via indirect mode.
>=20
> This has the side-effect of no longer requiring U-Boot to enable the =
DIU.
> Now Linux can enable the DIU all by itself.
>=20
> Signed-off-by: Timur Tabi <timur@freescale.com>
> ---
> arch/powerpc/platforms/85xx/p1022_ds.c | 132 =
++++++++++++++++++++++++++-----
> 1 files changed, 110 insertions(+), 22 deletions(-)
applied
- k=
^ permalink raw reply
* Re: [PATCH] Device Tree Bindings for Freescale TDM controller
From: Scott Wood @ 2012-03-16 18:29 UTC (permalink / raw)
To: Poonam Aggrwal; +Cc: Sandeep Singh, devicetree-discuss, linuxppc-dev
In-Reply-To: <1331861451-15427-1-git-send-email-poonam.aggrwal@freescale.com>
On 03/15/2012 08:30 PM, Poonam Aggrwal wrote:
> From: Poonam Aggrwal <poonam.aggrwal@freescale.com>
>
> This TDM controller is available in various Freescale SOCs like MPC8315, P1020,
> P1022, P1010.
>
> Signed-off-by: Sandeep Singh <Sandeep@freescale.com>
> Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
> ---
> Documentation/devicetree/bindings/tdm/fsl-tdm.txt | 71 +++++++++++++++++++++
> 1 files changed, 71 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/tdm/fsl-tdm.txt
>
> diff --git a/Documentation/devicetree/bindings/tdm/fsl-tdm.txt b/Documentation/devicetree/bindings/tdm/fsl-tdm.txt
> new file mode 100644
> index 0000000..61431e3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/tdm/fsl-tdm.txt
> @@ -0,0 +1,71 @@
> +=====================================================================
> +TDM Device Tree Binding
> +Copyright (C) 2012 Freescale Semiconductor Inc.
> +
> +NOTE: The bindings described in this document are preliminary
> +and subject to change.
> +
> +=====================================================================
> +TDM (Time Division Multiplexing)
> +
> +DESCRIPTION
> +
> +The TDM is full duplex serial port designed to allow various devices including
> +digital signal processors (DSPs) to communicate with a variety of serial devices
> +including industry standard framers, codecs, other DSPs and microprocessors.
> +
> +The below properties describe the device tree bindings for Freescale TDM
> +controller.
> +This TDM controller is available on various Freescale Processors like
> +MPC8313, P1020, P1022 and P1010.
> +
> +PROPERTIES
> +
> + - compatible
> + Usage: required
> + Value type: <string>
> + Definition: Should contain "fsl,mpc8315-tdm".
> + So mpc8313 will have compatible = "fsl,mpc8315-tdm";
> + p1010 will have compatible "fsl,p1010-tdm", "fsl,mpc8315-tdm";
Shouldn't mpc8313 have:
compatible = "fsl,mpc8313-tdm", "fsl,mpc8315-tdm"?
I thought we were going to use 8313 as the canonical implementation, not
8315.
> + - reg
> + Usage: required
> + Value type: <tdm-reg-offset tdm-reg-size dmac-reg-offset dmac-reg-size>
> + Definition: A standard property. Specifies the physical address
> + offset and length of the TDM registers and TDM DMAC registers for
> + the device.
Just say there's two reg resources, and that the first is the TDM
registers and the second is the TDM DMAC registers.
It's typically not going to be the actual physical address, but rather
an offset that gets translated through a parent node's ranges.
Remove "value type"; it's standard.
> + - clock-frequency
> + Usage: optional
> + Value type: <u32>
> + Definition: The frequency at which the TDM block is operating.
Will this frequency ever need to be > 4GHz?
Might want to specify as u32 or u64, as ePAPR suggests.
> + - interrupts
> + Usage: required
> + Value type: <tdm-err-intr tdm-err-intr-type dmac-intr dmac-intr-type>
> + Definition: This field defines two interrupt specifiers namely interrupt
> + number and interrupt type for TDM error and TDM DMAC.
What is "tdm-err-intr-type"? The interrupt specifier encoding is
defined by the interrupt controller. There might be one cell, two
cells, four cells, etc. Remove "value type", it's standard.
> + - phy-handle
> + Usage: optional
> + Value type: <phandle>
> + Definition: Phandle of the line controller node or framer node eg. SLIC,
> + E1\T1 etc.
Use a forward slash -- this isn't a Windows filesystem path. :-)
> + - fsl-max-time-slots
> + Usage: required
> + Value type: <u32>
> + Definition: Maximum number of 8-bit time slots in one TDM frame.
> + This is the maximum number which TDM hardware supports.
fsl,tdm-max-time-slots
> +
> +EXAMPLE
> +
> + tdm@16000 {
> + device_type = "tdm";
No device_type
> + compatible = "fsl,p1010-tdm", "fsl,mpc8315-tdm";
> + reg = <0x16000 0x200 0x2c000 0x2000>;
> + clock-frequency = <0>;
Show a real clock-frequency, perhaps with a comment saying it's
typically filled in by boot software.
> + interrupts = <16 8 62 8>;
> + phy-handle = <zarlink1>
That phy-handle is invalid syntax, perhaps you meant:
phy-handle = <&zarlink1>;
> + fsl-max-time-slots = <128>
Missing semicolons on the last two properties.
-Scott
^ permalink raw reply
* Re: [PATCH SDK1.2 1/3] powerpc/fsl-pci: Unify pci/pcie initialization code
From: Kumar Gala @ 2012-03-16 18:58 UTC (permalink / raw)
To: Jia Hongtao-B38951; +Cc: linuxppc-dev@lists.ozlabs.org, Li Yang-R58472
In-Reply-To: <412C8208B4A0464FA894C5F0C278CD5D019ADE0E@039-SN1MPN1-002.039d.mgd.msft.net>
On Feb 9, 2012, at 8:27 PM, Jia Hongtao-B38951 wrote:
> Hi Kumar,
> This series of patches have been pending for a long time.
> I'd like to know whether they are look good or not so I can do the =
further work on it.
> It's kind of emergency things for me.
> Thanks a lot for your attention.
I commented some time ago that the patches looked fine, but needed to be =
done for ALL the boards (include 86xx).
- k
>=20
> -----Original Message-----
> From: Jia Hongtao-B38951=20
> Sent: Tuesday, January 10, 2012 3:31 PM
> To: Gala Kumar-B11780
> Cc: Li Yang-R58472; Jia Hongtao-B38951; linuxppc-dev@lists.ozlabs.org
> Subject: RE: [PATCH SDK1.2 1/3] powerpc/fsl-pci: Unify pci/pcie =
initialization code
>=20
> Hi Kumar,
> Do you have any idea on this series of patches?
> Looking forward to your answer.
> Thanks.
>=20
> --Jia Hongtao.
>=20
> -----Original Message-----
> From: Jia Hongtao-B38951
> Sent: Wednesday, December 21, 2011 3:11 PM
> To: linuxppc-dev@lists.ozlabs.org
> Cc: Li Yang-R58472; Gala Kumar-B11780; Jia Hongtao-B38951
> Subject: [PATCH SDK1.2 1/3] powerpc/fsl-pci: Unify pci/pcie =
initialization code
>=20
> We unified the Freescale pci/pcie initialization by changing the =
fsl_pci to a platform driver.
>=20
> In previous version pci/pcie initialization is in platform code which =
Initialize pci bridge base on EP/RC or host/agent settings.
>=20
> Signed-off-by: Jia Hongtao <B38951@freescale.com>
> Signed-off-by: Li Yang <leoli@freescale.com>
> ---
> arch/powerpc/platforms/85xx/p1022_ds.c | 39 +++++++----------------
> arch/powerpc/sysdev/fsl_pci.c | 53 =
++++++++++++++++++++++++++++++++
> 2 files changed, 65 insertions(+), 27 deletions(-)
>=20
> diff --git a/arch/powerpc/platforms/85xx/p1022_ds.c =
b/arch/powerpc/platforms/85xx/p1022_ds.c
> index 2bf4342..41de2c1 100644
> --- a/arch/powerpc/platforms/85xx/p1022_ds.c
> +++ b/arch/powerpc/platforms/85xx/p1022_ds.c
> @@ -277,32 +277,9 @@ void __init mpc85xx_smp_init(void);
> */
> static void __init p1022_ds_setup_arch(void) { -#ifdef CONFIG_PCI
> - struct device_node *np;
> -#endif
> - dma_addr_t max =3D 0xffffffff;
> -
> if (ppc_md.progress)
> ppc_md.progress("p1022_ds_setup_arch()", 0);
>=20
> -#ifdef CONFIG_PCI
> - for_each_compatible_node(np, "pci", "fsl,p1022-pcie") {
> - struct resource rsrc;
> - struct pci_controller *hose;
> -
> - of_address_to_resource(np, 0, &rsrc);
> -
> - if ((rsrc.start & 0xfffff) =3D=3D 0x8000)
> - fsl_add_bridge(np, 1);
> - else
> - fsl_add_bridge(np, 0);
> -
> - hose =3D pci_find_hose_for_OF_device(np);
> - max =3D min(max, hose->dma_window_base_cur +
> - hose->dma_window_size);
> - }
> -#endif
> -
> #if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE)
> diu_ops.get_pixel_format =3D p1022ds_get_pixel_format;
> diu_ops.set_gamma_table =3D p1022ds_set_gamma_table;
> @@ -316,11 +293,8 @@ static void __init p1022_ds_setup_arch(void) =
#endif
>=20
> #ifdef CONFIG_SWIOTLB
> - if (memblock_end_of_DRAM() > max) {
> + if (memblock_end_of_DRAM() > 0xffffffff)
> ppc_swiotlb_enable =3D 1;
> - set_pci_dma_ops(&swiotlb_dma_ops);
> - ppc_md.pci_dma_dev_setup =3D pci_dma_dev_setup_swiotlb;
> - }
> #endif
>=20
> pr_info("Freescale P1022 DS reference board\n"); @@ -339,6 =
+313,17 @@ static int __init p1022_ds_publish_devices(void) } =
machine_device_initcall(p1022_ds, p1022_ds_publish_devices);
>=20
> +static struct of_device_id __initdata p1022_pci_ids[] =3D {
> + { .compatible =3D "fsl,p1022-pcie", },
> + {},
> +};
> +
> +static int __init p1022_ds_publish_pci_device(void) {
> + return of_platform_bus_probe(NULL, p1022_pci_ids, NULL); }=20
> +machine_arch_initcall(p1022_ds, p1022_ds_publish_pci_device);
> +
> machine_arch_initcall(p1022_ds, swiotlb_setup_bus_notifier);
>=20
> /*
> diff --git a/arch/powerpc/sysdev/fsl_pci.c =
b/arch/powerpc/sysdev/fsl_pci.c index 4ce547e..a0f305d 100644
> --- a/arch/powerpc/sysdev/fsl_pci.c
> +++ b/arch/powerpc/sysdev/fsl_pci.c
> @@ -712,3 +712,56 @@ u64 fsl_pci_immrbar_base(struct pci_controller =
*hose)
>=20
> return 0;
> }
> +
> +static const struct of_device_id pci_ids[] =3D {
> + { .compatible =3D "fsl,mpc8540-pci", },
> + { .compatible =3D "fsl,mpc8548-pcie", },
> + { .compatible =3D "fsl,p1022-pcie", },
> + {},
> +};
> +
> +static int __devinit fsl_pci_probe(struct platform_device *pdev) {
> + struct pci_controller *hose;
> +
> + if (of_match_node(pci_ids, pdev->dev.of_node)) {
> + struct resource rsrc;
> + of_address_to_resource(pdev->dev.of_node, 0, &rsrc);
> + if ((rsrc.start & 0xfffff) =3D=3D 8000)
> + fsl_add_bridge(pdev->dev.of_node, 1);
> + else
> + fsl_add_bridge(pdev->dev.of_node, 0);
> +
> +#ifdef CONFIG_SWIOTLB
> + hose =3D pci_find_hose_for_OF_device(pdev->dev.of_node);
> + /*
> + * if we couldn't map all of DRAM via the dma windows
> + * we need SWIOTLB to handle buffers located outside of
> + * dma capable memory region
> + */
> + if (memblock_end_of_DRAM() > hose->dma_window_base_cur
> + + hose->dma_window_size) {
> + ppc_swiotlb_enable =3D 1;
> + set_pci_dma_ops(&swiotlb_dma_ops);
> + ppc_md.pci_dma_dev_setup =3D =
pci_dma_dev_setup_swiotlb;
> + }
> +#endif
> +
> + }
> +
> + return 0;
> +}
> +
> +static struct platform_driver fsl_pci_driver =3D {
> + .driver =3D {
> + .name =3D "fsl-pci",
> + .of_match_table =3D pci_ids,
> + },
> + .probe =3D fsl_pci_probe,
> +};
> +
> +static int __init fsl_pci_init(void)
> +{
> + return platform_driver_register(&fsl_pci_driver);
> +}
> +arch_initcall(fsl_pci_init);
> --
> 1.7.5.1
>=20
^ permalink raw reply
* Re: [PATCH 1/2] powerpc/8xxx: remove 85xx/86xx restrictions from fsl_guts.h
From: Kumar Gala @ 2012-03-16 19:06 UTC (permalink / raw)
To: Timur Tabi; +Cc: linuxppc-dev
In-Reply-To: <1329412870-16716-1-git-send-email-timur@freescale.com>
On Feb 16, 2012, at 11:21 AM, Timur Tabi wrote:
> Remove the check for CONFIG_PPC_85xx and CONFIG_PPC_86xx from =
fsl_guts.h.
> The check was originally intended to allow the same header file to
> be used on 85xx and 86xx systems, even though the Global Utilities
> register could be different. It turns out that they're not actually
> different, and so the check is not necessary. In addition, neither
> macro is defined for 64-bit e5500 kernels, so that causes a build
> break.
>=20
> To maintain backwards compatibility, we also define macros for
> ccsr_guts_85xx and ccsr_guts_86xx. This eliminates the need to
> change all the files that #include fsl_guts.h. Those files will
> be updated at a later time, and then the macros can be deleted.
If you are doing this clean, just finish it. There are only a small =
handful of users of ccsr_guts_8{5,6}xx:
arch/powerpc/include/asm/fsl_guts.h:static inline void =
guts_set_dmacr(struct ccsr_guts_86xx __iomem *guts,
arch/powerpc/include/asm/fsl_guts.h:static inline void =
guts_set_pmuxcr_dma(struct ccsr_guts_86xx __iomem *guts,
arch/powerpc/platforms/86xx/mpc8610_hpcd.c: struct ccsr_guts_86xx =
__iomem *guts;
arch/powerpc/platforms/85xx/p1022_ds.c: struct ccsr_guts_85xx __iomem =
*guts;
arch/powerpc/platforms/85xx/p1022_ds.c: struct ccsr_guts_85xx __iomem =
*guts;
- k
^ permalink raw reply
* Re: [PATCH 2/2] [v2] powerpc/fsl: add PAMUBYPENR register definition to fsl_guts.h
From: Kumar Gala @ 2012-03-16 19:07 UTC (permalink / raw)
To: Timur Tabi; +Cc: linuxppc-dev
In-Reply-To: <1329412870-16716-2-git-send-email-timur@freescale.com>
On Feb 16, 2012, at 11:21 AM, Timur Tabi wrote:
> Add a defintion of register PAMUBYPENR (offset 0x604) to the global
> utilities structure.
>=20
> PAMUBYPENR is the PAMU bypass enable register. It contains control
> bits for enabling bypass mode on each PAMU.
>=20
> Signed-off-by: Timur Tabi <timur@freescale.com>
> ---
> arch/powerpc/include/asm/fsl_guts.h | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
Sticking with my original point of not applying this til PAMU driver is =
ready as well.
- k=
^ permalink raw reply
* Re: [PATCH 2/2] [v2] powerpc/fsl: add PAMUBYPENR register definition to fsl_guts.h
From: Timur Tabi @ 2012-03-16 19:08 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev
In-Reply-To: <431FD642-F157-4B73-8954-C294A5C107C2@kernel.crashing.org>
Kumar Gala wrote:
> Sticking with my original point of not applying this til PAMU driver is ready as well.
Ok.
--
Timur Tabi
Linux kernel developer at Freescale
^ permalink raw reply
* Re: [PATCH 1/2] powerpc/8xxx: remove 85xx/86xx restrictions from fsl_guts.h
From: Timur Tabi @ 2012-03-16 19:09 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev
In-Reply-To: <177AB6E4-E148-43EE-BBD5-1348B6796EAA@kernel.crashing.org>
Kumar Gala wrote:
> If you are doing this clean, just finish it. There are only a small handful of users of ccsr_guts_8{5,6}xx:
>
> arch/powerpc/include/asm/fsl_guts.h:static inline void guts_set_dmacr(struct ccsr_guts_86xx __iomem *guts,
> arch/powerpc/include/asm/fsl_guts.h:static inline void guts_set_pmuxcr_dma(struct ccsr_guts_86xx __iomem *guts,
> arch/powerpc/platforms/86xx/mpc8610_hpcd.c: struct ccsr_guts_86xx __iomem *guts;
> arch/powerpc/platforms/85xx/p1022_ds.c: struct ccsr_guts_85xx __iomem *guts;
> arch/powerpc/platforms/85xx/p1022_ds.c: struct ccsr_guts_85xx __iomem *guts;
Ok. Can you push your tree to git.kernel.org, so that I can be sure to
provide a clean patch?
--
Timur Tabi
Linux kernel developer at Freescale
^ permalink raw reply
* Re: [PATCH SDK1.2 3/3] powerpc/fsl-pci: Add pci inbound/outbound PM support
From: Kumar Gala @ 2012-03-16 19:20 UTC (permalink / raw)
To: Jia Hongtao; +Cc: B11780, linuxppc-dev
In-Reply-To: <1324451458-4644-4-git-send-email-B38951@freescale.com>
On Dec 21, 2011, at 1:10 AM, Jia Hongtao wrote:
> Power supply for PCI inbound/outbound window registers is off when =
system
> go to deep-sleep state. We save the values of registers before suspend
> and restore to registers after resume.
>=20
> Signed-off-by: Jiang Yutang <b14898@freescale.com>
> Signed-off-by: Jia Hongtao <B38951@freescale.com>
> Signed-off-by: Li Yang <leoli@freescale.com>
> ---
> arch/powerpc/include/asm/pci-bridge.h | 6 ++
> arch/powerpc/sysdev/fsl_pci.c | 108 =
+++++++++++++++++++++++++++++++++
> 2 files changed, 114 insertions(+), 0 deletions(-)
>=20
> diff --git a/arch/powerpc/include/asm/pci-bridge.h =
b/arch/powerpc/include/asm/pci-bridge.h
> index 882b6aa..c99b40e 100644
> --- a/arch/powerpc/include/asm/pci-bridge.h
> +++ b/arch/powerpc/include/asm/pci-bridge.h
> @@ -92,6 +92,12 @@ struct pci_controller {
>=20
> void *private_data;
> #endif /* CONFIG_PPC64 */
> +
> +#ifdef CONFIG_SUSPEND
> + struct pci_outbound_window_regs __iomem *pci_pow;
> + struct pci_inbound_window_regs __iomem *pci_piw;
Why do we need both pointers, we dont you just keep a pointer to 'struct =
ccsr_pci __iomem' ?
Also, is there really a significant speed difference that we need to =
cache the ioremap pointer? Can we not just do the ioremap() both in =
suspend & resume functions?
> + void *saved_regs;
> +#endif
Should we just put this under private_data and expose that everywhere =
(ie not just on PPC64)
> };
Also, dont we need to save/restore the setting of PCSRBAR/PEXCSRBAR
>=20
> /* These are used for config access before all the PCI probing
> diff --git a/arch/powerpc/sysdev/fsl_pci.c =
b/arch/powerpc/sysdev/fsl_pci.c
> index e318e9d..046866f 100644
> --- a/arch/powerpc/sysdev/fsl_pci.c
> +++ b/arch/powerpc/sysdev/fsl_pci.c
> @@ -756,12 +756,120 @@ static int __devinit fsl_pci_probe(struct =
platform_device *pdev)
> return 0;
> }
>=20
> +#ifdef CONFIG_SUSPEND
> +
> +#define PCI_POW_NUMBER 5
> +#define PCI_POW_BIAS 0xc00
> +#define PCI_PIW_NUMBER 3
> +#define PCI_PIW_BIAS 0xda0
> +
> +static int fsl_pci_suspend(struct platform_device *dev, pm_message_t =
state)
> +{
> + struct pci_controller *hose;
> + struct pci_outbound_window_regs *pci_saved_pow;
> + struct pci_inbound_window_regs *pci_saved_piw;
> + struct resource pci_rsrc;
> + unsigned int i;
> +
> + hose =3D pci_find_hose_for_OF_device(dev->dev.of_node);
> + of_address_to_resource(dev->dev.of_node, 0, &pci_rsrc);
> +
> + hose->pci_pow =3D ioremap(pci_rsrc.start + PCI_POW_BIAS,
> + sizeof(struct pci_outbound_window_regs)
> + * PCI_POW_NUMBER);
> + if (!hose->pci_pow) {
> + pr_err("pci_pow ioremap error!\n");
> + return -ENOMEM;
> + }
> +
> + hose->pci_piw =3D ioremap(pci_rsrc.start + PCI_PIW_BIAS,
> + sizeof(struct pci_inbound_window_regs)
> + * PCI_PIW_NUMBER);
> + if (!hose->pci_piw) {
> + pr_err("pci_piw ioremap error!\n");
> + goto err1;
> + }
> +
> + hose->saved_regs =3D kmalloc(
> + sizeof(struct pci_outbound_window_regs) * PCI_POW_NUMBER =
+
> + sizeof(struct pci_inbound_window_regs) * PCI_PIW_NUMBER,
> + GFP_KERNEL);
> + if (!hose->saved_regs)
> + goto err2;
> +
> + pci_saved_pow =3D hose->saved_regs;
> + for (i =3D 0; i < PCI_POW_NUMBER; i++) {
> + pci_saved_pow[i].potar =3D =
in_be32(&hose->pci_pow[i].potar);
> + pci_saved_pow[i].potear =3D =
in_be32(&hose->pci_pow[i].potear);
> + pci_saved_pow[i].powbar =3D =
in_be32(&hose->pci_pow[i].powbar);
> + pci_saved_pow[i].powar =3D =
in_be32(&hose->pci_pow[i].powar);
> + }
> +
> + pci_saved_piw =3D (struct pci_inbound_window_regs *)
> + (pci_saved_pow + PCI_POW_NUMBER);
> + for (i =3D 0; i < PCI_PIW_NUMBER; i++) {
> + pci_saved_piw[i].pitar =3D =
in_be32(&hose->pci_piw[i].pitar);
> + pci_saved_piw[i].piwbar =3D =
in_be32(&hose->pci_piw[i].piwbar);
> + pci_saved_piw[i].piwbear =3D =
in_be32(&hose->pci_piw[i].piwbear);
> + pci_saved_piw[i].piwar =3D =
in_be32(&hose->pci_piw[i].piwar);
> + }
> +
> + return 0;
> +
> +err2:
> + iounmap(hose->pci_piw);
> +
> +err1:
> + iounmap(hose->pci_pow);
> + return -ENOMEM;
> +}
> +
> +static int fsl_pci_resume(struct platform_device *dev)
> +{
> + struct pci_controller *hose;
> + struct pci_outbound_window_regs *pci_saved_pow;
> + struct pci_inbound_window_regs *pci_saved_piw;
> + unsigned int i;
> +
> + hose =3D pci_find_hose_for_OF_device(dev->dev.of_node);
> + if (!hose->pci_pow || !hose->pci_piw || !hose->saved_regs)
> + return 0;
> +
> + pci_saved_pow =3D hose->saved_regs;
> + for (i =3D 0; i < PCI_POW_NUMBER; i++) {
> + out_be32(&hose->pci_pow[i].potar, =
pci_saved_pow[i].potar);
> + out_be32(&hose->pci_pow[i].potear, =
pci_saved_pow[i].potear);
> + out_be32(&hose->pci_pow[i].powbar, =
pci_saved_pow[i].powbar);
> + out_be32(&hose->pci_pow[i].powar, =
pci_saved_pow[i].powar);
> + }
> + iounmap(hose->pci_pow);
> +
> + pci_saved_piw =3D (struct pci_inbound_window_regs *)
> + (pci_saved_pow + PCI_POW_NUMBER);
> + for (i =3D 0; i < PCI_PIW_NUMBER; i++) {
> + out_be32(&hose->pci_piw[i].pitar, =
pci_saved_piw[i].pitar);
> + out_be32(&hose->pci_piw[i].piwbar, =
pci_saved_piw[i].piwbar);
> + out_be32(&hose->pci_piw[i].piwbear, =
pci_saved_piw[i].piwbear);
> + out_be32(&hose->pci_piw[i].piwar, =
pci_saved_piw[i].piwar);
> + }
> + iounmap(hose->pci_piw);
> + kfree(hose->saved_regs);
> + hose->saved_regs =3D NULL;
> +
> + return 0;
> +}
> +#endif
> +
> static struct platform_driver fsl_pci_driver =3D {
> .driver =3D {
> .name =3D "fsl-pci",
> .of_match_table =3D pci_ids,
> },
> .probe =3D fsl_pci_probe,
> +#ifdef CONFIG_SUSPEND
> + .suspend =3D fsl_pci_suspend,
> + .resume =3D fsl_pci_resume,
> +#endif
> };
>=20
> static int __init fsl_pci_init(void)
> --=20
> 1.7.5.1
>=20
>=20
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
^ permalink raw reply
* Re: [PATCH] powerpc/dts: Added aliased MSIIR register address to MSI node in dts
From: Kumar Gala @ 2012-03-16 19:32 UTC (permalink / raw)
To: Diana Craciun; +Cc: linuxppc-dev
In-Reply-To: <1328111434-564-1-git-send-email-diana.craciun@freescale.com>
On Feb 1, 2012, at 9:50 AM, Diana Craciun wrote:
> From: Diana CRACIUN <Diana.Craciun@freescale.com>
>=20
> The MSIIR register for each MSI bank is aliased to a different
> address. The MSI node reg property was updated to contain this
> address:
>=20
> e.g. reg =3D <0x41600 0x200 0x44140 4>;
>=20
> The first region contains the address and length of the MSI
> register set and the second region contains the address of
> the aliased MSIIR register at 0x44140.
>=20
> Signed-off-by: Diana CRACIUN <Diana.Craciun@freescale.com>
> ---
> .../devicetree/bindings/powerpc/fsl/msi-pic.txt | 6 ++++--
> arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi | 6 +++---
> 2 files changed, 7 insertions(+), 5 deletions(-)
Why, we should only use one of the register regions. The second region =
was added to allow for 4k separation and thus PAMU protection. Not sure =
what listed both regions gets us.
- k=
^ permalink raw reply
* Re: [PATCH] powerpc/dts: Removed fsl,msi property from dts.
From: Kumar Gala @ 2012-03-16 19:33 UTC (permalink / raw)
To: Diana Craciun; +Cc: linuxppc-dev
In-Reply-To: <1328794860-12592-1-git-send-email-diana.craciun@freescale.com>
On Feb 9, 2012, at 7:41 AM, Diana Craciun wrote:
> From: Diana CRACIUN <Diana.Craciun@freescale.com>
>
> The association in the decice tree between PCI and MSI
> using fsl,msi property was an artificial one and it does
> not reflect the actual hardware.
>
> Signed-off-by: Diana CRACIUN <Diana.Craciun@freescale.com>
> ---
> arch/powerpc/boot/dts/p2041rdb.dts | 3 ---
> arch/powerpc/boot/dts/p3041ds.dts | 4 ----
> arch/powerpc/boot/dts/p3060qds.dts | 2 --
> arch/powerpc/boot/dts/p4080ds.dts | 3 ---
> arch/powerpc/boot/dts/p5020ds.dts | 4 ----
> 5 files changed, 0 insertions(+), 16 deletions(-)
Should we not also remove the code associated with this property?
- k
^ permalink raw reply
* Re: [PATCH] mpc836x: fix failed phy detection for ucc ethernet on MDS
From: Kumar Gala @ 2012-03-16 19:36 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: afleming, linuxppc-dev, netdev
In-Reply-To: <1330345501-24949-1-git-send-email-paul.gortmaker@windriver.com>
On Feb 27, 2012, at 6:25 AM, Paul Gortmaker wrote:
> The mpc836x_mds platform has been broken since the commit
> 6fe3264945ee63292cdfb27b6e95bc52c603bb09
>
> "netdev/phy: Use mdiobus_read() so that proper locks are taken"
>
> which caused the fsl_pq_mdio TBI autoprobe to oops. The oops
> was "fixed" in commit 28d8ea2d568534026ccda3e8936f5ea1e04a86a1
>
> "fsl_pq_mdio: Clean up tbi address configuration"
>
> by simply removing the the autoscan code, and making tbi nodes
> mandatory. Some of the newer reference platforms were updated
> to have tbi nodes in 220669495bf8b68130a8218607147c7b74c28d2b
>
> "powerpc: Add TBI PHY node to first MDIO bus"
>
> but the older mpc836x didn't get one and hence was just failing
> with -EBUSY as follows:
>
> fsl-pq_mdio: probe of e0102120.mdio failed with error -16
> ...
> net eth0: Could not attach to PHY
> eth0: Cannot initialize PHY, aborting.
>
> Add a TBI node and use the 1st free address for it.
>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
applied
- k
^ permalink raw reply
* Re: [PATCH] powerpc/85xx: Add missing config option for CACHE SRAM code
From: Kumar Gala @ 2012-03-16 19:38 UTC (permalink / raw)
To: Claudiu Manoil; +Cc: linuxppc-dev
In-Reply-To: <1328004920-29727-1-git-send-email-claudiu.manoil@freescale.com>
On Jan 31, 2012, at 4:15 AM, Claudiu Manoil wrote:
> fsl_85xx_l2ctlr.o and fsl_85xx_cache_sram.o are built only
> if CONFIG_FSL_85XX_CACHE_SRAM is defined. The driver that
> qualifies and wants to make use of the CACHE SRAM's exported
> API (i.e. a freescale net driver) should (be able to) select
> this config option.
>
> Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
> ---
> arch/powerpc/platforms/85xx/Kconfig | 9 +++++++++
> 1 files changed, 9 insertions(+), 0 deletions(-)
applied
- k
^ permalink raw reply
* Re: [PATCH][v2] powerpc/85xx: Fix compiler error with THIS_MODULE and related
From: Kumar Gala @ 2012-03-16 19:38 UTC (permalink / raw)
To: Claudiu Manoil; +Cc: linuxppc-dev
In-Reply-To: <1328115915-16172-1-git-send-email-claudiu.manoil@freescale.com>
On Feb 1, 2012, at 11:05 AM, Claudiu Manoil wrote:
> CC arch/powerpc/sysdev/fsl_85xx_l2ctlr.o
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c:209:13: error: 'THIS_MODULE' =
undeclared here (not in a function)
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c:229:20: error: expected =
declaration specifiers or '...' before string constant
> cc1: warnings being treated as errors
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c:229:1: error: data definition =
has no type or storage class
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c:229:1: error: type defaults to =
'int' in declaration of 'MODULE_DESCRIPTION'
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c:229:20: error: function =
declaration isn't a prototype
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c:230:16: error: expected =
declaration specifiers or '...' before string constant
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c:230:1: error: data definition =
has no type or storage class
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c:230:1: error: type defaults to =
'int' in declaration of 'MODULE_LICENSE'
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c:230:16: error: function =
declaration isn't a prototype
> make[1]: *** [arch/powerpc/sysdev/fsl_85xx_l2ctlr.o] Error 1
>=20
> ...
>=20
> CC arch/powerpc/sysdev/fsl_85xx_cache_sram.o
> cc1: warnings being treated as errors
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:69:1: error: data definition =
has no type or storage class
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:69:1: error: type defaults =
to 'int' in declaration of 'EXPORT_SYMBOL'
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:69:1: error: parameter names =
(without types) in function declaration
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:80:1: error: data definition =
has no type or storage class
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:80:1: error: type defaults =
to 'int' in declaration of 'EXPORT_SYMBOL'
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:80:1: error: parameter names =
(without types) in function declaration
> make[1]: *** [arch/powerpc/sysdev/fsl_85xx_cache_sram.o] Error 1
>=20
> Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
> ---
> Replaced <linux/module.h> with <linux/export.h> for =
fsl_85xx_cache_sram.c.
>=20
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c | 1 +
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c | 1 +
> 2 files changed, 2 insertions(+), 0 deletions(-)
applied
- k=
^ permalink raw reply
* Re: [PATCH] powerpc/dts: Added aliased MSIIR register address to MSI node in dts
From: Scott Wood @ 2012-03-16 19:42 UTC (permalink / raw)
To: Kumar Gala; +Cc: Diana Craciun, linuxppc-dev
In-Reply-To: <9D3E9651-1D03-4079-98D9-B08D46306879@kernel.crashing.org>
On 03/16/2012 02:32 PM, Kumar Gala wrote:
>
> On Feb 1, 2012, at 9:50 AM, Diana Craciun wrote:
>
>> From: Diana CRACIUN <Diana.Craciun@freescale.com>
>>
>> The MSIIR register for each MSI bank is aliased to a different
>> address. The MSI node reg property was updated to contain this
>> address:
>>
>> e.g. reg = <0x41600 0x200 0x44140 4>;
>>
>> The first region contains the address and length of the MSI
>> register set and the second region contains the address of
>> the aliased MSIIR register at 0x44140.
>>
>> Signed-off-by: Diana CRACIUN <Diana.Craciun@freescale.com>
>> ---
>> .../devicetree/bindings/powerpc/fsl/msi-pic.txt | 6 ++++--
>> arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi | 6 +++---
>> 2 files changed, 7 insertions(+), 5 deletions(-)
>
> Why, we should only use one of the register regions. The second region was added to allow for 4k separation and thus PAMU protection. Not sure what listed both regions gets us.
We list both because the hardware has both. Device tree describes the
hardware; it doesn't tell you how to use it.
Plus, the separte 4K page has only the MSIIRn register, not the other
MSI registers. So we still need the first resource.
The second resource will probably not be used by Linux at the moment,
but it used by Topaz, and it may be used by KVM/VFIO in the future.
-Scott
^ permalink raw reply
* Re: [PATCH v2] powerpc/dts: fix the compatible string of sec 4.0
From: Kumar Gala @ 2012-03-16 19:47 UTC (permalink / raw)
To: Shengzhou Liu; +Cc: linuxppc-dev, stable, Liu Shuo
In-Reply-To: <1331097606-22407-1-git-send-email-Shengzhou.Liu@freescale.com>
On Mar 6, 2012, at 11:20 PM, Shengzhou Liu wrote:
> From: Liu Shuo <shuo.liu@freescale.com>
>
> Fix the compatible string of sec 4.0 to match with CAMM driver according
> to Documentation/devicetree/bindings/crypto/fsl-sec4.txt
>
> Signed-off-by: Liu Shuo <shuo.liu@freescale.com>
> Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
> ---
> v2: refine description.
>
> arch/powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi | 10 +++++-----
> 1 files changed, 5 insertions(+), 5 deletions(-)
applied, fixed the type CAMM -> CAAM
- k
^ permalink raw reply
* Re: [PATCH] l2sram: Add compatible entry for mpc8548
From: Kumar Gala @ 2012-03-16 19:48 UTC (permalink / raw)
To: Zhao Chenhui; +Cc: linuxppc-dev
In-Reply-To: <1329906014-9896-1-git-send-email-chenhui.zhao@freescale.com>
On Feb 22, 2012, at 4:20 AM, Zhao Chenhui wrote:
> From: chenhui zhao <chenhui.zhao@freescale.com>
>
> Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
> Signed-off-by: Li Yang <leoli@freescale.com>
> ---
> arch/powerpc/sysdev/fsl_85xx_l2ctlr.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
applied
- k
^ permalink raw reply
* Re: [PATCH 2/2 v6] powerpc/85xx: Abstract common define of signal multiplex control for qe
From: Kumar Gala @ 2012-03-16 20:00 UTC (permalink / raw)
To: Zhicheng Fan; +Cc: linuxppc-dev
In-Reply-To: <1329889447-1756-2-git-send-email-B32736@freescale.com>
On Feb 21, 2012, at 11:44 PM, Zhicheng Fan wrote:
> From: Zhicheng Fan <b32736@freescale.com>
>=20
> The mpc85xx_rdb and mpc85xx_mds have commom define of signal multiplex =
for qe, so
> they need to go in common header, the patch abstract them to =
fsl_guts.h
>=20
> Signed-off-by: Zhicheng Fan <b32736@freescale.com>
> ---
> arch/powerpc/include/asm/fsl_guts.h | 6 ++++-
> arch/powerpc/platforms/85xx/mpc85xx_mds.c | 35 =
++++++++++++----------------
> 2 files changed, 20 insertions(+), 21 deletions(-)
applied
- k=
^ permalink raw reply
* Re: [PATCH 1/2 v6] powerpc/85xx: Add Quicc Engine support for p1025rdb
From: Kumar Gala @ 2012-03-16 20:01 UTC (permalink / raw)
To: Zhicheng Fan; +Cc: linuxppc-dev
In-Reply-To: <1329889447-1756-1-git-send-email-B32736@freescale.com>
On Feb 21, 2012, at 11:44 PM, Zhicheng Fan wrote:
> From: Zhicheng Fan <b32736@freescale.com>
>=20
> Signed-off-by: Zhicheng Fan <b32736@freescale.com>
> ---
> arch/powerpc/platforms/85xx/mpc85xx_rdb.c | 77 =
++++++++++++++++++++++++++++-
> 1 files changed, 76 insertions(+), 1 deletions(-)
applied
- k=
^ permalink raw reply
* Re: [PATCH] powerpc/85xx: allow CONFIG_PHYS_64BIT to be selectable
From: Kumar Gala @ 2012-03-16 20:01 UTC (permalink / raw)
To: Timur Tabi; +Cc: scottwood, linuxppc-dev
In-Reply-To: <1329853995-7533-1-git-send-email-timur@freescale.com>
On Feb 21, 2012, at 1:53 PM, Timur Tabi wrote:
> Remove the "select PHYS_64BIT" from the Kconfig entry for the P1022DS,
> so that large physical address support is a selectable option for =
non-CoreNet
> reference boards.
>=20
> The option is enabled in mpc85xx_[smp_]defconfig so that the default =
is
> unchanged. However, now it can be deselected.
>=20
> The P1022DS had this option defined because the default device tree =
for
> this board uses 36-bit addresses. This had the side-effect of forcing
> this option on for all boards that use mpc85xx_[smp_]defconfig. Some
> users may want to disable this feature to create an optimized =
configuration
> for boards with <=3D 2GB of RAM.
>=20
> Signed-off-by: Timur Tabi <timur@freescale.com>
> ---
> arch/powerpc/configs/mpc85xx_defconfig | 1 +
> arch/powerpc/configs/mpc85xx_smp_defconfig | 1 +
> arch/powerpc/platforms/85xx/Kconfig | 1 -
> 3 files changed, 2 insertions(+), 1 deletions(-)
applied
- k=
^ permalink raw reply
* Re: [PATCH] powerpc/85xx:Add BSC9131 RDB Support
From: Kumar Gala @ 2012-03-16 20:12 UTC (permalink / raw)
To: Prabhakar Kushwaha
Cc: Poonam Aggrwal, Priyanka Jain, devicetree-discuss,
Ramneek Mehresh, Rajan Srivastava, linuxppc-dev, Akhil Goyal
In-Reply-To: <1331789851-19213-1-git-send-email-prabhakar@freescale.com>
>=20
>=20
> diff --git a/arch/powerpc/boot/dts/bsc9131rdb.dtsi =
b/arch/powerpc/boot/dts/bsc9131rdb.dtsi
> new file mode 100644
> index 0000000..d274c014
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/bsc9131rdb.dtsi
> @@ -0,0 +1,179 @@
> +/*
> + * BSC9131 RDB Device Tree Source stub (no addresses or top-level =
ranges)
> + *
> + * Copyright 2011-2012 Freescale Semiconductor Inc.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions =
are met:
> + * * Redistributions of source code must retain the above =
copyright
> + * notice, this list of conditions and the following =
disclaimer.
> + * * Redistributions in binary form must reproduce the above =
copyright
> + * notice, this list of conditions and the following disclaimer =
in the
> + * documentation and/or other materials provided with the =
distribution.
> + * * Neither the name of Freescale Semiconductor nor the
> + * names of its contributors may be used to endorse or promote =
products
> + * derived from this software without specific prior written =
permission.
> + *
> + *
> + * ALTERNATIVELY, this software may be distributed under the terms of =
the
> + * GNU General Public License ("GPL") as published by the Free =
Software
> + * Foundation, either version 2 of that License or (at your option) =
any
> + * later version.
> + *
> + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND =
ANY
> + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE =
IMPLIED
> + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE =
ARE
> + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE =
FOR ANY
> + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL =
DAMAGES
> + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR =
SERVICES;
> + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER =
CAUSED AND
> + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, =
OR TORT
> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE =
USE OF THIS
> + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> + */
> +
> +&board_ifc {
> +
> + nand@0,0 {
> + #address-cells =3D <1>;
> + #size-cells =3D <1>;
> + compatible =3D "fsl,ifc-nand";
> + reg =3D <0x0 0x0 0x4000>;
> +
> + partition@0 {
> + /* This location must not be altered */
> + /* 3MB for u-boot Bootloader Image */
> + reg =3D <0x0 0x00300000>;
> + label =3D "NAND U-Boot Image";
> + read-only;
> + };
> +
> + partition@300000 {
> + /* 1MB for DTB Image */
> + reg =3D <0x00300000 0x00100000>;
> + label =3D "NAND DTB Image";
> + };
> +
> + partition@400000 {
> + /* 8MB for Linux Kernel Image */
> + reg =3D <0x00400000 0x00800000>;
> + label =3D "NAND Linux Kernel Image";
> + };
> +
> + partition@c00000 {
> + /* Rest space for Root file System Image */
> + reg =3D <0x00c00000 0x07400000>;
> + label =3D " NAND RFS Image";
> + };
> + };
> +};
> +
> +&board_soc {
> + i2c@3000 {
> + gpio3: gpio@21 {
> + compatible =3D "nxp,pca9555";
Is there any binding spec for nxp,
> + reg =3D <0x21>;
> + #gpio-cells =3D <2>;
> + gpio-controller;
> + polarity =3D <0x00>;
> + };
> + gpio4: gpio@23 {
> + compatible =3D "nxp,pca9555";
> + reg =3D <0x23>;
> + #gpio-cells =3D <2>;
> + gpio-controller;
> + polarity =3D <0x00>;
> + };
> + gpio5: gpio@27 {
> + compatible =3D "nxp,pca9555";
> + reg =3D <0x27>;
> + #gpio-cells =3D <2>;
> + gpio-controller;
> + polarity =3D <0x00>;
> + };
> + hwmon@4c {
> + compatible =3D "adi,adt7461";
> + reg =3D <0x4c>;
> + };
> + eeprom@52 {
> + compatible =3D "st-micro,24c02";
should this have a compatible with atmel,24c02?
> + reg =3D <0x52>;
> + };
> + };
> +
> + /* BSC9131RDB does not have any device on i2c@3100 */
> + i2c@3100 {
> + status =3D "disabled";
> + };
> +
> + spi@7000 {
> + flash@0 {
> + #address-cells =3D <1>;
> + #size-cells =3D <1>;
> + compatible =3D "spansion,s25sl12801";
> + reg =3D <0>;
> + spi-max-frequency =3D <50000000>;
> +
> + /* 512KB for u-boot Bootloader Image */
> + partition@0 {
> + reg =3D <0x0 0x00080000>;
> + label =3D "SPI Flash U-Boot Image";
> + read-only;
> + };
> +
> + /* 512KB for DTB Image */
> + partition@80000 {
> + reg =3D <0x00080000 0x00080000>;
> + label =3D "SPI Flash DTB Image";
> + };
> +
> + /* 4MB for Linux Kernel Image */
> + partition@100000 {
> + reg =3D <0x00100000 0x00400000>;
> + label =3D "SPI Flash Kernel Image";
> + };
> +
> + /* 4MB for Compressed RFS Image */
> + partition@500000 {
> + reg =3D <0x00500000 0x00400000>;
> + label =3D "SPI Flash Compressed RFS =
Image";
> + };
> +
> + /* 7MB for JFFS2 based RFS */
> + partition@900000 {
> + reg =3D <0x00900000 0x00700000>;
> + label =3D "SPI Flash JFFS2 RFS Image";
> + };
> + };
> + };
> +
> + usb@22000 {
> + phy_type =3D "ulpi";
> + };
> +
> + mdio@24000 {
> + phy0: ethernet-phy@0 {
> + interrupts =3D <3 1 0 0>;
> + reg =3D <0x0>;
> + };
> +
> + phy1: ethernet-phy@1 {
> + interrupts =3D <2 1 0 0>;
> + reg =3D <0x3>;
> + };
> + };
> +
> + sdhci@2e000 {
> + status =3D "disabled";
> + };
> +
> + enet0: ethernet@b0000 {
> + phy-handle =3D <&phy0>;
> + phy-connection-type =3D "rgmii-id";
> + };
> +
> + enet1: ethernet@b1000 {
> + phy-handle =3D <&phy1>;
> + phy-connection-type =3D "rgmii-id";
> + };
> +};
> diff --git a/arch/powerpc/platforms/85xx/bsc913x_board.c =
b/arch/powerpc/platforms/85xx/bsc913x_board.c
should be bsc913x_rdb.c
> new file mode 100644
> index 0000000..934c3b5
> --- /dev/null
> +++ b/arch/powerpc/platforms/85xx/bsc913x_board.c
> @@ -0,0 +1,96 @@
> +/*
> + * BSC9131RDB Board Setup
> + *
> + * Author: Priyanka Jain <Priyanka.Jain@freescale.com>
> + *
> + * Copyright 2011-2012 Freescale Semiconductor 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.
> + */
> +
> +#include <linux/of_platform.h>
> +#include <linux/pci.h>
> +#include <asm/mpic.h>
> +#include <sysdev/fsl_soc.h>
> +#include <asm/udbg.h>
> +
> +void __init bsc913x_board_pic_init(void)
> +{
> + struct mpic *mpic;
> + struct resource r;
> + struct device_node *np;
> +
> + np =3D of_find_node_by_type(NULL, "open-pic");
> + if (!np) {
> + pr_err("bsc913x: Could not find open-pic node\n");
> + return;
> + }
> +
> + if (of_address_to_resource(np, 0, &r)) {
> + pr_err("bsc913x: Failed to map mpic register space\n");
> + of_node_put(np);
> + return;
> + }
> +
> + mpic =3D mpic_alloc(np, r.start, MPIC_WANTS_RESET |
> + MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS | =
MPIC_SINGLE_DEST_CPU,
> + 0, 256, " OpenPIC ");
> +
> + of_node_put(np);
> +
> + if (!mpic)
> + pr_err("bsc913x: Failed to allocate MPIC structure\n");
> + else
> + mpic_init(mpic);
Please update to match current board code
> +}
> +
> +/*
> + * Setup the architecture
> + */
> +static void __init bsc913x_board_setup_arch(void)
> +{
> + if (ppc_md.progress)
> + ppc_md.progress("bsc913x_board_setup_arch()", 0);
> +
> + pr_info("bsc913x board from Freescale Semiconductor\n");
> +}
> +
> +static struct of_device_id __initdata bsc913x_board_ids[] =3D {
> + { .type =3D "soc", },
> + { .type =3D "dsp", },
remove dsp, doesn't show up anywhere else
> + { .compatible =3D "soc", },
> + { .compatible =3D "simple-bus", },
> + { .compatible =3D "gianfar", },
> + {},
> +};
> +
> +static int __init bsc913x_board_publish_devices(void)
> +{
> + return of_platform_bus_probe(NULL, bsc913x_board_ids, NULL);
> +}
> +machine_device_initcall(bsc9131_rdb, bsc913x_board_publish_devices);
> +
> +/*
> + * Called very early, device-tree isn't unflattened
> + */
> +
> +static int __init bsc9131_rdb_probe(void)
> +{
> + unsigned long root =3D of_get_flat_dt_root();
> +
> + return of_flat_dt_is_compatible(root, "fsl,bsc9131rdb");
> +}
> +
> +define_machine(bsc9131_rdb) {
> + .name =3D "BSC9131 RDB",
> + .probe =3D bsc9131_rdb_probe,
> + .setup_arch =3D bsc913x_board_setup_arch,
> + .init_IRQ =3D bsc913x_board_pic_init,
> + .get_irq =3D mpic_get_irq,
> + .restart =3D fsl_rstcr_restart,
> + .calibrate_decr =3D generic_calibrate_decr,
> + .progress =3D udbg_progress,
> +};
> --=20
> 1.7.5.4
>=20
>=20
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox