[POWERPC] Fix kernel build errors for mpc8272ads and mpc8560ads
authorVitaly Bordug <vbordug@ru.mvista.com>
Tue, 30 Jan 2007 23:09:00 +0000 (02:09 +0300)
committerPaul Mackerras <paulus@samba.org>
Wed, 7 Feb 2007 03:03:20 +0000 (14:03 +1100)
Recent update of asm-powerpc/io.h caused cpm-related stuff to break in the
current kernel. Current patch fixes it, as well as other inconsistencies
expressed, that do not permit targets from working properly:

- Updated dts with a chosen node with interrupt controller,
- fixed messed device IDs among CPM2 SoC devices,
- corrected odd header name and fixed type in defines,
- Added 82xx subdir to the powerpc/platforms Makefile, missed during
  initial commit,
- new solely-powerpc header file for 8260 family (was using one from
  arch/ppc, this one cleaned up from the extra stuff), in fact for now
  a placeholder to get the board-specific includes for stuff not yet
  capable to live with devicetree peeks only
- Fixed couple of misprints in reference mpc8272 dts.

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/boot/dts/mpc8272ads.dts
arch/powerpc/platforms/82xx/mpc82xx.c
arch/powerpc/platforms/82xx/mpc82xx_ads.c
arch/powerpc/platforms/82xx/pq2ads.h
arch/powerpc/platforms/Makefile
drivers/net/fs_enet/fs_enet.h
drivers/serial/cpm_uart/cpm_uart_cpm1.h
drivers/serial/cpm_uart/cpm_uart_cpm2.h
include/asm-powerpc/fs_pd.h
include/asm-powerpc/io.h

index 286638e..26b44f7 100644 (file)
@@ -65,8 +65,8 @@
                #size-cells = <1>;
                #interrupt-cells = <2>;
                device_type = "soc";
-               ranges = < 0 0 2 00000000 f0000000 00053000>;
-               reg = <f0000000 0>;
+               ranges = <00000000 f0000000 00053000>;
+               reg = <f0000000 10000>;
 
                mdio@0 {
                        device_type = "mdio";
                        #interrupt-cells = <2>;
                        device_type = "cpm";
                        model = "CPM2";
-                       ranges = <00000000 00000000 3ffff>;
-                       reg = <10d80 3280>;
+                       ranges = <00000000 00000000 20000>;
+                       reg = <0 20000>;
                        command-proc = <119c0>;
                        brg-frequency = <17D7840>;
                        cpm_clk = <BEBC200>;
index 0f5b30d..74e7892 100644 (file)
@@ -50,7 +50,7 @@
 #include <sysdev/fsl_soc.h>
 #include <sysdev/cpm2_pic.h>
 
-#include "pq2ads_pd.h"
+#include "pq2ads.h"
 
 static int __init get_freq(char *name, unsigned long *val)
 {
index ea880f1..7334c1a 100644 (file)
@@ -51,7 +51,7 @@
 #include <sysdev/fsl_soc.h>
 #include <../sysdev/cpm2_pic.h>
 
-#include "pq2ads_pd.h"
+#include "pq2ads.h"
 
 #ifdef CONFIG_PCI
 static uint pci_clk_frq;
index fb2f92b..5b5cca6 100644 (file)
@@ -22,6 +22,7 @@
 #ifndef __MACH_ADS8260_DEFS
 #define __MACH_ADS8260_DEFS
 
+#include <linux/seq_file.h>
 #include <asm/ppcboot.h>
 
 /* For our show_cpuinfo hooks. */
 #define BCSR1_RS232_EN1                ((uint)0x02000000)      /* 0 ==enable */
 #define BCSR1_RS232_EN2                ((uint)0x01000000)      /* 0 ==enable */
 #define BCSR3_FETHIEN2         ((uint)0x10000000)      /* 0 == enable*/
-#define BCSR3_FETH2_RS         ((uint)0x80000000)      /* 0 == reset */
+#define BCSR3_FETH2_RST                ((uint)0x80000000)      /* 0 == reset */
 
 /* cpm serial driver works with constants below */
 
 #define SIU_INT_SMC1           ((uint)0x04+CPM_IRQ_OFFSET)
-#define SIU_INT_SMC2i          ((uint)0x05+CPM_IRQ_OFFSET)
+#define SIU_INT_SMC2           ((uint)0x05+CPM_IRQ_OFFSET)
 #define SIU_INT_SCC1           ((uint)0x28+CPM_IRQ_OFFSET)
 #define SIU_INT_SCC2           ((uint)0x29+CPM_IRQ_OFFSET)
 #define SIU_INT_SCC3           ((uint)0x2a+CPM_IRQ_OFFSET)
index 7f03ea9..f164005 100644 (file)
@@ -9,6 +9,7 @@ obj-$(CONFIG_PPC_MPC52xx)       += 52xx/
 obj-$(CONFIG_PPC_CHRP)         += chrp/
 obj-$(CONFIG_4xx)              += 4xx/
 obj-$(CONFIG_PPC_8xx)          += 8xx/
+obj-$(CONFIG_PPC_82xx)         += 82xx/
 obj-$(CONFIG_PPC_83xx)         += 83xx/
 obj-$(CONFIG_PPC_85xx)         += 85xx/
 obj-$(CONFIG_PPC_86xx)         += 86xx/
index 92590d8..569be22 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/dma-mapping.h>
 
 #include <linux/fs_enet_pd.h>
+#include <asm/fs_pd.h>
 
 #ifdef CONFIG_CPM1
 #include <asm/commproc.h>
index 5eb49ea..a99e45e 100644 (file)
@@ -20,9 +20,6 @@
 #define SCC3_IRQ       (CPM_IRQ_OFFSET + CPMVEC_SCC3)
 #define SCC4_IRQ       (CPM_IRQ_OFFSET + CPMVEC_SCC4)
 
-/* the CPM address */
-#define CPM_ADDR       IMAP_ADDR
-
 static inline void cpm_set_brg(int brg, int baud)
 {
        cpm_setbrg(brg, baud);
index 4b77911..1b3219f 100644 (file)
@@ -20,9 +20,6 @@
 #define SCC3_IRQ       SIU_INT_SCC3
 #define SCC4_IRQ       SIU_INT_SCC4
 
-/* the CPM address */
-#define CPM_ADDR       CPM_MAP_ADDR
-
 static inline void cpm_set_brg(int brg, int baud)
 {
        cpm_setbrg(brg, baud);
index 1e2962f..c624915 100644 (file)
 #ifdef CONFIG_CPM2
 #include <asm/cpm2.h>
 
+#if defined(CONFIG_8260)
+#include <asm/mpc8260.h>
+#elif defined(CONFIG_85xx)
+#include <asm/mpc85xx.h>
+#endif
+
 #define cpm2_map(member)                                               \
 ({                                                                     \
        u32 offset = offsetof(cpm2_map_t, member);                      \
index 1cd5323..301c9bb 100644 (file)
@@ -732,6 +732,12 @@ static inline void * bus_to_virt(unsigned long address)
 
 #endif /* CONFIG_PPC32 */
 
+/* access ports */
+#define setbits32(_addr, _v) out_be32((_addr), in_be32(_addr) |  (_v))
+#define clrbits32(_addr, _v) out_be32((_addr), in_be32(_addr) & ~(_v))
+
+#define setbits16(_addr, _v) out_be16((_addr), in_be16(_addr) |  (_v))
+#define clrbits16(_addr, _v) out_be16((_addr), in_be16(_addr) & ~(_v))
 
 #endif /* __KERNEL__ */