[PATCH] mpc5200: support for the MAN mpc5200 based board uc101

2009-09-14 Thread Heiko Schocher
- serial Console on PSC1
- 64MB SDRAM
- MTD CFI Flash
- Ethernet FEC
- I2C with PCF8563 and Temp. Sensor ADM9240
- IDE support

Signed-off-by: Heiko Schocher h...@denx.de
---
- based on:
  git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git next

- checked with:

$ ./scripts/checkpatch.pl 
0001-mpc5200-support-for-the-MAN-mpc5200-based-board-uc1.patch
total: 0 errors, 0 warnings, 1622 lines checked

0001-mpc5200-support-for-the-MAN-mpc5200-based-board-uc1.patch has no obvious 
style problems and is ready for submission.
$

 arch/powerpc/boot/dts/uc101.dts  |  312 ++
 arch/powerpc/configs/52xx/uc101_defconfig| 1303 ++
 arch/powerpc/platforms/52xx/mpc5200_simple.c |1 +
 3 files changed, 1616 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/uc101.dts
 create mode 100644 arch/powerpc/configs/52xx/uc101_defconfig

diff --git a/arch/powerpc/boot/dts/uc101.dts b/arch/powerpc/boot/dts/uc101.dts
new file mode 100644
index 000..28e1c90
--- /dev/null
+++ b/arch/powerpc/boot/dts/uc101.dts
@@ -0,0 +1,312 @@
+/*
+ * uc101 board Device Tree Source
+ *
+ * Copyright (C) 2009 DENX Software Engineering GmbH
+ * Heiko Schocher h...@denx.de
+ *
+ * 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.
+ */
+
+/dts-v1/;
+
+/ {
+   model = man,uc101;
+   compatible = man,uc101;
+   #address-cells = 1;
+   #size-cells = 1;
+   interrupt-parent = mpc5200_pic;
+
+   cpus {
+   #address-cells = 1;
+   #size-cells = 0;
+
+   PowerPC,5...@0 {
+   device_type = cpu;
+   reg = 0;
+   d-cache-line-size = 32;
+   i-cache-line-size = 32;
+   d-cache-size = 0x4000;// L1, 16K
+   i-cache-size = 0x4000;// L1, 16K
+   timebase-frequency = 0;   // from bootloader
+   bus-frequency = 0;// from bootloader
+   clock-frequency = 0;  // from bootloader
+   };
+   };
+
+   memory {
+   device_type = memory;
+   reg = 0x 0x0400;  // 64MB
+   };
+
+   soc5...@f000 {
+   #address-cells = 1;
+   #size-cells = 1;
+   compatible = fsl,mpc5200-immr;
+   ranges = 0 0xf000 0xc000;
+   reg = 0xf000 0x0100;
+   bus-frequency = 0;// from bootloader
+   system-frequency = 0; // from bootloader
+
+   c...@200 {
+   compatible = fsl,mpc5200-cdm;
+   reg = 0x200 0x38;
+   };
+
+   mpc5200_pic: interrupt-control...@500 {
+   // 5200 interrupts are encoded into two levels;
+   interrupt-controller;
+   #interrupt-cells = 3;
+   compatible = fsl,mpc5200-pic;
+   reg = 0x500 0x80;
+   interrupts = 0 0 3;
+   };
+
+   gpt1: ti...@610 {   // General Purpose Timer 1 in GPIO mode
+   compatible = 
fsl,mpc5200b-gpt-gpio,fsl,mpc5200-gpt-gpio;
+   reg = 0x610 0x10;
+   interrupts = 1 10 0;
+   gpio-controller;
+   };
+
+   gpt2: ti...@620 {   // General Purpose Timer 2 in GPIO mode
+   compatible = 
fsl,mpc5200b-gpt-gpio,fsl,mpc5200-gpt-gpio;
+   reg = 0x620 0x10;
+   interrupts = 1 11 0;
+   gpio-controller;
+   };
+
+   gpt3: ti...@630 {   // General Purpose Timer 3 in GPIO mode
+   compatible = 
fsl,mpc5200b-gpt-gpio,fsl,mpc5200-gpt-gpio;
+   reg = 0x630 0x10;
+   interrupts = 1 12 0;
+   gpio-controller;
+   #gpio-cells = 2;
+   };
+
+   gpio_simple: g...@b00 {
+   compatible = fsl,mpc5200-gpio;
+   reg = 0xb00 0x40;
+   interrupts = 1 7 0;
+   gpio-controller;
+   #gpio-cells = 2;
+   };
+
+   gpio_wkup: g...@c00 {
+   compatible = fsl,mpc5200-gpio-wkup;
+   reg = 0xc00 0x40;
+   interrupts = 1 8 0 0 3 0;
+   gpio-controller;
+   #gpio-cells = 2;
+   };
+
+   dma-control...@1200 {
+   device_type = 

Re: [PATCH] mpc5200: support for the MAN mpc5200 based board uc101

2009-09-14 Thread Grant Likely
Hi Heiko,

Thanks for the patch.  Comments below.

g.

On Mon, Sep 14, 2009 at 2:05 AM, Heiko Schocher h...@denx.de wrote:
 - serial Console on PSC1
 - 64MB SDRAM
 - MTD CFI Flash
 - Ethernet FEC
 - I2C with PCF8563 and Temp. Sensor ADM9240
 - IDE support

 Signed-off-by: Heiko Schocher h...@denx.de
 ---
 - based on:
  git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git next

 - checked with:

 $ ./scripts/checkpatch.pl 
 0001-mpc5200-support-for-the-MAN-mpc5200-based-board-uc1.patch
 total: 0 errors, 0 warnings, 1622 lines checked

 0001-mpc5200-support-for-the-MAN-mpc5200-based-board-uc1.patch has no obvious 
 style problems and is ready for submission.
 $

  arch/powerpc/boot/dts/uc101.dts              |  312 ++
  arch/powerpc/configs/52xx/uc101_defconfig    | 1303 
 ++

I generally don't like board specific defconfigs unless there is a
really compelling reason why it should be in the kernel tree.  Please
add the stuff you need (as modules!) to mpc5200_defconfig.

g.

 diff --git a/arch/powerpc/boot/dts/uc101.dts b/arch/powerpc/boot/dts/uc101.dts
 new file mode 100644
 index 000..28e1c90
 --- /dev/null
 +++ b/arch/powerpc/boot/dts/uc101.dts
 @@ -0,0 +1,312 @@
 +/*
 + * uc101 board Device Tree Source
 + *
 + * Copyright (C) 2009 DENX Software Engineering GmbH
 + * Heiko Schocher h...@denx.de
 + *
 + * 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.
 + */
 +
 +/dts-v1/;
 +
 +/ {
 +       model = man,uc101;
 +       compatible = man,uc101;
 +       #address-cells = 1;
 +       #size-cells = 1;
 +       interrupt-parent = mpc5200_pic;
 +
 +       cpus {
 +               #address-cells = 1;
 +               #size-cells = 0;
 +
 +               PowerPC,5...@0 {
 +                       device_type = cpu;
 +                       reg = 0;
 +                       d-cache-line-size = 32;
 +                       i-cache-line-size = 32;
 +                       d-cache-size = 0x4000;        // L1, 16K
 +                       i-cache-size = 0x4000;        // L1, 16K
 +                       timebase-frequency = 0;       // from bootloader
 +                       bus-frequency = 0;            // from bootloader
 +                       clock-frequency = 0;          // from bootloader
 +               };
 +       };
 +
 +       memory {
 +               device_type = memory;
 +               reg = 0x 0x0400;  // 64MB
 +       };
 +
 +       soc5...@f000 {
 +               #address-cells = 1;
 +               #size-cells = 1;
 +               compatible = fsl,mpc5200-immr;
 +               ranges = 0 0xf000 0xc000;
 +               reg = 0xf000 0x0100;
 +               bus-frequency = 0;            // from bootloader
 +               system-frequency = 0;         // from bootloader
 +
 +               c...@200 {
 +                       compatible = fsl,mpc5200-cdm;
 +                       reg = 0x200 0x38;
 +               };
 +
 +               mpc5200_pic: interrupt-control...@500 {
 +                       // 5200 interrupts are encoded into two levels;
 +                       interrupt-controller;
 +                       #interrupt-cells = 3;
 +                       compatible = fsl,mpc5200-pic;
 +                       reg = 0x500 0x80;
 +                       interrupts = 0 0 3;
 +               };
 +
 +               gpt1: ti...@610 {       // General Purpose Timer 1 in GPIO 
 mode
 +                       compatible = 
 fsl,mpc5200b-gpt-gpio,fsl,mpc5200-gpt-gpio;
 +                       reg = 0x610 0x10;
 +                       interrupts = 1 10 0;
 +                       gpio-controller;
 +               };
 +
 +               gpt2: ti...@620 {       // General Purpose Timer 2 in GPIO 
 mode
 +                       compatible = 
 fsl,mpc5200b-gpt-gpio,fsl,mpc5200-gpt-gpio;
 +                       reg = 0x620 0x10;
 +                       interrupts = 1 11 0;
 +                       gpio-controller;
 +               };
 +
 +               gpt3: ti...@630 {       // General Purpose Timer 3 in GPIO 
 mode
 +                       compatible = 
 fsl,mpc5200b-gpt-gpio,fsl,mpc5200-gpt-gpio;
 +                       reg = 0x630 0x10;
 +                       interrupts = 1 12 0;
 +                       gpio-controller;
 +                       #gpio-cells = 2;
 +               };
 +
 +               gpio_simple: g...@b00 {
 +                       compatible = fsl,mpc5200-gpio;
 +                       reg = 0xb00 0x40;
 +                       interrupts = 1 7 0;
 +                       gpio-controller;
 +                       #gpio-cells = 2;
 +               };
 +
 +               gpio_wkup: g...@c00 {
 +                       compatible = fsl,mpc5200-gpio-wkup;
 +                       reg = 0xc00 0x40;
 +    

Re: [PATCH] mpc5200: support for the MAN mpc5200 based board uc101

2009-09-14 Thread Heiko Schocher
Hello Grant,

Grant Likely wrote:
 Thanks for the patch.  Comments below.
 
 g.
 
 On Mon, Sep 14, 2009 at 2:05 AM, Heiko Schocher h...@denx.de wrote:
 - serial Console on PSC1
 - 64MB SDRAM
 - MTD CFI Flash
 - Ethernet FEC
 - I2C with PCF8563 and Temp. Sensor ADM9240
 - IDE support

 Signed-off-by: Heiko Schocher h...@denx.de
 ---
 - based on:
  git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git next

 - checked with:

 $ ./scripts/checkpatch.pl 
 0001-mpc5200-support-for-the-MAN-mpc5200-based-board-uc1.patch
 total: 0 errors, 0 warnings, 1622 lines checked

 0001-mpc5200-support-for-the-MAN-mpc5200-based-board-uc1.patch has no 
 obvious style problems and is ready for submission.
 $

  arch/powerpc/boot/dts/uc101.dts  |  312 ++
  arch/powerpc/configs/52xx/uc101_defconfig| 1303 
 ++
 
 I generally don't like board specific defconfigs unless there is a
 really compelling reason why it should be in the kernel tree.  Please
 add the stuff you need (as modules!) to mpc5200_defconfig.

OK, thanks for spotting this. I take a look how this works.

 g.
 
 diff --git a/arch/powerpc/boot/dts/uc101.dts 
 b/arch/powerpc/boot/dts/uc101.dts
 new file mode 100644
 index 000..28e1c90
 --- /dev/null
 +++ b/arch/powerpc/boot/dts/uc101.dts
 @@ -0,0 +1,312 @@
 +/*
 + * uc101 board Device Tree Source
 + *
 + * Copyright (C) 2009 DENX Software Engineering GmbH
 + * Heiko Schocher h...@denx.de
 + *
 + * 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.
 + */
 +
 +/dts-v1/;
 +
 +/ {
 +   model = man,uc101;
 +   compatible = man,uc101;
 +   #address-cells = 1;
 +   #size-cells = 1;
 +   interrupt-parent = mpc5200_pic;
 +
 +   cpus {
 +   #address-cells = 1;
 +   #size-cells = 0;
 +
 +   PowerPC,5...@0 {
 +   device_type = cpu;
 +   reg = 0;
 +   d-cache-line-size = 32;
 +   i-cache-line-size = 32;
 +   d-cache-size = 0x4000;// L1, 16K
 +   i-cache-size = 0x4000;// L1, 16K
 +   timebase-frequency = 0;   // from bootloader
 +   bus-frequency = 0;// from bootloader
 +   clock-frequency = 0;  // from bootloader
 +   };
 +   };
 +
 +   memory {
 +   device_type = memory;
 +   reg = 0x 0x0400;  // 64MB
 +   };
 +
 +   soc5...@f000 {
 +   #address-cells = 1;
 +   #size-cells = 1;
 +   compatible = fsl,mpc5200-immr;
 +   ranges = 0 0xf000 0xc000;
 +   reg = 0xf000 0x0100;
 +   bus-frequency = 0;// from bootloader
 +   system-frequency = 0; // from bootloader
 +
 +   c...@200 {
 +   compatible = fsl,mpc5200-cdm;
 +   reg = 0x200 0x38;
 +   };
 +
 +   mpc5200_pic: interrupt-control...@500 {
 +   // 5200 interrupts are encoded into two levels;
 +   interrupt-controller;
 +   #interrupt-cells = 3;
 +   compatible = fsl,mpc5200-pic;
 +   reg = 0x500 0x80;
 +   interrupts = 0 0 3;
 +   };
 +
 +   gpt1: ti...@610 {   // General Purpose Timer 1 in GPIO 
 mode
 +   compatible = 
 fsl,mpc5200b-gpt-gpio,fsl,mpc5200-gpt-gpio;
 +   reg = 0x610 0x10;
 +   interrupts = 1 10 0;
 +   gpio-controller;
 +   };
 +
 +   gpt2: ti...@620 {   // General Purpose Timer 2 in GPIO 
 mode
 +   compatible = 
 fsl,mpc5200b-gpt-gpio,fsl,mpc5200-gpt-gpio;
 +   reg = 0x620 0x10;
 +   interrupts = 1 11 0;
 +   gpio-controller;
 +   };
 +
 +   gpt3: ti...@630 {   // General Purpose Timer 3 in GPIO 
 mode
 +   compatible = 
 fsl,mpc5200b-gpt-gpio,fsl,mpc5200-gpt-gpio;
 +   reg = 0x630 0x10;
 +   interrupts = 1 12 0;
 +   gpio-controller;
 +   #gpio-cells = 2;
 +   };
 +
 +   gpio_simple: g...@b00 {
 +   compatible = fsl,mpc5200-gpio;
 +   reg = 0xb00 0x40;
 +   interrupts = 1 7 0;
 +   gpio-controller;
 +   #gpio-cells = 2;
 +   };
 +
 +   gpio_wkup: g...@c00 {
 +   

Re: [PATCH] mpc5200: support for the MAN mpc5200 based board uc101

2009-09-14 Thread Wolfgang Grandegger
Hello Heiko,

Heiko Schocher wrote:
 Hello Grant,
 
 Grant Likely wrote:
 Thanks for the patch.  Comments below.

 g.

 On Mon, Sep 14, 2009 at 2:05 AM, Heiko Schocher h...@denx.de wrote:
 - serial Console on PSC1
 - 64MB SDRAM
 - MTD CFI Flash
 - Ethernet FEC
 - I2C with PCF8563 and Temp. Sensor ADM9240
 - IDE support

 Signed-off-by: Heiko Schocher h...@denx.de
...snip

 +   i...@3d40 {
 +   #address-cells = 1;
 +   #size-cells = 0;
 +   compatible = fsl,mpc5200-i2c,fsl-i2c;
 +   reg = 0x3d40 0x40;
 +   interrupts = 2 16 0;
 +   fsl5200-clocking;
 I believe fsl5200-clocking is no longer required.  There is a patch
 pending which removes this property from the other .dts files.

Right, it obsolete.

 Ok, fix this.

Like it is, the I2C controller will use a fixed low speed fdt/dfsr
setting. You have two other options:

  fsl,preserve-clocking;
  clock-frequency = 40;

See also
http://lxr.linux.no/#linux+v2.6.31/Documentation/powerpc/dts-bindings/fsl/i2c.txt.

 +
 +   hw...@2c {
 +   compatible = ad,adm9240;
 +   reg = 0x2c;
 +   };
 +   r...@51 {
 +   compatible = rtc,pcf8563;

rtc is not a proper vendor name. Should be nxp, IIRC.

Wolfgang.
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH] mpc5200: support for the MAN mpc5200 based board uc101

2009-09-14 Thread Heiko Schocher
Hello Wolfgang,

Wolfgang Grandegger wrote:
 Heiko Schocher wrote:
 Hello Grant,

 Grant Likely wrote:
 Thanks for the patch.  Comments below.

 g.

 On Mon, Sep 14, 2009 at 2:05 AM, Heiko Schocher h...@denx.de wrote:
 - serial Console on PSC1
 - 64MB SDRAM
 - MTD CFI Flash
 - Ethernet FEC
 - I2C with PCF8563 and Temp. Sensor ADM9240
 - IDE support

 Signed-off-by: Heiko Schocher h...@denx.de
 ...snip
 
 +   i...@3d40 {
 +   #address-cells = 1;
 +   #size-cells = 0;
 +   compatible = fsl,mpc5200-i2c,fsl-i2c;
 +   reg = 0x3d40 0x40;
 +   interrupts = 2 16 0;
 +   fsl5200-clocking;
 I believe fsl5200-clocking is no longer required.  There is a patch
 pending which removes this property from the other .dts files.
 
 Right, it obsolete.

OK, I remove it.

 Ok, fix this.
 
 Like it is, the I2C controller will use a fixed low speed fdt/dfsr
 setting. You have two other options:
 
   fsl,preserve-clocking;
   clock-frequency = 40;
 
 See also
 http://lxr.linux.no/#linux+v2.6.31/Documentation/powerpc/dts-bindings/fsl/i2c.txt.

Ah, ok, thanks for this info. I try this ...

 +
 +   hw...@2c {
 +   compatible = ad,adm9240;
 +   reg = 0x2c;
 +   };
 +   r...@51 {
 +   compatible = rtc,pcf8563;
 
 rtc is not a proper vendor name. Should be nxp, IIRC.

OK, fix it.

Thanks for reviewing

bye
Heiko
-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev