diff options
author | Vitaly Bordug <vbordug@ru.mvista.com> | 2007-01-30 18:09:00 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-02-06 22:03:20 -0500 |
commit | 5427828e83b7f3c000eaec1cfb09c9bc4d024ad1 (patch) | |
tree | e65bb268f38177f71eea7304557972d979d74b28 | |
parent | 73844ecbaa58885c5e89af7d1b08faaffffa6833 (diff) |
[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: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/boot/dts/mpc8272ads.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/platforms/82xx/mpc82xx.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/82xx/mpc82xx_ads.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/82xx/pq2ads.h | 5 | ||||
-rw-r--r-- | arch/powerpc/platforms/Makefile | 1 | ||||
-rw-r--r-- | drivers/net/fs_enet/fs_enet.h | 1 | ||||
-rw-r--r-- | drivers/serial/cpm_uart/cpm_uart_cpm1.h | 3 | ||||
-rw-r--r-- | drivers/serial/cpm_uart/cpm_uart_cpm2.h | 3 | ||||
-rw-r--r-- | include/asm-powerpc/fs_pd.h | 6 | ||||
-rw-r--r-- | include/asm-powerpc/io.h | 6 |
10 files changed, 23 insertions, 14 deletions
diff --git a/arch/powerpc/boot/dts/mpc8272ads.dts b/arch/powerpc/boot/dts/mpc8272ads.dts index 286638e8af6e..26b44f7513dc 100644 --- a/arch/powerpc/boot/dts/mpc8272ads.dts +++ b/arch/powerpc/boot/dts/mpc8272ads.dts | |||
@@ -65,8 +65,8 @@ | |||
65 | #size-cells = <1>; | 65 | #size-cells = <1>; |
66 | #interrupt-cells = <2>; | 66 | #interrupt-cells = <2>; |
67 | device_type = "soc"; | 67 | device_type = "soc"; |
68 | ranges = < 0 0 2 00000000 f0000000 00053000>; | 68 | ranges = <00000000 f0000000 00053000>; |
69 | reg = <f0000000 0>; | 69 | reg = <f0000000 10000>; |
70 | 70 | ||
71 | mdio@0 { | 71 | mdio@0 { |
72 | device_type = "mdio"; | 72 | device_type = "mdio"; |
@@ -130,8 +130,8 @@ | |||
130 | #interrupt-cells = <2>; | 130 | #interrupt-cells = <2>; |
131 | device_type = "cpm"; | 131 | device_type = "cpm"; |
132 | model = "CPM2"; | 132 | model = "CPM2"; |
133 | ranges = <00000000 00000000 3ffff>; | 133 | ranges = <00000000 00000000 20000>; |
134 | reg = <10d80 3280>; | 134 | reg = <0 20000>; |
135 | command-proc = <119c0>; | 135 | command-proc = <119c0>; |
136 | brg-frequency = <17D7840>; | 136 | brg-frequency = <17D7840>; |
137 | cpm_clk = <BEBC200>; | 137 | cpm_clk = <BEBC200>; |
diff --git a/arch/powerpc/platforms/82xx/mpc82xx.c b/arch/powerpc/platforms/82xx/mpc82xx.c index 0f5b30dc60da..74e7892cdfcf 100644 --- a/arch/powerpc/platforms/82xx/mpc82xx.c +++ b/arch/powerpc/platforms/82xx/mpc82xx.c | |||
@@ -50,7 +50,7 @@ | |||
50 | #include <sysdev/fsl_soc.h> | 50 | #include <sysdev/fsl_soc.h> |
51 | #include <sysdev/cpm2_pic.h> | 51 | #include <sysdev/cpm2_pic.h> |
52 | 52 | ||
53 | #include "pq2ads_pd.h" | 53 | #include "pq2ads.h" |
54 | 54 | ||
55 | static int __init get_freq(char *name, unsigned long *val) | 55 | static int __init get_freq(char *name, unsigned long *val) |
56 | { | 56 | { |
diff --git a/arch/powerpc/platforms/82xx/mpc82xx_ads.c b/arch/powerpc/platforms/82xx/mpc82xx_ads.c index ea880f1f0dcd..7334c1a15b90 100644 --- a/arch/powerpc/platforms/82xx/mpc82xx_ads.c +++ b/arch/powerpc/platforms/82xx/mpc82xx_ads.c | |||
@@ -51,7 +51,7 @@ | |||
51 | #include <sysdev/fsl_soc.h> | 51 | #include <sysdev/fsl_soc.h> |
52 | #include <../sysdev/cpm2_pic.h> | 52 | #include <../sysdev/cpm2_pic.h> |
53 | 53 | ||
54 | #include "pq2ads_pd.h" | 54 | #include "pq2ads.h" |
55 | 55 | ||
56 | #ifdef CONFIG_PCI | 56 | #ifdef CONFIG_PCI |
57 | static uint pci_clk_frq; | 57 | static uint pci_clk_frq; |
diff --git a/arch/powerpc/platforms/82xx/pq2ads.h b/arch/powerpc/platforms/82xx/pq2ads.h index fb2f92bcd770..5b5cca6c8c88 100644 --- a/arch/powerpc/platforms/82xx/pq2ads.h +++ b/arch/powerpc/platforms/82xx/pq2ads.h | |||
@@ -22,6 +22,7 @@ | |||
22 | #ifndef __MACH_ADS8260_DEFS | 22 | #ifndef __MACH_ADS8260_DEFS |
23 | #define __MACH_ADS8260_DEFS | 23 | #define __MACH_ADS8260_DEFS |
24 | 24 | ||
25 | #include <linux/seq_file.h> | ||
25 | #include <asm/ppcboot.h> | 26 | #include <asm/ppcboot.h> |
26 | 27 | ||
27 | /* For our show_cpuinfo hooks. */ | 28 | /* For our show_cpuinfo hooks. */ |
@@ -46,12 +47,12 @@ | |||
46 | #define BCSR1_RS232_EN1 ((uint)0x02000000) /* 0 ==enable */ | 47 | #define BCSR1_RS232_EN1 ((uint)0x02000000) /* 0 ==enable */ |
47 | #define BCSR1_RS232_EN2 ((uint)0x01000000) /* 0 ==enable */ | 48 | #define BCSR1_RS232_EN2 ((uint)0x01000000) /* 0 ==enable */ |
48 | #define BCSR3_FETHIEN2 ((uint)0x10000000) /* 0 == enable*/ | 49 | #define BCSR3_FETHIEN2 ((uint)0x10000000) /* 0 == enable*/ |
49 | #define BCSR3_FETH2_RS ((uint)0x80000000) /* 0 == reset */ | 50 | #define BCSR3_FETH2_RST ((uint)0x80000000) /* 0 == reset */ |
50 | 51 | ||
51 | /* cpm serial driver works with constants below */ | 52 | /* cpm serial driver works with constants below */ |
52 | 53 | ||
53 | #define SIU_INT_SMC1 ((uint)0x04+CPM_IRQ_OFFSET) | 54 | #define SIU_INT_SMC1 ((uint)0x04+CPM_IRQ_OFFSET) |
54 | #define SIU_INT_SMC2i ((uint)0x05+CPM_IRQ_OFFSET) | 55 | #define SIU_INT_SMC2 ((uint)0x05+CPM_IRQ_OFFSET) |
55 | #define SIU_INT_SCC1 ((uint)0x28+CPM_IRQ_OFFSET) | 56 | #define SIU_INT_SCC1 ((uint)0x28+CPM_IRQ_OFFSET) |
56 | #define SIU_INT_SCC2 ((uint)0x29+CPM_IRQ_OFFSET) | 57 | #define SIU_INT_SCC2 ((uint)0x29+CPM_IRQ_OFFSET) |
57 | #define SIU_INT_SCC3 ((uint)0x2a+CPM_IRQ_OFFSET) | 58 | #define SIU_INT_SCC3 ((uint)0x2a+CPM_IRQ_OFFSET) |
diff --git a/arch/powerpc/platforms/Makefile b/arch/powerpc/platforms/Makefile index 7f03ea9ab366..f164005c66b9 100644 --- a/arch/powerpc/platforms/Makefile +++ b/arch/powerpc/platforms/Makefile | |||
@@ -9,6 +9,7 @@ obj-$(CONFIG_PPC_MPC52xx) += 52xx/ | |||
9 | obj-$(CONFIG_PPC_CHRP) += chrp/ | 9 | obj-$(CONFIG_PPC_CHRP) += chrp/ |
10 | obj-$(CONFIG_4xx) += 4xx/ | 10 | obj-$(CONFIG_4xx) += 4xx/ |
11 | obj-$(CONFIG_PPC_8xx) += 8xx/ | 11 | obj-$(CONFIG_PPC_8xx) += 8xx/ |
12 | obj-$(CONFIG_PPC_82xx) += 82xx/ | ||
12 | obj-$(CONFIG_PPC_83xx) += 83xx/ | 13 | obj-$(CONFIG_PPC_83xx) += 83xx/ |
13 | obj-$(CONFIG_PPC_85xx) += 85xx/ | 14 | obj-$(CONFIG_PPC_85xx) += 85xx/ |
14 | obj-$(CONFIG_PPC_86xx) += 86xx/ | 15 | obj-$(CONFIG_PPC_86xx) += 86xx/ |
diff --git a/drivers/net/fs_enet/fs_enet.h b/drivers/net/fs_enet/fs_enet.h index 92590d8fc24b..569be225cd05 100644 --- a/drivers/net/fs_enet/fs_enet.h +++ b/drivers/net/fs_enet/fs_enet.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <linux/dma-mapping.h> | 9 | #include <linux/dma-mapping.h> |
10 | 10 | ||
11 | #include <linux/fs_enet_pd.h> | 11 | #include <linux/fs_enet_pd.h> |
12 | #include <asm/fs_pd.h> | ||
12 | 13 | ||
13 | #ifdef CONFIG_CPM1 | 14 | #ifdef CONFIG_CPM1 |
14 | #include <asm/commproc.h> | 15 | #include <asm/commproc.h> |
diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm1.h b/drivers/serial/cpm_uart/cpm_uart_cpm1.h index 5eb49ea63bfe..a99e45e2b6d8 100644 --- a/drivers/serial/cpm_uart/cpm_uart_cpm1.h +++ b/drivers/serial/cpm_uart/cpm_uart_cpm1.h | |||
@@ -20,9 +20,6 @@ | |||
20 | #define SCC3_IRQ (CPM_IRQ_OFFSET + CPMVEC_SCC3) | 20 | #define SCC3_IRQ (CPM_IRQ_OFFSET + CPMVEC_SCC3) |
21 | #define SCC4_IRQ (CPM_IRQ_OFFSET + CPMVEC_SCC4) | 21 | #define SCC4_IRQ (CPM_IRQ_OFFSET + CPMVEC_SCC4) |
22 | 22 | ||
23 | /* the CPM address */ | ||
24 | #define CPM_ADDR IMAP_ADDR | ||
25 | |||
26 | static inline void cpm_set_brg(int brg, int baud) | 23 | static inline void cpm_set_brg(int brg, int baud) |
27 | { | 24 | { |
28 | cpm_setbrg(brg, baud); | 25 | cpm_setbrg(brg, baud); |
diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm2.h b/drivers/serial/cpm_uart/cpm_uart_cpm2.h index 4b779111eaf9..1b3219f56c81 100644 --- a/drivers/serial/cpm_uart/cpm_uart_cpm2.h +++ b/drivers/serial/cpm_uart/cpm_uart_cpm2.h | |||
@@ -20,9 +20,6 @@ | |||
20 | #define SCC3_IRQ SIU_INT_SCC3 | 20 | #define SCC3_IRQ SIU_INT_SCC3 |
21 | #define SCC4_IRQ SIU_INT_SCC4 | 21 | #define SCC4_IRQ SIU_INT_SCC4 |
22 | 22 | ||
23 | /* the CPM address */ | ||
24 | #define CPM_ADDR CPM_MAP_ADDR | ||
25 | |||
26 | static inline void cpm_set_brg(int brg, int baud) | 23 | static inline void cpm_set_brg(int brg, int baud) |
27 | { | 24 | { |
28 | cpm_setbrg(brg, baud); | 25 | cpm_setbrg(brg, baud); |
diff --git a/include/asm-powerpc/fs_pd.h b/include/asm-powerpc/fs_pd.h index 1e2962fc4fa8..c624915b757e 100644 --- a/include/asm-powerpc/fs_pd.h +++ b/include/asm-powerpc/fs_pd.h | |||
@@ -17,6 +17,12 @@ | |||
17 | #ifdef CONFIG_CPM2 | 17 | #ifdef CONFIG_CPM2 |
18 | #include <asm/cpm2.h> | 18 | #include <asm/cpm2.h> |
19 | 19 | ||
20 | #if defined(CONFIG_8260) | ||
21 | #include <asm/mpc8260.h> | ||
22 | #elif defined(CONFIG_85xx) | ||
23 | #include <asm/mpc85xx.h> | ||
24 | #endif | ||
25 | |||
20 | #define cpm2_map(member) \ | 26 | #define cpm2_map(member) \ |
21 | ({ \ | 27 | ({ \ |
22 | u32 offset = offsetof(cpm2_map_t, member); \ | 28 | u32 offset = offsetof(cpm2_map_t, member); \ |
diff --git a/include/asm-powerpc/io.h b/include/asm-powerpc/io.h index 1cd532379c30..301c9bb308b1 100644 --- a/include/asm-powerpc/io.h +++ b/include/asm-powerpc/io.h | |||
@@ -732,6 +732,12 @@ static inline void * bus_to_virt(unsigned long address) | |||
732 | 732 | ||
733 | #endif /* CONFIG_PPC32 */ | 733 | #endif /* CONFIG_PPC32 */ |
734 | 734 | ||
735 | /* access ports */ | ||
736 | #define setbits32(_addr, _v) out_be32((_addr), in_be32(_addr) | (_v)) | ||
737 | #define clrbits32(_addr, _v) out_be32((_addr), in_be32(_addr) & ~(_v)) | ||
738 | |||
739 | #define setbits16(_addr, _v) out_be16((_addr), in_be16(_addr) | (_v)) | ||
740 | #define clrbits16(_addr, _v) out_be16((_addr), in_be16(_addr) & ~(_v)) | ||
735 | 741 | ||
736 | #endif /* __KERNEL__ */ | 742 | #endif /* __KERNEL__ */ |
737 | 743 | ||