[PATCH 1/2] Added support for PRTLVT based boards (MPC5121)
Made MPC5121_ADS board support generic: Renamed arch/powerpc/platforms/512x/mpc5121_ads.c and added list of supported boards. For both MPC5121 ADS or PRTLVT support, just select MPC5121_GENERIC and use the corresponding device-tree. Signed-off-by: David Jander [EMAIL PROTECTED] --- arch/powerpc/boot/dts/prtlvt.dts | 272 arch/powerpc/platforms/512x/Kconfig| 14 +- arch/powerpc/platforms/512x/Makefile |2 +- .../512x/{mpc5121_ads.c = mpc5121_generic.c} | 38 ++- 4 files changed, 307 insertions(+), 19 deletions(-) create mode 100644 arch/powerpc/boot/dts/prtlvt.dts rename arch/powerpc/platforms/512x/{mpc5121_ads.c = mpc5121_generic.c} (73%) diff --git a/arch/powerpc/boot/dts/prtlvt.dts b/arch/powerpc/boot/dts/prtlvt.dts new file mode 100644 index 000..a011c8c --- /dev/null +++ b/arch/powerpc/boot/dts/prtlvt.dts @@ -0,0 +1,272 @@ +/* + * Device tree source for PRTLVT based boards, base on: + * MPC5121E MDS Device Tree Source + * + * Copyright 2007 Freescale Semiconductor Inc. + * Copyright 2008 Protonic Holland + * + * 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. + */ + + /* compile with: ./dtc -p 10240 -R 20 -I dts -o prtlvt.dtb -O dtb -b 0 dts/prtlvt.dts */ + +/dts-v1/; + +/ { + model = prtlvt; + compatible = prt,prtlvt; + #address-cells = 1; + #size-cells = 1; + + cpus { + #address-cells = 1; + #size-cells = 0; + + PowerPC,[EMAIL PROTECTED] { + device_type = cpu; + reg = 0; + d-cache-line-size = 0x20; // 32 bytes + i-cache-line-size = 0x20; // 32 bytes + d-cache-size = 0x8000;// L1, 32K + i-cache-size = 0x8000;// L1, 32K + timebase-frequency = 5000;// 50 MHz (csb/4) + bus-frequency = 2;// 200 MHz csb bus + clock-frequency = 4; // 400 MHz ppc core + }; + }; + + memory { + device_type = memory; + reg = 0x 0x1000; // 256MB at 0 + }; + + [EMAIL PROTECTED] { + compatible = amd,s29gl256n, cfi-flash; + reg = 0xfe00 0x0200; + bank-width = 2; + #address-cells = 1; + #size-cells = 1; + [EMAIL PROTECTED] { + label = rootfs; + reg = 0x 0x0180; + }; + [EMAIL PROTECTED] { + label =config0; + reg = 0x0180 0x0020; + }; + [EMAIL PROTECTED] { + label =config1; + reg = 0x01a0 0x0020; + }; + [EMAIL PROTECTED] { + label =kernel; + reg = 0x01c0 0x002e; + }; + [EMAIL PROTECTED] { + label =devicetree; + reg = 0x01ee 0x0002; + }; + [EMAIL PROTECTED] { + label =uboot; + reg = 0x01f0 0x0010; + }; + }; + + [EMAIL PROTECTED] { + compatible = fsl,mpc5121-immr, simple-bus; + #address-cells = 1; + #size-cells = 1; + #interrupt-cells = 2; + ranges = 0x0 0x8000 0x40; + reg = 0x8000 0x40; + bus-frequency = 6600; // 66 MHz ips bus + + + // IPIC + // interrupts cell = intr #, sense + // sense values match linux IORESOURCE_IRQ_* defines: + // sense == 8: Level, low assertion + // sense == 2: Edge, high-to-low change + // + ipic: [EMAIL PROTECTED] { + compatible = fsl,mpc5121-ipic, fsl,ipic; + interrupt-controller; + #address-cells = 0; + #interrupt-cells = 2; + reg = 0xc00 0x100; + }; + + // 512x PSCs are not 52xx PSCs compatible + // PSC0 serial port aka ttyPSC0 + [EMAIL PROTECTED] { + device_type = serial; + compatible = fsl,mpc5121-psc-uart; + port-number = 0; + cell-index = 0; + reg = 0x11000 0x100; + interrupts = 0x28 0x8; // actually the fifo irq +
Re: [PATCH 1/2] Added support for PRTLVT based boards (MPC5121)
Looking even better. Just a few more comments. I'll probably be able to pick up the next one for inclusion in 2.6.27. On Thu, Jun 12, 2008 at 5:44 AM, David Jander [EMAIL PROTECTED] wrote: Made MPC5121_ADS board support generic: Renamed arch/powerpc/platforms/512x/mpc5121_ads.c and added list of supported boards. For both MPC5121 ADS or PRTLVT support, just select MPC5121_GENERIC and use the corresponding device-tree. Signed-off-by: David Jander [EMAIL PROTECTED] --- arch/powerpc/boot/dts/prtlvt.dts | 272 arch/powerpc/platforms/512x/Kconfig| 14 +- arch/powerpc/platforms/512x/Makefile |2 +- .../512x/{mpc5121_ads.c = mpc5121_generic.c} | 38 ++- 4 files changed, 307 insertions(+), 19 deletions(-) create mode 100644 arch/powerpc/boot/dts/prtlvt.dts rename arch/powerpc/platforms/512x/{mpc5121_ads.c = mpc5121_generic.c} (73%) diff --git a/arch/powerpc/boot/dts/prtlvt.dts b/arch/powerpc/boot/dts/prtlvt.dts new file mode 100644 index 000..a011c8c --- /dev/null +++ b/arch/powerpc/boot/dts/prtlvt.dts @@ -0,0 +1,272 @@ +/* + * Device tree source for PRTLVT based boards, base on: + * MPC5121E MDS Device Tree Source + * + * Copyright 2007 Freescale Semiconductor Inc. + * Copyright 2008 Protonic Holland + * + * 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. + */ + + /* compile with: ./dtc -p 10240 -R 20 -I dts -o prtlvt.dtb -O dtb -b 0 dts/prtlvt.dts */ + +/dts-v1/; + +/ { + model = prtlvt; + compatible = prt,prtlvt; + #address-cells = 1; + #size-cells = 1; + + cpus { + #address-cells = 1; + #size-cells = 0; + + PowerPC,[EMAIL PROTECTED] { + device_type = cpu; + reg = 0; + d-cache-line-size = 0x20; // 32 bytes + i-cache-line-size = 0x20; // 32 bytes + d-cache-size = 0x8000;// L1, 32K + i-cache-size = 0x8000;// L1, 32K + timebase-frequency = 5000;// 50 MHz (csb/4) + bus-frequency = 2;// 200 MHz csb bus + clock-frequency = 4; // 400 MHz ppc core + }; + }; + + memory { + device_type = memory; + reg = 0x 0x1000; // 256MB at 0 + }; + + [EMAIL PROTECTED] { There should probably be a node to describe the local bus that the flash is attached to and this flash node should be a child of the bus. + compatible = amd,s29gl256n, cfi-flash; + reg = 0xfe00 0x0200; + bank-width = 2; + #address-cells = 1; + #size-cells = 1; + [EMAIL PROTECTED] { + label = rootfs; + reg = 0x 0x0180; + }; + [EMAIL PROTECTED] { + label =config0; + reg = 0x0180 0x0020; + }; + [EMAIL PROTECTED] { + label =config1; + reg = 0x01a0 0x0020; + }; + [EMAIL PROTECTED] { + label =kernel; + reg = 0x01c0 0x002e; + }; + [EMAIL PROTECTED] { + label =devicetree; + reg = 0x01ee 0x0002; + }; + [EMAIL PROTECTED] { + label =uboot; + reg = 0x01f0 0x0010; + }; + }; I'm still not all that keen on encoding the partition information into the 'stock' device tree included with the kernel as it is more of a configuration description that is more properly supplied by the bootloader. This is a debate that has been going back and forth over the last few months, so there isn't a solid concensus yet, but my preference is to remove or comment out the partition information for now. + [EMAIL PROTECTED] { + compatible = fsl,mpc5121-i2c-ctrl; + reg = 0x1760 0x8; + }; + + [EMAIL PROTECTED] { (nitpick) There is a recommended practice that says node names should be generic as much as possible, so I think this should probably be [EMAIL PROTECTED] The compatible value is fine. + [EMAIL PROTECTED] { + compatible = fsl,mpc5121-fec; + reg = 0x2800 0x800; +
Re: [PATCH 1/2] Added support for PRTLVT based boards (MPC5121)
On Thu, Jun 12, 2008 at 08:10:47AM -0600, Grant Likely wrote: [snip] + [EMAIL PROTECTED] { + compatible = fsl,mpc5121-i2c-ctrl; + reg = 0x1760 0x8; + }; + + [EMAIL PROTECTED] { (nitpick) There is a recommended practice that says node names should be generic as much as possible, so I think this should probably be [EMAIL PROTECTED] The compatible value is fine. If this is a video display device, the recommended generic name is [EMAIL PROTECTED], not [EMAIL PROTECTED]. -- David Gibson| I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev