mirror of https://gitee.com/openkylin/linux.git
[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>
This commit is contained in:
parent
73844ecbaa
commit
5427828e83
|
@ -65,8 +65,8 @@ soc8272@f0000000 {
|
|||
#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";
|
||||
|
@ -130,8 +130,8 @@ cpm@f0000000 {
|
|||
#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>;
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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. */
|
||||
|
@ -46,12 +47,12 @@
|
|||
#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)
|
||||
|
|
|
@ -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/
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -17,6 +17,12 @@
|
|||
#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); \
|
||||
|
|
|
@ -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__ */
|
||||
|
||||
|
|
Loading…
Reference in New Issue