Commit 5427828e authored by Vitaly Bordug's avatar Vitaly Bordug Committed by Paul Mackerras

[POWERPC] Fix kernel build errors for mpc8272ads and mpc8560ads

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: default avatarVitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 73844ecb
...@@ -65,8 +65,8 @@ soc8272@f0000000 { ...@@ -65,8 +65,8 @@ soc8272@f0000000 {
#size-cells = <1>; #size-cells = <1>;
#interrupt-cells = <2>; #interrupt-cells = <2>;
device_type = "soc"; device_type = "soc";
ranges = < 0 0 2 00000000 f0000000 00053000>; ranges = <00000000 f0000000 00053000>;
reg = <f0000000 0>; reg = <f0000000 10000>;
mdio@0 { mdio@0 {
device_type = "mdio"; device_type = "mdio";
...@@ -130,8 +130,8 @@ cpm@f0000000 { ...@@ -130,8 +130,8 @@ cpm@f0000000 {
#interrupt-cells = <2>; #interrupt-cells = <2>;
device_type = "cpm"; device_type = "cpm";
model = "CPM2"; model = "CPM2";
ranges = <00000000 00000000 3ffff>; ranges = <00000000 00000000 20000>;
reg = <10d80 3280>; reg = <0 20000>;
command-proc = <119c0>; command-proc = <119c0>;
brg-frequency = <17D7840>; brg-frequency = <17D7840>;
cpm_clk = <BEBC200>; cpm_clk = <BEBC200>;
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
#include <sysdev/fsl_soc.h> #include <sysdev/fsl_soc.h>
#include <sysdev/cpm2_pic.h> #include <sysdev/cpm2_pic.h>
#include "pq2ads_pd.h" #include "pq2ads.h"
static int __init get_freq(char *name, unsigned long *val) static int __init get_freq(char *name, unsigned long *val)
{ {
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
#include <sysdev/fsl_soc.h> #include <sysdev/fsl_soc.h>
#include <../sysdev/cpm2_pic.h> #include <../sysdev/cpm2_pic.h>
#include "pq2ads_pd.h" #include "pq2ads.h"
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
static uint pci_clk_frq; static uint pci_clk_frq;
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#ifndef __MACH_ADS8260_DEFS #ifndef __MACH_ADS8260_DEFS
#define __MACH_ADS8260_DEFS #define __MACH_ADS8260_DEFS
#include <linux/seq_file.h>
#include <asm/ppcboot.h> #include <asm/ppcboot.h>
/* For our show_cpuinfo hooks. */ /* For our show_cpuinfo hooks. */
...@@ -46,12 +47,12 @@ ...@@ -46,12 +47,12 @@
#define BCSR1_RS232_EN1 ((uint)0x02000000) /* 0 ==enable */ #define BCSR1_RS232_EN1 ((uint)0x02000000) /* 0 ==enable */
#define BCSR1_RS232_EN2 ((uint)0x01000000) /* 0 ==enable */ #define BCSR1_RS232_EN2 ((uint)0x01000000) /* 0 ==enable */
#define BCSR3_FETHIEN2 ((uint)0x10000000) /* 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 */ /* cpm serial driver works with constants below */
#define SIU_INT_SMC1 ((uint)0x04+CPM_IRQ_OFFSET) #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_SCC1 ((uint)0x28+CPM_IRQ_OFFSET)
#define SIU_INT_SCC2 ((uint)0x29+CPM_IRQ_OFFSET) #define SIU_INT_SCC2 ((uint)0x29+CPM_IRQ_OFFSET)
#define SIU_INT_SCC3 ((uint)0x2a+CPM_IRQ_OFFSET) #define SIU_INT_SCC3 ((uint)0x2a+CPM_IRQ_OFFSET)
......
...@@ -9,6 +9,7 @@ obj-$(CONFIG_PPC_MPC52xx) += 52xx/ ...@@ -9,6 +9,7 @@ obj-$(CONFIG_PPC_MPC52xx) += 52xx/
obj-$(CONFIG_PPC_CHRP) += chrp/ obj-$(CONFIG_PPC_CHRP) += chrp/
obj-$(CONFIG_4xx) += 4xx/ obj-$(CONFIG_4xx) += 4xx/
obj-$(CONFIG_PPC_8xx) += 8xx/ obj-$(CONFIG_PPC_8xx) += 8xx/
obj-$(CONFIG_PPC_82xx) += 82xx/
obj-$(CONFIG_PPC_83xx) += 83xx/ obj-$(CONFIG_PPC_83xx) += 83xx/
obj-$(CONFIG_PPC_85xx) += 85xx/ obj-$(CONFIG_PPC_85xx) += 85xx/
obj-$(CONFIG_PPC_86xx) += 86xx/ obj-$(CONFIG_PPC_86xx) += 86xx/
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/fs_enet_pd.h> #include <linux/fs_enet_pd.h>
#include <asm/fs_pd.h>
#ifdef CONFIG_CPM1 #ifdef CONFIG_CPM1
#include <asm/commproc.h> #include <asm/commproc.h>
......
...@@ -20,9 +20,6 @@ ...@@ -20,9 +20,6 @@
#define SCC3_IRQ (CPM_IRQ_OFFSET + CPMVEC_SCC3) #define SCC3_IRQ (CPM_IRQ_OFFSET + CPMVEC_SCC3)
#define SCC4_IRQ (CPM_IRQ_OFFSET + CPMVEC_SCC4) #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) static inline void cpm_set_brg(int brg, int baud)
{ {
cpm_setbrg(brg, baud); cpm_setbrg(brg, baud);
......
...@@ -20,9 +20,6 @@ ...@@ -20,9 +20,6 @@
#define SCC3_IRQ SIU_INT_SCC3 #define SCC3_IRQ SIU_INT_SCC3
#define SCC4_IRQ SIU_INT_SCC4 #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) static inline void cpm_set_brg(int brg, int baud)
{ {
cpm_setbrg(brg, baud); cpm_setbrg(brg, baud);
......
...@@ -17,6 +17,12 @@ ...@@ -17,6 +17,12 @@
#ifdef CONFIG_CPM2 #ifdef CONFIG_CPM2
#include <asm/cpm2.h> #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) \ #define cpm2_map(member) \
({ \ ({ \
u32 offset = offsetof(cpm2_map_t, member); \ u32 offset = offsetof(cpm2_map_t, member); \
......
...@@ -732,6 +732,12 @@ static inline void * bus_to_virt(unsigned long address) ...@@ -732,6 +732,12 @@ static inline void * bus_to_virt(unsigned long address)
#endif /* CONFIG_PPC32 */ #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__ */ #endif /* __KERNEL__ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment