diff for duplicates of <11224856623638@foobar.com> diff --git a/a/1.txt b/N1/1.txt index 283949a..5852c96 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -8,67 +8,65 @@ Signed-off-by: Matt Porter <mporter@kernel.crashing.org> diff --git a/arch/ppc/boot/simple/Makefile b/arch/ppc/boot/simple/Makefile --- a/arch/ppc/boot/simple/Makefile +++ b/arch/ppc/boot/simple/Makefile -@@ -61,6 +61,12 @@ zimageinitrd-$(CONFIG_IBM_OPENBIOS) :=3D z - end-$(CONFIG_EMBEDDEDBOOT) :=3D embedded - misc-$(CONFIG_EMBEDDEDBOOT) :=3D misc-embedded.o -=20 -+ zimage-$(CONFIG_BAMBOO) :=3D zImage-TREE -+zimageinitrd-$(CONFIG_BAMBOO) :=3D zImage.initrd-TREE -+ end-$(CONFIG_BAMBOO) :=3D bamboo -+ entrypoint-$(CONFIG_BAMBOO) :=3D 0x01000000 -+ extra.o-$(CONFIG_BAMBOO) :=3D pibs.o +@@ -61,6 +61,12 @@ zimageinitrd-$(CONFIG_IBM_OPENBIOS) := z + end-$(CONFIG_EMBEDDEDBOOT) := embedded + misc-$(CONFIG_EMBEDDEDBOOT) := misc-embedded.o + ++ zimage-$(CONFIG_BAMBOO) := zImage-TREE ++zimageinitrd-$(CONFIG_BAMBOO) := zImage.initrd-TREE ++ end-$(CONFIG_BAMBOO) := bamboo ++ entrypoint-$(CONFIG_BAMBOO) := 0x01000000 ++ extra.o-$(CONFIG_BAMBOO) := pibs.o + - zimage-$(CONFIG_EBONY) :=3D zImage-TREE - zimageinitrd-$(CONFIG_EBONY) :=3D zImage.initrd-TREE - end-$(CONFIG_EBONY) :=3D ebony + zimage-$(CONFIG_EBONY) := zImage-TREE + zimageinitrd-$(CONFIG_EBONY) := zImage.initrd-TREE + end-$(CONFIG_EBONY) := ebony diff --git a/arch/ppc/boot/simple/pibs.c b/arch/ppc/boot/simple/pibs.c --- a/arch/ppc/boot/simple/pibs.c +++ b/arch/ppc/boot/simple/pibs.c @@ -91,9 +91,11 @@ load_kernel(unsigned long load_addr, int -=20 - mac64 =3D simple_strtoull((char *)PIBS_MAC_BASE, 0, 16); + + mac64 = simple_strtoull((char *)PIBS_MAC_BASE, 0, 16); memcpy(hold_residual->bi_enetaddr, (char *)&mac64+2, 6); -#ifdef CONFIG_440GX +#if defined(CONFIG_440GX) || defined(CONFIG_440EP) - mac64 =3D simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET), 0, 16); + mac64 = simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET), 0, 16); memcpy(hold_residual->bi_enet1addr, (char *)&mac64+2, 6); +#endif +#ifdef CONFIG_440GX - mac64 =3D simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*2), 0, 1= -6); + mac64 = simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*2), 0, 16); memcpy(hold_residual->bi_enet2addr, (char *)&mac64+2, 6); - mac64 =3D simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*3), 0, 1= -6); + mac64 = simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*3), 0, 16); diff --git a/arch/ppc/kernel/cputable.c b/arch/ppc/kernel/cputable.c --- a/arch/ppc/kernel/cputable.c +++ b/arch/ppc/kernel/cputable.c -@@ -852,6 +852,26 @@ struct cpu_spec cpu_specs[] =3D { -=20 +@@ -852,6 +852,26 @@ struct cpu_spec cpu_specs[] = { + #endif /* CONFIG_40x */ #ifdef CONFIG_44x + { -+ .pvr_mask =3D 0xf0000fff, -+ .pvr_value =3D 0x40000850, -+ .cpu_name =3D "440EP Rev. A", -+ .cpu_features =3D CPU_FTR_SPLIT_ID_CACHE | ++ .pvr_mask = 0xf0000fff, ++ .pvr_value = 0x40000850, ++ .cpu_name = "440EP Rev. A", ++ .cpu_features = CPU_FTR_SPLIT_ID_CACHE | + CPU_FTR_USE_TB, -+ .cpu_user_features =3D COMMON_PPC, /* 440EP has an FPU */ -+ .icache_bsize =3D 32, -+ .dcache_bsize =3D 32, ++ .cpu_user_features = COMMON_PPC, /* 440EP has an FPU */ ++ .icache_bsize = 32, ++ .dcache_bsize = 32, + }, + { -+ .pvr_mask =3D 0xf0000fff, -+ .pvr_value =3D 0x400008d3, -+ .cpu_name =3D "440EP Rev. B", -+ .cpu_features =3D CPU_FTR_SPLIT_ID_CACHE | ++ .pvr_mask = 0xf0000fff, ++ .pvr_value = 0x400008d3, ++ .cpu_name = "440EP Rev. B", ++ .cpu_features = CPU_FTR_SPLIT_ID_CACHE | + CPU_FTR_USE_TB, -+ .cpu_user_features =3D COMMON_PPC, /* 440EP has an FPU */ -+ .icache_bsize =3D 32, -+ .dcache_bsize =3D 32, ++ .cpu_user_features = COMMON_PPC, /* 440EP has an FPU */ ++ .icache_bsize = 32, ++ .dcache_bsize = 32, + }, { /* 440GP Rev. B */ - .pvr_mask =3D 0xf0000fff, - .pvr_value =3D 0x40000440, + .pvr_mask = 0xf0000fff, + .pvr_value = 0x40000440, diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S --- a/arch/ppc/kernel/entry.S +++ b/arch/ppc/kernel/entry.S @@ -84,19 +82,19 @@ diff --git a/arch/ppc/kernel/head_44x.S b/arch/ppc/kernel/head_44x.S --- a/arch/ppc/kernel/head_44x.S +++ b/arch/ppc/kernel/head_44x.S @@ -190,7 +190,9 @@ skpinv: addi r4,r4,1 /* Increment */ -=20 + /* xlat fields */ lis r4,UART0_PHYS_IO_BASE@h /* RPN depends on SoC */ +#ifndef CONFIG_440EP ori r4,r4,0x0001 /* ERPN is 1 for second 4GB page */ +#endif -=20 + /* attrib fields */ li r5,0 @@ -228,6 +230,16 @@ skpinv: addi r4,r4,1 /* Increment */ lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */ mtspr SPRN_IVPR,r4 -=20 + +#ifdef CONFIG_440EP + /* Clear DAPUIB flag in CCR0 (enable APU between CPU and FPU) */ + mfspr r2,SPRN_CCR0 @@ -127,7 +125,7 @@ diff --git a/arch/ppc/platforms/4xx/Kconfig b/arch/ppc/platforms/4xx/Kconfig @@ -68,6 +68,11 @@ choice depends on 44x default EBONY -=20 + +config BAMBOO + bool "Bamboo" + help @@ -139,7 +137,7 @@ diff --git a/arch/ppc/platforms/4xx/Kconfig b/arch/ppc/platforms/4xx/Kconfig @@ -98,6 +103,12 @@ config NP405H depends on ASH default y -=20 + +config 440EP + bool + depends on BAMBOO @@ -150,18 +148,18 @@ diff --git a/arch/ppc/platforms/4xx/Kconfig b/arch/ppc/platforms/4xx/Kconfig bool depends on EBONY @@ -115,7 +126,7 @@ config 440SP -=20 + config 440 bool - depends on 440GP || 440SP + depends on 440GP || 440SP || 440EP default y -=20 + config 440A @@ -123,6 +134,11 @@ config 440A depends on 440GX default y -=20 + +config IBM440EP_ERR42 + bool + depends on 440EP @@ -171,38 +169,34 @@ diff --git a/arch/ppc/platforms/4xx/Kconfig b/arch/ppc/platforms/4xx/Kconfig config IBM405_ERR77 bool @@ -142,7 +158,7 @@ config BOOKE -=20 + config IBM_OCP bool -- depends on ASH || BUBINGA || CPCI405 || EBONY || EP405 || LUAN || OCOTEA = -|| REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT -+ depends on ASH || BAMBOO || BUBINGA || CPCI405 || EBONY || EP405 || LUAN = -|| OCOTEA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT +- depends on ASH || BUBINGA || CPCI405 || EBONY || EP405 || LUAN || OCOTEA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT ++ depends on ASH || BAMBOO || BUBINGA || CPCI405 || EBONY || EP405 || LUAN || OCOTEA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT default y -=20 + config XILINX_OCP -diff --git a/arch/ppc/platforms/4xx/Makefile b/arch/ppc/platforms/4xx/Makef= -ile +diff --git a/arch/ppc/platforms/4xx/Makefile b/arch/ppc/platforms/4xx/Makefile --- a/arch/ppc/platforms/4xx/Makefile +++ b/arch/ppc/platforms/4xx/Makefile @@ -2,6 +2,7 @@ # Makefile for the PowerPC 4xx linux kernel. -=20 - obj-$(CONFIG_ASH) +=3D ash.o -+obj-$(CONFIG_BAMBOO) +=3D bamboo.o - obj-$(CONFIG_CPCI405) +=3D cpci405.o - obj-$(CONFIG_EBONY) +=3D ebony.o - obj-$(CONFIG_EP405) +=3D ep405.o -@@ -19,6 +20,7 @@ obj-$(CONFIG_405GP) +=3D ibm405gp.o - obj-$(CONFIG_REDWOOD_5) +=3D ibmstb4.o - obj-$(CONFIG_NP405H) +=3D ibmnp405h.o - obj-$(CONFIG_REDWOOD_6) +=3D ibmstbx25.o -+obj-$(CONFIG_440EP) +=3D ibm440ep.o - obj-$(CONFIG_440GP) +=3D ibm440gp.o - obj-$(CONFIG_440GX) +=3D ibm440gx.o - obj-$(CONFIG_440SP) +=3D ibm440sp.o -diff --git a/arch/ppc/platforms/4xx/ibm440ep.c b/arch/ppc/platforms/4xx/ibm= -440ep.c + + obj-$(CONFIG_ASH) += ash.o ++obj-$(CONFIG_BAMBOO) += bamboo.o + obj-$(CONFIG_CPCI405) += cpci405.o + obj-$(CONFIG_EBONY) += ebony.o + obj-$(CONFIG_EP405) += ep405.o +@@ -19,6 +20,7 @@ obj-$(CONFIG_405GP) += ibm405gp.o + obj-$(CONFIG_REDWOOD_5) += ibmstb4.o + obj-$(CONFIG_NP405H) += ibmnp405h.o + obj-$(CONFIG_REDWOOD_6) += ibmstbx25.o ++obj-$(CONFIG_440EP) += ibm440ep.o + obj-$(CONFIG_440GP) += ibm440gp.o + obj-$(CONFIG_440GX) += ibm440gx.o + obj-$(CONFIG_440SP) += ibm440sp.o +diff --git a/arch/ppc/platforms/4xx/ibm440ep.c b/arch/ppc/platforms/4xx/ibm440ep.c new file mode 100644 --- /dev/null +++ b/arch/ppc/platforms/4xx/ibm440ep.c @@ -227,196 +221,196 @@ new file mode 100644 +#include <asm/ocp.h> +#include <asm/ppc4xx_pic.h> + -+static struct ocp_func_emac_data ibm440ep_emac0_def =3D { -+ .rgmii_idx =3D -1, /* No RGMII */ -+ .rgmii_mux =3D -1, /* No RGMII */ -+ .zmii_idx =3D 0, /* ZMII device index */ -+ .zmii_mux =3D 0, /* ZMII input of this EMAC */ -+ .mal_idx =3D 0, /* MAL device index */ -+ .mal_rx_chan =3D 0, /* MAL rx channel number */ -+ .mal_tx_chan =3D 0, /* MAL tx channel number */ -+ .wol_irq =3D 61, /* WOL interrupt number */ -+ .mdio_idx =3D -1, /* No shared MDIO */ -+ .tah_idx =3D -1, /* No TAH */ ++static struct ocp_func_emac_data ibm440ep_emac0_def = { ++ .rgmii_idx = -1, /* No RGMII */ ++ .rgmii_mux = -1, /* No RGMII */ ++ .zmii_idx = 0, /* ZMII device index */ ++ .zmii_mux = 0, /* ZMII input of this EMAC */ ++ .mal_idx = 0, /* MAL device index */ ++ .mal_rx_chan = 0, /* MAL rx channel number */ ++ .mal_tx_chan = 0, /* MAL tx channel number */ ++ .wol_irq = 61, /* WOL interrupt number */ ++ .mdio_idx = -1, /* No shared MDIO */ ++ .tah_idx = -1, /* No TAH */ +}; + -+static struct ocp_func_emac_data ibm440ep_emac1_def =3D { -+ .rgmii_idx =3D -1, /* No RGMII */ -+ .rgmii_mux =3D -1, /* No RGMII */ -+ .zmii_idx =3D 0, /* ZMII device index */ -+ .zmii_mux =3D 1, /* ZMII input of this EMAC */ -+ .mal_idx =3D 0, /* MAL device index */ -+ .mal_rx_chan =3D 1, /* MAL rx channel number */ -+ .mal_tx_chan =3D 2, /* MAL tx channel number */ -+ .wol_irq =3D 63, /* WOL interrupt number */ -+ .mdio_idx =3D -1, /* No shared MDIO */ -+ .tah_idx =3D -1, /* No TAH */ ++static struct ocp_func_emac_data ibm440ep_emac1_def = { ++ .rgmii_idx = -1, /* No RGMII */ ++ .rgmii_mux = -1, /* No RGMII */ ++ .zmii_idx = 0, /* ZMII device index */ ++ .zmii_mux = 1, /* ZMII input of this EMAC */ ++ .mal_idx = 0, /* MAL device index */ ++ .mal_rx_chan = 1, /* MAL rx channel number */ ++ .mal_tx_chan = 2, /* MAL tx channel number */ ++ .wol_irq = 63, /* WOL interrupt number */ ++ .mdio_idx = -1, /* No shared MDIO */ ++ .tah_idx = -1, /* No TAH */ +}; +OCP_SYSFS_EMAC_DATA() + -+static struct ocp_func_mal_data ibm440ep_mal0_def =3D { -+ .num_tx_chans =3D 4, /* Number of TX channels */ -+ .num_rx_chans =3D 2, /* Number of RX channels */ -+ .txeob_irq =3D 10, /* TX End Of Buffer IRQ */ -+ .rxeob_irq =3D 11, /* RX End Of Buffer IRQ */ -+ .txde_irq =3D 33, /* TX Descriptor Error IRQ */ -+ .rxde_irq =3D 34, /* RX Descriptor Error IRQ */ -+ .serr_irq =3D 32, /* MAL System Error IRQ */ ++static struct ocp_func_mal_data ibm440ep_mal0_def = { ++ .num_tx_chans = 4, /* Number of TX channels */ ++ .num_rx_chans = 2, /* Number of RX channels */ ++ .txeob_irq = 10, /* TX End Of Buffer IRQ */ ++ .rxeob_irq = 11, /* RX End Of Buffer IRQ */ ++ .txde_irq = 33, /* TX Descriptor Error IRQ */ ++ .rxde_irq = 34, /* RX Descriptor Error IRQ */ ++ .serr_irq = 32, /* MAL System Error IRQ */ +}; +OCP_SYSFS_MAL_DATA() + -+static struct ocp_func_iic_data ibm440ep_iic0_def =3D { -+ .fast_mode =3D 0, /* Use standad mode (100Khz) */ ++static struct ocp_func_iic_data ibm440ep_iic0_def = { ++ .fast_mode = 0, /* Use standad mode (100Khz) */ +}; + -+static struct ocp_func_iic_data ibm440ep_iic1_def =3D { -+ .fast_mode =3D 0, /* Use standad mode (100Khz) */ ++static struct ocp_func_iic_data ibm440ep_iic1_def = { ++ .fast_mode = 0, /* Use standad mode (100Khz) */ +}; +OCP_SYSFS_IIC_DATA() + -+struct ocp_def core_ocp[] =3D { -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_OPB, -+ .index =3D 0, -+ .paddr =3D 0x0EF600000ULL, -+ .irq =3D OCP_IRQ_NA, -+ .pm =3D OCP_CPM_NA, ++struct ocp_def core_ocp[] = { ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_OPB, ++ .index = 0, ++ .paddr = 0x0EF600000ULL, ++ .irq = OCP_IRQ_NA, ++ .pm = OCP_CPM_NA, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_16550, -+ .index =3D 0, -+ .paddr =3D PPC440EP_UART0_ADDR, -+ .irq =3D UART0_INT, -+ .pm =3D IBM_CPM_UART0, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_16550, ++ .index = 0, ++ .paddr = PPC440EP_UART0_ADDR, ++ .irq = UART0_INT, ++ .pm = IBM_CPM_UART0, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_16550, -+ .index =3D 1, -+ .paddr =3D PPC440EP_UART1_ADDR, -+ .irq =3D UART1_INT, -+ .pm =3D IBM_CPM_UART1, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_16550, ++ .index = 1, ++ .paddr = PPC440EP_UART1_ADDR, ++ .irq = UART1_INT, ++ .pm = IBM_CPM_UART1, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_16550, -+ .index =3D 2, -+ .paddr =3D PPC440EP_UART2_ADDR, -+ .irq =3D UART2_INT, -+ .pm =3D IBM_CPM_UART2, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_16550, ++ .index = 2, ++ .paddr = PPC440EP_UART2_ADDR, ++ .irq = UART2_INT, ++ .pm = IBM_CPM_UART2, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_16550, -+ .index =3D 3, -+ .paddr =3D PPC440EP_UART3_ADDR, -+ .irq =3D UART3_INT, -+ .pm =3D IBM_CPM_UART3, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_16550, ++ .index = 3, ++ .paddr = PPC440EP_UART3_ADDR, ++ .irq = UART3_INT, ++ .pm = IBM_CPM_UART3, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_IIC, -+ .index =3D 0, -+ .paddr =3D 0x0EF600700ULL, -+ .irq =3D 2, -+ .pm =3D IBM_CPM_IIC0, -+ .additions =3D &ibm440ep_iic0_def, -+ .show =3D &ocp_show_iic_data ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_IIC, ++ .index = 0, ++ .paddr = 0x0EF600700ULL, ++ .irq = 2, ++ .pm = IBM_CPM_IIC0, ++ .additions = &ibm440ep_iic0_def, ++ .show = &ocp_show_iic_data + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_IIC, -+ .index =3D 1, -+ .paddr =3D 0x0EF600800ULL, -+ .irq =3D 7, -+ .pm =3D IBM_CPM_IIC1, -+ .additions =3D &ibm440ep_iic1_def, -+ .show =3D &ocp_show_iic_data ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_IIC, ++ .index = 1, ++ .paddr = 0x0EF600800ULL, ++ .irq = 7, ++ .pm = IBM_CPM_IIC1, ++ .additions = &ibm440ep_iic1_def, ++ .show = &ocp_show_iic_data + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_GPIO, -+ .index =3D 0, -+ .paddr =3D 0x0EF600B00ULL, -+ .irq =3D OCP_IRQ_NA, -+ .pm =3D IBM_CPM_GPIO0, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_GPIO, ++ .index = 0, ++ .paddr = 0x0EF600B00ULL, ++ .irq = OCP_IRQ_NA, ++ .pm = IBM_CPM_GPIO0, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_GPIO, -+ .index =3D 1, -+ .paddr =3D 0x0EF600C00ULL, -+ .irq =3D OCP_IRQ_NA, -+ .pm =3D OCP_CPM_NA, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_GPIO, ++ .index = 1, ++ .paddr = 0x0EF600C00ULL, ++ .irq = OCP_IRQ_NA, ++ .pm = OCP_CPM_NA, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_MAL, -+ .paddr =3D OCP_PADDR_NA, -+ .irq =3D OCP_IRQ_NA, -+ .pm =3D OCP_CPM_NA, -+ .additions =3D &ibm440ep_mal0_def, -+ .show =3D &ocp_show_mal_data, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_MAL, ++ .paddr = OCP_PADDR_NA, ++ .irq = OCP_IRQ_NA, ++ .pm = OCP_CPM_NA, ++ .additions = &ibm440ep_mal0_def, ++ .show = &ocp_show_mal_data, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_EMAC, -+ .index =3D 0, -+ .paddr =3D 0x0EF600E00ULL, -+ .irq =3D 60, -+ .pm =3D OCP_CPM_NA, -+ .additions =3D &ibm440ep_emac0_def, -+ .show =3D &ocp_show_emac_data, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_EMAC, ++ .index = 0, ++ .paddr = 0x0EF600E00ULL, ++ .irq = 60, ++ .pm = OCP_CPM_NA, ++ .additions = &ibm440ep_emac0_def, ++ .show = &ocp_show_emac_data, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_EMAC, -+ .index =3D 1, -+ .paddr =3D 0x0EF600F00ULL, -+ .irq =3D 62, -+ .pm =3D OCP_CPM_NA, -+ .additions =3D &ibm440ep_emac1_def, -+ .show =3D &ocp_show_emac_data, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_EMAC, ++ .index = 1, ++ .paddr = 0x0EF600F00ULL, ++ .irq = 62, ++ .pm = OCP_CPM_NA, ++ .additions = &ibm440ep_emac1_def, ++ .show = &ocp_show_emac_data, + }, -+ { .vendor =3D OCP_VENDOR_IBM, -+ .function =3D OCP_FUNC_ZMII, -+ .paddr =3D 0x0EF600D00ULL, -+ .irq =3D OCP_IRQ_NA, -+ .pm =3D OCP_CPM_NA, ++ { .vendor = OCP_VENDOR_IBM, ++ .function = OCP_FUNC_ZMII, ++ .paddr = 0x0EF600D00ULL, ++ .irq = OCP_IRQ_NA, ++ .pm = OCP_CPM_NA, + }, -+ { .vendor =3D OCP_VENDOR_INVALID ++ { .vendor = OCP_VENDOR_INVALID + } +}; + +/* Polarity and triggering settings for internal interrupt sources */ -+struct ppc4xx_uic_settings ppc4xx_core_uic_cfg[] __initdata =3D { -+ { .polarity =3D 0xffbffe03, -+ .triggering =3D 0xfffffe00, -+ .ext_irq_mask =3D 0x000001fc, /* IRQ0 - IRQ6 */ ++struct ppc4xx_uic_settings ppc4xx_core_uic_cfg[] __initdata = { ++ { .polarity = 0xffbffe03, ++ .triggering = 0xfffffe00, ++ .ext_irq_mask = 0x000001fc, /* IRQ0 - IRQ6 */ + }, -+ { .polarity =3D 0xffffc6ef, -+ .triggering =3D 0xffffc7ff, -+ .ext_irq_mask =3D 0x00003800, /* IRQ7 - IRQ9 */ ++ { .polarity = 0xffffc6ef, ++ .triggering = 0xffffc7ff, ++ .ext_irq_mask = 0x00003800, /* IRQ7 - IRQ9 */ + }, +}; + -+static struct resource usb_gadget_resources[] =3D { -+ [0] =3D { -+ .start =3D 0x050000100ULL, -+ .end =3D 0x05000017FULL, -+ .flags =3D IORESOURCE_MEM, ++static struct resource usb_gadget_resources[] = { ++ [0] = { ++ .start = 0x050000100ULL, ++ .end = 0x05000017FULL, ++ .flags = IORESOURCE_MEM, + }, -+ [1] =3D { -+ .start =3D 55, -+ .end =3D 55, -+ .flags =3D IORESOURCE_IRQ, ++ [1] = { ++ .start = 55, ++ .end = 55, ++ .flags = IORESOURCE_IRQ, + }, +}; + -+static u64 dma_mask =3D 0xffffffffULL; ++static u64 dma_mask = 0xffffffffULL; + -+static struct platform_device usb_gadget_device =3D { -+ .name =3D "musbhsfc", -+ .id =3D 0, -+ .num_resources =3D ARRAY_SIZE(usb_gadget_resources), -+ .resource =3D usb_gadget_resources, -+ .dev =3D { -+ .dma_mask =3D &dma_mask, -+ .coherent_dma_mask =3D 0xffffffffULL, ++static struct platform_device usb_gadget_device = { ++ .name = "musbhsfc", ++ .id = 0, ++ .num_resources = ARRAY_SIZE(usb_gadget_resources), ++ .resource = usb_gadget_resources, ++ .dev = { ++ .dma_mask = &dma_mask, ++ .coherent_dma_mask = 0xffffffffULL, + } +}; + -+static struct platform_device *ibm440ep_devs[] __initdata =3D { ++static struct platform_device *ibm440ep_devs[] __initdata = { + &usb_gadget_device, +}; + @@ -427,8 +421,7 @@ new file mode 100644 +} +arch_initcall(ibm440ep_platform_add_devices); + -diff --git a/arch/ppc/platforms/4xx/ibm440ep.h b/arch/ppc/platforms/4xx/ibm= -440ep.h +diff --git a/arch/ppc/platforms/4xx/ibm440ep.h b/arch/ppc/platforms/4xx/ibm440ep.h new file mode 100644 --- /dev/null +++ b/arch/ppc/platforms/4xx/ibm440ep.h @@ -512,57 +505,55 @@ new file mode 100644 diff --git a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile --- a/arch/ppc/syslib/Makefile +++ b/arch/ppc/syslib/Makefile -@@ -11,6 +11,7 @@ obj-$(CONFIG_PPCBUG_NVRAM) +=3D prep_nvram - obj-$(CONFIG_PPC_OCP) +=3D ocp.o - obj-$(CONFIG_IBM_OCP) +=3D ibm_ocp.o - obj-$(CONFIG_44x) +=3D ibm44x_common.o -+obj-$(CONFIG_440EP) +=3D ibm440gx_common.o - obj-$(CONFIG_440GP) +=3D ibm440gp_common.o - obj-$(CONFIG_440GX) +=3D ibm440gx_common.o - obj-$(CONFIG_440SP) +=3D ibm440gx_common.o ibm440sp_common.o -@@ -44,6 +45,7 @@ obj-$(CONFIG_PPC_CHRP) +=3D open_pic.o in - obj-$(CONFIG_PPC_PREP) +=3D open_pic.o indirect_pci.o i8259.o todc_time.o - obj-$(CONFIG_ADIR) +=3D i8259.o indirect_pci.o pci_auto.o \ +@@ -11,6 +11,7 @@ obj-$(CONFIG_PPCBUG_NVRAM) += prep_nvram + obj-$(CONFIG_PPC_OCP) += ocp.o + obj-$(CONFIG_IBM_OCP) += ibm_ocp.o + obj-$(CONFIG_44x) += ibm44x_common.o ++obj-$(CONFIG_440EP) += ibm440gx_common.o + obj-$(CONFIG_440GP) += ibm440gp_common.o + obj-$(CONFIG_440GX) += ibm440gx_common.o + obj-$(CONFIG_440SP) += ibm440gx_common.o ibm440sp_common.o +@@ -44,6 +45,7 @@ obj-$(CONFIG_PPC_CHRP) += open_pic.o in + obj-$(CONFIG_PPC_PREP) += open_pic.o indirect_pci.o i8259.o todc_time.o + obj-$(CONFIG_ADIR) += i8259.o indirect_pci.o pci_auto.o \ todc_time.o -+obj-$(CONFIG_BAMBOO) +=3D indirect_pci.o pci_auto.o todc_time.o - obj-$(CONFIG_CPCI690) +=3D todc_time.o pci_auto.o - obj-$(CONFIG_EBONY) +=3D indirect_pci.o pci_auto.o todc_time.o - obj-$(CONFIG_EV64260) +=3D todc_time.o pci_auto.o -diff --git a/arch/ppc/syslib/ibm440gx_common.c b/arch/ppc/syslib/ibm440gx_c= -ommon.c ++obj-$(CONFIG_BAMBOO) += indirect_pci.o pci_auto.o todc_time.o + obj-$(CONFIG_CPCI690) += todc_time.o pci_auto.o + obj-$(CONFIG_EBONY) += indirect_pci.o pci_auto.o todc_time.o + obj-$(CONFIG_EV64260) += todc_time.o pci_auto.o +diff --git a/arch/ppc/syslib/ibm440gx_common.c b/arch/ppc/syslib/ibm440gx_common.c --- a/arch/ppc/syslib/ibm440gx_common.c +++ b/arch/ppc/syslib/ibm440gx_common.c @@ -34,6 +34,10 @@ void __init ibm440gx_get_clocks(struct i - u32 plld =3D CPR_READ(DCRN_CPR_PLLD); - u32 uart0 =3D SDR_READ(DCRN_SDR_UART0); - u32 uart1 =3D SDR_READ(DCRN_SDR_UART1); + u32 plld = CPR_READ(DCRN_CPR_PLLD); + u32 uart0 = SDR_READ(DCRN_SDR_UART0); + u32 uart1 = SDR_READ(DCRN_SDR_UART1); +#ifdef CONFIG_440EP -+ u32 uart2 =3D SDR_READ(DCRN_SDR_UART2); -+ u32 uart3 =3D SDR_READ(DCRN_SDR_UART3); ++ u32 uart2 = SDR_READ(DCRN_SDR_UART2); ++ u32 uart3 = SDR_READ(DCRN_SDR_UART3); +#endif -=20 + /* Dividers */ - u32 fbdv =3D __fix_zero((plld >> 24) & 0x1f, 32); + u32 fbdv = __fix_zero((plld >> 24) & 0x1f, 32); @@ -96,6 +100,17 @@ bypass: - p->uart1 =3D ser_clk; + p->uart1 = ser_clk; else - p->uart1 =3D p->plb / __fix_zero(uart1 & 0xff, 256); + p->uart1 = p->plb / __fix_zero(uart1 & 0xff, 256); +#ifdef CONFIG_440EP + if (uart2 & 0x00800000) -+ p->uart2 =3D ser_clk; ++ p->uart2 = ser_clk; + else -+ p->uart2 =3D p->plb / __fix_zero(uart2 & 0xff, 256); -+=09 ++ p->uart2 = p->plb / __fix_zero(uart2 & 0xff, 256); ++ + if (uart3 & 0x00800000) -+ p->uart3 =3D ser_clk; ++ p->uart3 = ser_clk; + else -+ p->uart3 =3D p->plb / __fix_zero(uart3 & 0xff, 256); ++ p->uart3 = p->plb / __fix_zero(uart3 & 0xff, 256); +#endif } -=20 + /* Issue L2C diagnostic command */ -diff --git a/arch/ppc/syslib/ibm44x_common.h b/arch/ppc/syslib/ibm44x_commo= -n.h +diff --git a/arch/ppc/syslib/ibm44x_common.h b/arch/ppc/syslib/ibm44x_common.h --- a/arch/ppc/syslib/ibm44x_common.h +++ b/arch/ppc/syslib/ibm44x_common.h @@ -29,6 +29,10 @@ struct ibm44x_clocks { @@ -574,16 +565,15 @@ n.h + unsigned int uart3; +#endif }; -=20 + /* common 44x platform init */ diff --git a/include/asm-ppc/ibm44x.h b/include/asm-ppc/ibm44x.h --- a/include/asm-ppc/ibm44x.h +++ b/include/asm-ppc/ibm44x.h @@ -35,8 +35,10 @@ #define PPC44x_LOW_SLOT 63 -=20 - /* LS 32-bits of UART0 physical address location for early serial text deb= -ug */ + + /* LS 32-bits of UART0 physical address location for early serial text debug */ -#ifdef CONFIG_440SP +#if defined(CONFIG_440SP) #define UART0_PHYS_IO_BASE 0xf0000200 @@ -636,7 +626,7 @@ ug */ @@ -152,6 +166,12 @@ #define DCRN_SDR_UART0 0x0120 #define DCRN_SDR_UART1 0x0121 -=20 + +#ifdef CONFIG_440EP +#define DCRN_SDR_UART2 0x0122 +#define DCRN_SDR_UART3 0x0123 @@ -649,7 +639,7 @@ ug */ @@ -169,6 +189,14 @@ #define DCRNCAP_DMA_SG 1 /* have DMA scatter/gather capability */ #define DCRN_MAL_BASE 0x180 -=20 + +#ifdef CONFIG_440EP +#define DCRN_DMA2P40_BASE 0x300 +#define DCRN_DMA2P41_BASE 0x308 @@ -665,9 +655,9 @@ diff --git a/include/asm-ppc/ibm4xx.h b/include/asm-ppc/ibm4xx.h --- a/include/asm-ppc/ibm4xx.h +++ b/include/asm-ppc/ibm4xx.h @@ -97,6 +97,10 @@ void ppc4xx_init(unsigned long r3, unsig -=20 + #elif CONFIG_44x -=20 + +#if defined(CONFIG_BAMBOO) +#include <platforms/4xx/bamboo.h> +#endif @@ -681,7 +671,7 @@ diff --git a/include/asm-ppc/ppc_asm.h b/include/asm-ppc/ppc_asm.h @@ -186,6 +186,12 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601) #define PPC405_ERR77_SYNC #endif -=20 + +#ifdef CONFIG_IBM440EP_ERR42 +#define PPC440EP_ERR42 isync +#else @@ -689,5 +679,5 @@ diff --git a/include/asm-ppc/ppc_asm.h b/include/asm-ppc/ppc_asm.h +#endif + /* The boring bits... */ -=20 + /* Condition Register Bit Fields */ diff --git a/a/content_digest b/N1/content_digest index d8426ce..5ff7077 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -2,8 +2,9 @@ "Subject\0[PATCH][1/3] ppc32: add 440ep support\0" "Date\0Wed, 27 Jul 2005 10:34:22 -0700\0" "To\0akpm@osdl.org\0" - "Cc\0linux-kernel@vger.kernel.org" - " linuxppc-embedded@ozlabs.org\0" + "Cc\0wfarnsworth@mvista.com" + linuxppc-embedded@ozlabs.org + " linux-kernel@vger.kernel.org\0" "\00:1\0" "b\0" "\n" @@ -16,67 +17,65 @@ "diff --git a/arch/ppc/boot/simple/Makefile b/arch/ppc/boot/simple/Makefile\n" "--- a/arch/ppc/boot/simple/Makefile\n" "+++ b/arch/ppc/boot/simple/Makefile\n" - "@@ -61,6 +61,12 @@ zimageinitrd-$(CONFIG_IBM_OPENBIOS)\t:=3D z\n" - " end-$(CONFIG_EMBEDDEDBOOT)\t:=3D embedded\n" - " misc-$(CONFIG_EMBEDDEDBOOT)\t:=3D misc-embedded.o\n" - "=20\n" - "+ zimage-$(CONFIG_BAMBOO)\t\t:=3D zImage-TREE\n" - "+zimageinitrd-$(CONFIG_BAMBOO)\t\t:=3D zImage.initrd-TREE\n" - "+ end-$(CONFIG_BAMBOO)\t\t:=3D bamboo\n" - "+ entrypoint-$(CONFIG_BAMBOO)\t\t:=3D 0x01000000\n" - "+ extra.o-$(CONFIG_BAMBOO)\t\t:=3D pibs.o\n" + "@@ -61,6 +61,12 @@ zimageinitrd-$(CONFIG_IBM_OPENBIOS)\t:= z\n" + " end-$(CONFIG_EMBEDDEDBOOT)\t:= embedded\n" + " misc-$(CONFIG_EMBEDDEDBOOT)\t:= misc-embedded.o\n" + " \n" + "+ zimage-$(CONFIG_BAMBOO)\t\t:= zImage-TREE\n" + "+zimageinitrd-$(CONFIG_BAMBOO)\t\t:= zImage.initrd-TREE\n" + "+ end-$(CONFIG_BAMBOO)\t\t:= bamboo\n" + "+ entrypoint-$(CONFIG_BAMBOO)\t\t:= 0x01000000\n" + "+ extra.o-$(CONFIG_BAMBOO)\t\t:= pibs.o\n" "+\n" - " zimage-$(CONFIG_EBONY)\t\t:=3D zImage-TREE\n" - " zimageinitrd-$(CONFIG_EBONY)\t\t:=3D zImage.initrd-TREE\n" - " end-$(CONFIG_EBONY)\t\t:=3D ebony\n" + " zimage-$(CONFIG_EBONY)\t\t:= zImage-TREE\n" + " zimageinitrd-$(CONFIG_EBONY)\t\t:= zImage.initrd-TREE\n" + " end-$(CONFIG_EBONY)\t\t:= ebony\n" "diff --git a/arch/ppc/boot/simple/pibs.c b/arch/ppc/boot/simple/pibs.c\n" "--- a/arch/ppc/boot/simple/pibs.c\n" "+++ b/arch/ppc/boot/simple/pibs.c\n" "@@ -91,9 +91,11 @@ load_kernel(unsigned long load_addr, int\n" - "=20\n" - " \tmac64 =3D simple_strtoull((char *)PIBS_MAC_BASE, 0, 16);\n" + " \n" + " \tmac64 = simple_strtoull((char *)PIBS_MAC_BASE, 0, 16);\n" " \tmemcpy(hold_residual->bi_enetaddr, (char *)&mac64+2, 6);\n" "-#ifdef CONFIG_440GX\n" "+#if defined(CONFIG_440GX) || defined(CONFIG_440EP)\n" - " \tmac64 =3D simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET), 0, 16);\n" + " \tmac64 = simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET), 0, 16);\n" " \tmemcpy(hold_residual->bi_enet1addr, (char *)&mac64+2, 6);\n" "+#endif\n" "+#ifdef CONFIG_440GX\n" - " \tmac64 =3D simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*2), 0, 1=\n" - "6);\n" + " \tmac64 = simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*2), 0, 16);\n" " \tmemcpy(hold_residual->bi_enet2addr, (char *)&mac64+2, 6);\n" - " \tmac64 =3D simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*3), 0, 1=\n" - "6);\n" + " \tmac64 = simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*3), 0, 16);\n" "diff --git a/arch/ppc/kernel/cputable.c b/arch/ppc/kernel/cputable.c\n" "--- a/arch/ppc/kernel/cputable.c\n" "+++ b/arch/ppc/kernel/cputable.c\n" - "@@ -852,6 +852,26 @@ struct cpu_spec\tcpu_specs[] =3D {\n" - "=20\n" + "@@ -852,6 +852,26 @@ struct cpu_spec\tcpu_specs[] = {\n" + " \n" " #endif /* CONFIG_40x */\n" " #ifdef CONFIG_44x\n" "+\t{\n" - "+\t\t.pvr_mask\t\t=3D 0xf0000fff,\n" - "+\t\t.pvr_value\t\t=3D 0x40000850,\n" - "+\t\t.cpu_name\t\t=3D \"440EP Rev. A\",\n" - "+\t\t.cpu_features\t\t=3D CPU_FTR_SPLIT_ID_CACHE |\n" + "+\t\t.pvr_mask\t\t= 0xf0000fff,\n" + "+\t\t.pvr_value\t\t= 0x40000850,\n" + "+\t\t.cpu_name\t\t= \"440EP Rev. A\",\n" + "+\t\t.cpu_features\t\t= CPU_FTR_SPLIT_ID_CACHE |\n" "+\t\t\tCPU_FTR_USE_TB,\n" - "+\t\t.cpu_user_features\t=3D COMMON_PPC, /* 440EP has an FPU */\n" - "+\t\t.icache_bsize\t\t=3D 32,\n" - "+\t\t.dcache_bsize\t\t=3D 32,\n" + "+\t\t.cpu_user_features\t= COMMON_PPC, /* 440EP has an FPU */\n" + "+\t\t.icache_bsize\t\t= 32,\n" + "+\t\t.dcache_bsize\t\t= 32,\n" "+\t},\n" "+\t{\n" - "+\t\t.pvr_mask\t\t=3D 0xf0000fff,\n" - "+\t\t.pvr_value\t\t=3D 0x400008d3,\n" - "+\t\t.cpu_name\t\t=3D \"440EP Rev. B\",\n" - "+\t\t.cpu_features\t\t=3D CPU_FTR_SPLIT_ID_CACHE |\n" + "+\t\t.pvr_mask\t\t= 0xf0000fff,\n" + "+\t\t.pvr_value\t\t= 0x400008d3,\n" + "+\t\t.cpu_name\t\t= \"440EP Rev. B\",\n" + "+\t\t.cpu_features\t\t= CPU_FTR_SPLIT_ID_CACHE |\n" "+\t\t\tCPU_FTR_USE_TB,\n" - "+\t\t.cpu_user_features\t=3D COMMON_PPC, /* 440EP has an FPU */\n" - "+\t\t.icache_bsize\t\t=3D 32,\n" - "+\t\t.dcache_bsize\t\t=3D 32,\n" + "+\t\t.cpu_user_features\t= COMMON_PPC, /* 440EP has an FPU */\n" + "+\t\t.icache_bsize\t\t= 32,\n" + "+\t\t.dcache_bsize\t\t= 32,\n" "+\t},\n" " \t{ \t/* 440GP Rev. B */\n" - " \t\t.pvr_mask\t\t=3D 0xf0000fff,\n" - " \t\t.pvr_value\t\t=3D 0x40000440,\n" + " \t\t.pvr_mask\t\t= 0xf0000fff,\n" + " \t\t.pvr_value\t\t= 0x40000440,\n" "diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S\n" "--- a/arch/ppc/kernel/entry.S\n" "+++ b/arch/ppc/kernel/entry.S\n" @@ -92,19 +91,19 @@ "--- a/arch/ppc/kernel/head_44x.S\n" "+++ b/arch/ppc/kernel/head_44x.S\n" "@@ -190,7 +190,9 @@ skpinv:\taddi\tr4,r4,1\t\t\t\t/* Increment */\n" - "=20\n" + " \n" " \t/* xlat fields */\n" " \tlis\tr4,UART0_PHYS_IO_BASE@h\t\t/* RPN depends on SoC */\n" "+#ifndef CONFIG_440EP\n" " \tori\tr4,r4,0x0001\t\t/* ERPN is 1 for second 4GB page */\n" "+#endif\n" - "=20\n" + " \n" " \t/* attrib fields */\n" " \tli\tr5,0\n" "@@ -228,6 +230,16 @@ skpinv:\taddi\tr4,r4,1\t\t\t\t/* Increment */\n" " \tlis\tr4,interrupt_base@h\t/* IVPR only uses the high 16-bits */\n" " \tmtspr\tSPRN_IVPR,r4\n" - "=20\n" + " \n" "+#ifdef CONFIG_440EP\n" "+\t/* Clear DAPUIB flag in CCR0 (enable APU between CPU and FPU) */\n" "+\tmfspr\tr2,SPRN_CCR0\n" @@ -135,7 +134,7 @@ "@@ -68,6 +68,11 @@ choice\n" " \tdepends on 44x\n" " \tdefault EBONY\n" - "=20\n" + " \n" "+config BAMBOO\n" "+\tbool \"Bamboo\"\n" "+\thelp\n" @@ -147,7 +146,7 @@ "@@ -98,6 +103,12 @@ config NP405H\n" " \tdepends on ASH\n" " \tdefault y\n" - "=20\n" + " \n" "+config 440EP\n" "+\tbool\n" "+\tdepends on BAMBOO\n" @@ -158,18 +157,18 @@ " \tbool\n" " \tdepends on EBONY\n" "@@ -115,7 +126,7 @@ config 440SP\n" - "=20\n" + " \n" " config 440\n" " \tbool\n" "-\tdepends on 440GP || 440SP\n" "+\tdepends on 440GP || 440SP || 440EP\n" " \tdefault y\n" - "=20\n" + " \n" " config 440A\n" "@@ -123,6 +134,11 @@ config 440A\n" " \tdepends on 440GX\n" " \tdefault y\n" - "=20\n" + " \n" "+config IBM440EP_ERR42\n" "+\tbool\n" "+\tdepends on 440EP\n" @@ -179,38 +178,34 @@ " config IBM405_ERR77\n" " \tbool\n" "@@ -142,7 +158,7 @@ config BOOKE\n" - "=20\n" + " \n" " config IBM_OCP\n" " \tbool\n" - "-\tdepends on ASH || BUBINGA || CPCI405 || EBONY || EP405 || LUAN || OCOTEA =\n" - "|| REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT\n" - "+\tdepends on ASH || BAMBOO || BUBINGA || CPCI405 || EBONY || EP405 || LUAN =\n" - "|| OCOTEA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT\n" + "-\tdepends on ASH || BUBINGA || CPCI405 || EBONY || EP405 || LUAN || OCOTEA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT\n" + "+\tdepends on ASH || BAMBOO || BUBINGA || CPCI405 || EBONY || EP405 || LUAN || OCOTEA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT\n" " \tdefault y\n" - "=20\n" + " \n" " config XILINX_OCP\n" - "diff --git a/arch/ppc/platforms/4xx/Makefile b/arch/ppc/platforms/4xx/Makef=\n" - "ile\n" + "diff --git a/arch/ppc/platforms/4xx/Makefile b/arch/ppc/platforms/4xx/Makefile\n" "--- a/arch/ppc/platforms/4xx/Makefile\n" "+++ b/arch/ppc/platforms/4xx/Makefile\n" "@@ -2,6 +2,7 @@\n" " # Makefile for the PowerPC 4xx linux kernel.\n" - "=20\n" - " obj-$(CONFIG_ASH)\t\t+=3D ash.o\n" - "+obj-$(CONFIG_BAMBOO)\t\t+=3D bamboo.o\n" - " obj-$(CONFIG_CPCI405)\t\t+=3D cpci405.o\n" - " obj-$(CONFIG_EBONY)\t\t+=3D ebony.o\n" - " obj-$(CONFIG_EP405)\t\t+=3D ep405.o\n" - "@@ -19,6 +20,7 @@ obj-$(CONFIG_405GP)\t\t+=3D ibm405gp.o\n" - " obj-$(CONFIG_REDWOOD_5)\t\t+=3D ibmstb4.o\n" - " obj-$(CONFIG_NP405H)\t\t+=3D ibmnp405h.o\n" - " obj-$(CONFIG_REDWOOD_6)\t\t+=3D ibmstbx25.o\n" - "+obj-$(CONFIG_440EP)\t\t+=3D ibm440ep.o\n" - " obj-$(CONFIG_440GP)\t\t+=3D ibm440gp.o\n" - " obj-$(CONFIG_440GX)\t\t+=3D ibm440gx.o\n" - " obj-$(CONFIG_440SP)\t\t+=3D ibm440sp.o\n" - "diff --git a/arch/ppc/platforms/4xx/ibm440ep.c b/arch/ppc/platforms/4xx/ibm=\n" - "440ep.c\n" + " \n" + " obj-$(CONFIG_ASH)\t\t+= ash.o\n" + "+obj-$(CONFIG_BAMBOO)\t\t+= bamboo.o\n" + " obj-$(CONFIG_CPCI405)\t\t+= cpci405.o\n" + " obj-$(CONFIG_EBONY)\t\t+= ebony.o\n" + " obj-$(CONFIG_EP405)\t\t+= ep405.o\n" + "@@ -19,6 +20,7 @@ obj-$(CONFIG_405GP)\t\t+= ibm405gp.o\n" + " obj-$(CONFIG_REDWOOD_5)\t\t+= ibmstb4.o\n" + " obj-$(CONFIG_NP405H)\t\t+= ibmnp405h.o\n" + " obj-$(CONFIG_REDWOOD_6)\t\t+= ibmstbx25.o\n" + "+obj-$(CONFIG_440EP)\t\t+= ibm440ep.o\n" + " obj-$(CONFIG_440GP)\t\t+= ibm440gp.o\n" + " obj-$(CONFIG_440GX)\t\t+= ibm440gx.o\n" + " obj-$(CONFIG_440SP)\t\t+= ibm440sp.o\n" + "diff --git a/arch/ppc/platforms/4xx/ibm440ep.c b/arch/ppc/platforms/4xx/ibm440ep.c\n" "new file mode 100644\n" "--- /dev/null\n" "+++ b/arch/ppc/platforms/4xx/ibm440ep.c\n" @@ -235,196 +230,196 @@ "+#include <asm/ocp.h>\n" "+#include <asm/ppc4xx_pic.h>\n" "+\n" - "+static struct ocp_func_emac_data ibm440ep_emac0_def =3D {\n" - "+\t.rgmii_idx\t=3D -1, /* No RGMII */\n" - "+\t.rgmii_mux\t=3D -1, /* No RGMII */\n" - "+\t.zmii_idx =3D 0, /* ZMII device index */\n" - "+\t.zmii_mux =3D 0, /* ZMII input of this EMAC */\n" - "+\t.mal_idx =3D 0, /* MAL device index */\n" - "+\t.mal_rx_chan =3D 0, /* MAL rx channel number */\n" - "+\t.mal_tx_chan =3D 0, /* MAL tx channel number */\n" - "+\t.wol_irq =3D 61,\t\t/* WOL interrupt number */\n" - "+\t.mdio_idx =3D -1, /* No shared MDIO */\n" - "+\t.tah_idx\t=3D -1, /* No TAH */\n" + "+static struct ocp_func_emac_data ibm440ep_emac0_def = {\n" + "+\t.rgmii_idx\t= -1, /* No RGMII */\n" + "+\t.rgmii_mux\t= -1, /* No RGMII */\n" + "+\t.zmii_idx = 0, /* ZMII device index */\n" + "+\t.zmii_mux = 0, /* ZMII input of this EMAC */\n" + "+\t.mal_idx = 0, /* MAL device index */\n" + "+\t.mal_rx_chan = 0, /* MAL rx channel number */\n" + "+\t.mal_tx_chan = 0, /* MAL tx channel number */\n" + "+\t.wol_irq = 61,\t\t/* WOL interrupt number */\n" + "+\t.mdio_idx = -1, /* No shared MDIO */\n" + "+\t.tah_idx\t= -1, /* No TAH */\n" "+};\n" "+\n" - "+static struct ocp_func_emac_data ibm440ep_emac1_def =3D {\n" - "+\t.rgmii_idx\t=3D -1, /* No RGMII */\n" - "+\t.rgmii_mux\t=3D -1, /* No RGMII */\n" - "+\t.zmii_idx =3D 0, /* ZMII device index */\n" - "+\t.zmii_mux =3D 1, /* ZMII input of this EMAC */\n" - "+\t.mal_idx =3D 0, /* MAL device index */\n" - "+\t.mal_rx_chan =3D 1, /* MAL rx channel number */\n" - "+\t.mal_tx_chan =3D 2, /* MAL tx channel number */\n" - "+\t.wol_irq =3D 63, \t\t/* WOL interrupt number */\n" - "+\t.mdio_idx =3D -1, /* No shared MDIO */\n" - "+\t.tah_idx\t=3D -1, /* No TAH */\n" + "+static struct ocp_func_emac_data ibm440ep_emac1_def = {\n" + "+\t.rgmii_idx\t= -1, /* No RGMII */\n" + "+\t.rgmii_mux\t= -1, /* No RGMII */\n" + "+\t.zmii_idx = 0, /* ZMII device index */\n" + "+\t.zmii_mux = 1, /* ZMII input of this EMAC */\n" + "+\t.mal_idx = 0, /* MAL device index */\n" + "+\t.mal_rx_chan = 1, /* MAL rx channel number */\n" + "+\t.mal_tx_chan = 2, /* MAL tx channel number */\n" + "+\t.wol_irq = 63, \t\t/* WOL interrupt number */\n" + "+\t.mdio_idx = -1, /* No shared MDIO */\n" + "+\t.tah_idx\t= -1, /* No TAH */\n" "+};\n" "+OCP_SYSFS_EMAC_DATA()\n" "+\n" - "+static struct ocp_func_mal_data ibm440ep_mal0_def =3D {\n" - "+\t.num_tx_chans =3D 4, \t\t/* Number of TX channels */\n" - "+\t.num_rx_chans =3D 2, \t/* Number of RX channels */\n" - "+\t.txeob_irq\t=3D 10,\t\t/* TX End Of Buffer IRQ */\n" - "+\t.rxeob_irq\t=3D 11,\t\t/* RX End Of Buffer IRQ */\n" - "+\t.txde_irq\t=3D 33,\t\t/* TX Descriptor Error IRQ */\n" - "+\t.rxde_irq\t=3D 34,\t\t/* RX Descriptor Error IRQ */\n" - "+\t.serr_irq\t=3D 32,\t\t/* MAL System Error IRQ */\n" + "+static struct ocp_func_mal_data ibm440ep_mal0_def = {\n" + "+\t.num_tx_chans = 4, \t\t/* Number of TX channels */\n" + "+\t.num_rx_chans = 2, \t/* Number of RX channels */\n" + "+\t.txeob_irq\t= 10,\t\t/* TX End Of Buffer IRQ */\n" + "+\t.rxeob_irq\t= 11,\t\t/* RX End Of Buffer IRQ */\n" + "+\t.txde_irq\t= 33,\t\t/* TX Descriptor Error IRQ */\n" + "+\t.rxde_irq\t= 34,\t\t/* RX Descriptor Error IRQ */\n" + "+\t.serr_irq\t= 32,\t\t/* MAL System Error IRQ */\n" "+};\n" "+OCP_SYSFS_MAL_DATA()\n" "+\n" - "+static struct ocp_func_iic_data ibm440ep_iic0_def =3D {\n" - "+\t.fast_mode\t=3D 0,\t\t/* Use standad mode (100Khz) */\n" + "+static struct ocp_func_iic_data ibm440ep_iic0_def = {\n" + "+\t.fast_mode\t= 0,\t\t/* Use standad mode (100Khz) */\n" "+};\n" "+\n" - "+static struct ocp_func_iic_data ibm440ep_iic1_def =3D {\n" - "+\t.fast_mode\t=3D 0,\t\t/* Use standad mode (100Khz) */\n" + "+static struct ocp_func_iic_data ibm440ep_iic1_def = {\n" + "+\t.fast_mode\t= 0,\t\t/* Use standad mode (100Khz) */\n" "+};\n" "+OCP_SYSFS_IIC_DATA()\n" "+\n" - "+struct ocp_def core_ocp[] =3D {\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_OPB,\n" - "+\t .index\t=3D 0,\n" - "+\t .paddr\t=3D 0x0EF600000ULL,\n" - "+\t .irq\t\t=3D OCP_IRQ_NA,\n" - "+\t .pm\t\t=3D OCP_CPM_NA,\n" + "+struct ocp_def core_ocp[] = {\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_OPB,\n" + "+\t .index\t= 0,\n" + "+\t .paddr\t= 0x0EF600000ULL,\n" + "+\t .irq\t\t= OCP_IRQ_NA,\n" + "+\t .pm\t\t= OCP_CPM_NA,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_16550,\n" - "+\t .index\t=3D 0,\n" - "+\t .paddr\t=3D PPC440EP_UART0_ADDR,\n" - "+\t .irq\t\t=3D UART0_INT,\n" - "+\t .pm\t\t=3D IBM_CPM_UART0,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_16550,\n" + "+\t .index\t= 0,\n" + "+\t .paddr\t= PPC440EP_UART0_ADDR,\n" + "+\t .irq\t\t= UART0_INT,\n" + "+\t .pm\t\t= IBM_CPM_UART0,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_16550,\n" - "+\t .index\t=3D 1,\n" - "+\t .paddr\t=3D PPC440EP_UART1_ADDR,\n" - "+\t .irq\t\t=3D UART1_INT,\n" - "+\t .pm\t\t=3D IBM_CPM_UART1,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_16550,\n" + "+\t .index\t= 1,\n" + "+\t .paddr\t= PPC440EP_UART1_ADDR,\n" + "+\t .irq\t\t= UART1_INT,\n" + "+\t .pm\t\t= IBM_CPM_UART1,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_16550,\n" - "+\t .index\t=3D 2,\n" - "+\t .paddr\t=3D PPC440EP_UART2_ADDR,\n" - "+\t .irq\t\t=3D UART2_INT,\n" - "+\t .pm\t\t=3D IBM_CPM_UART2,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_16550,\n" + "+\t .index\t= 2,\n" + "+\t .paddr\t= PPC440EP_UART2_ADDR,\n" + "+\t .irq\t\t= UART2_INT,\n" + "+\t .pm\t\t= IBM_CPM_UART2,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_16550,\n" - "+\t .index\t=3D 3,\n" - "+\t .paddr\t=3D PPC440EP_UART3_ADDR,\n" - "+\t .irq\t\t=3D UART3_INT,\n" - "+\t .pm\t\t=3D IBM_CPM_UART3,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_16550,\n" + "+\t .index\t= 3,\n" + "+\t .paddr\t= PPC440EP_UART3_ADDR,\n" + "+\t .irq\t\t= UART3_INT,\n" + "+\t .pm\t\t= IBM_CPM_UART3,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_IIC,\n" - "+\t .index\t=3D 0,\n" - "+\t .paddr\t=3D 0x0EF600700ULL,\n" - "+\t .irq\t\t=3D 2,\n" - "+\t .pm\t\t=3D IBM_CPM_IIC0,\n" - "+\t .additions\t=3D &ibm440ep_iic0_def,\n" - "+\t .show\t\t=3D &ocp_show_iic_data\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_IIC,\n" + "+\t .index\t= 0,\n" + "+\t .paddr\t= 0x0EF600700ULL,\n" + "+\t .irq\t\t= 2,\n" + "+\t .pm\t\t= IBM_CPM_IIC0,\n" + "+\t .additions\t= &ibm440ep_iic0_def,\n" + "+\t .show\t\t= &ocp_show_iic_data\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_IIC,\n" - "+\t .index\t=3D 1,\n" - "+\t .paddr\t=3D 0x0EF600800ULL,\n" - "+\t .irq\t\t=3D 7,\n" - "+\t .pm\t\t=3D IBM_CPM_IIC1,\n" - "+\t .additions\t=3D &ibm440ep_iic1_def,\n" - "+\t .show\t\t=3D &ocp_show_iic_data\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_IIC,\n" + "+\t .index\t= 1,\n" + "+\t .paddr\t= 0x0EF600800ULL,\n" + "+\t .irq\t\t= 7,\n" + "+\t .pm\t\t= IBM_CPM_IIC1,\n" + "+\t .additions\t= &ibm440ep_iic1_def,\n" + "+\t .show\t\t= &ocp_show_iic_data\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_GPIO,\n" - "+\t .index\t=3D 0,\n" - "+\t .paddr\t=3D 0x0EF600B00ULL,\n" - "+\t .irq\t\t=3D OCP_IRQ_NA,\n" - "+\t .pm\t\t=3D IBM_CPM_GPIO0,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_GPIO,\n" + "+\t .index\t= 0,\n" + "+\t .paddr\t= 0x0EF600B00ULL,\n" + "+\t .irq\t\t= OCP_IRQ_NA,\n" + "+\t .pm\t\t= IBM_CPM_GPIO0,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_GPIO,\n" - "+\t .index\t=3D 1,\n" - "+\t .paddr\t=3D 0x0EF600C00ULL,\n" - "+\t .irq\t\t=3D OCP_IRQ_NA,\n" - "+\t .pm\t\t=3D OCP_CPM_NA,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_GPIO,\n" + "+\t .index\t= 1,\n" + "+\t .paddr\t= 0x0EF600C00ULL,\n" + "+\t .irq\t\t= OCP_IRQ_NA,\n" + "+\t .pm\t\t= OCP_CPM_NA,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_MAL,\n" - "+\t .paddr\t=3D OCP_PADDR_NA,\n" - "+\t .irq\t\t=3D OCP_IRQ_NA,\n" - "+\t .pm\t\t=3D OCP_CPM_NA,\n" - "+\t .additions\t=3D &ibm440ep_mal0_def,\n" - "+\t .show\t\t=3D &ocp_show_mal_data,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_MAL,\n" + "+\t .paddr\t= OCP_PADDR_NA,\n" + "+\t .irq\t\t= OCP_IRQ_NA,\n" + "+\t .pm\t\t= OCP_CPM_NA,\n" + "+\t .additions\t= &ibm440ep_mal0_def,\n" + "+\t .show\t\t= &ocp_show_mal_data,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_EMAC,\n" - "+\t .index\t=3D 0,\n" - "+\t .paddr\t=3D 0x0EF600E00ULL,\n" - "+\t .irq\t\t=3D 60,\n" - "+\t .pm\t\t=3D OCP_CPM_NA,\n" - "+\t .additions\t=3D &ibm440ep_emac0_def,\n" - "+\t .show\t\t=3D &ocp_show_emac_data,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_EMAC,\n" + "+\t .index\t= 0,\n" + "+\t .paddr\t= 0x0EF600E00ULL,\n" + "+\t .irq\t\t= 60,\n" + "+\t .pm\t\t= OCP_CPM_NA,\n" + "+\t .additions\t= &ibm440ep_emac0_def,\n" + "+\t .show\t\t= &ocp_show_emac_data,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_EMAC,\n" - "+\t .index\t=3D 1,\n" - "+\t .paddr\t=3D 0x0EF600F00ULL,\n" - "+\t .irq\t\t=3D 62,\n" - "+\t .pm\t\t=3D OCP_CPM_NA,\n" - "+\t .additions\t=3D &ibm440ep_emac1_def,\n" - "+\t .show\t\t=3D &ocp_show_emac_data,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_EMAC,\n" + "+\t .index\t= 1,\n" + "+\t .paddr\t= 0x0EF600F00ULL,\n" + "+\t .irq\t\t= 62,\n" + "+\t .pm\t\t= OCP_CPM_NA,\n" + "+\t .additions\t= &ibm440ep_emac1_def,\n" + "+\t .show\t\t= &ocp_show_emac_data,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_IBM,\n" - "+\t .function\t=3D OCP_FUNC_ZMII,\n" - "+\t .paddr\t=3D 0x0EF600D00ULL,\n" - "+\t .irq\t\t=3D OCP_IRQ_NA,\n" - "+\t .pm\t\t=3D OCP_CPM_NA,\n" + "+\t{ .vendor\t= OCP_VENDOR_IBM,\n" + "+\t .function\t= OCP_FUNC_ZMII,\n" + "+\t .paddr\t= 0x0EF600D00ULL,\n" + "+\t .irq\t\t= OCP_IRQ_NA,\n" + "+\t .pm\t\t= OCP_CPM_NA,\n" "+\t},\n" - "+\t{ .vendor\t=3D OCP_VENDOR_INVALID\n" + "+\t{ .vendor\t= OCP_VENDOR_INVALID\n" "+\t}\n" "+};\n" "+\n" "+/* Polarity and triggering settings for internal interrupt sources */\n" - "+struct ppc4xx_uic_settings ppc4xx_core_uic_cfg[] __initdata =3D {\n" - "+\t{ .polarity\t=3D 0xffbffe03,\n" - "+\t .triggering =3D 0xfffffe00,\n" - "+\t .ext_irq_mask =3D 0x000001fc,\t/* IRQ0 - IRQ6 */\n" + "+struct ppc4xx_uic_settings ppc4xx_core_uic_cfg[] __initdata = {\n" + "+\t{ .polarity\t= 0xffbffe03,\n" + "+\t .triggering = 0xfffffe00,\n" + "+\t .ext_irq_mask = 0x000001fc,\t/* IRQ0 - IRQ6 */\n" "+\t},\n" - "+\t{ .polarity\t=3D 0xffffc6ef,\n" - "+\t .triggering\t=3D 0xffffc7ff,\n" - "+\t .ext_irq_mask =3D 0x00003800,\t/* IRQ7 - IRQ9 */\n" + "+\t{ .polarity\t= 0xffffc6ef,\n" + "+\t .triggering\t= 0xffffc7ff,\n" + "+\t .ext_irq_mask = 0x00003800,\t/* IRQ7 - IRQ9 */\n" "+\t},\n" "+};\n" "+\n" - "+static struct resource usb_gadget_resources[] =3D {\n" - "+\t[0] =3D {\n" - "+\t\t.start\t=3D 0x050000100ULL,\n" - "+\t\t.end \t=3D 0x05000017FULL,\n" - "+\t\t.flags\t=3D IORESOURCE_MEM,\n" + "+static struct resource usb_gadget_resources[] = {\n" + "+\t[0] = {\n" + "+\t\t.start\t= 0x050000100ULL,\n" + "+\t\t.end \t= 0x05000017FULL,\n" + "+\t\t.flags\t= IORESOURCE_MEM,\n" "+\t},\n" - "+\t[1] =3D {\n" - "+\t\t.start\t=3D 55,\n" - "+\t\t.end\t=3D 55,\n" - "+\t\t.flags\t=3D IORESOURCE_IRQ,\n" + "+\t[1] = {\n" + "+\t\t.start\t= 55,\n" + "+\t\t.end\t= 55,\n" + "+\t\t.flags\t= IORESOURCE_IRQ,\n" "+\t},\n" "+};\n" "+\n" - "+static u64 dma_mask =3D 0xffffffffULL;\n" + "+static u64 dma_mask = 0xffffffffULL;\n" "+\n" - "+static struct platform_device usb_gadget_device =3D {\n" - "+\t.name\t\t=3D \"musbhsfc\",\n" - "+\t.id\t\t=3D 0,\n" - "+\t.num_resources\t=3D ARRAY_SIZE(usb_gadget_resources),\n" - "+\t.resource =3D usb_gadget_resources,\n" - "+\t.dev\t\t=3D {\n" - "+\t\t.dma_mask =3D &dma_mask,\n" - "+\t\t.coherent_dma_mask =3D 0xffffffffULL,\n" + "+static struct platform_device usb_gadget_device = {\n" + "+\t.name\t\t= \"musbhsfc\",\n" + "+\t.id\t\t= 0,\n" + "+\t.num_resources\t= ARRAY_SIZE(usb_gadget_resources),\n" + "+\t.resource = usb_gadget_resources,\n" + "+\t.dev\t\t= {\n" + "+\t\t.dma_mask = &dma_mask,\n" + "+\t\t.coherent_dma_mask = 0xffffffffULL,\n" "+\t}\n" "+};\n" "+\n" - "+static struct platform_device *ibm440ep_devs[] __initdata =3D {\n" + "+static struct platform_device *ibm440ep_devs[] __initdata = {\n" "+\t&usb_gadget_device,\n" "+};\n" "+\n" @@ -435,8 +430,7 @@ "+}\n" "+arch_initcall(ibm440ep_platform_add_devices);\n" "+\n" - "diff --git a/arch/ppc/platforms/4xx/ibm440ep.h b/arch/ppc/platforms/4xx/ibm=\n" - "440ep.h\n" + "diff --git a/arch/ppc/platforms/4xx/ibm440ep.h b/arch/ppc/platforms/4xx/ibm440ep.h\n" "new file mode 100644\n" "--- /dev/null\n" "+++ b/arch/ppc/platforms/4xx/ibm440ep.h\n" @@ -520,57 +514,55 @@ "diff --git a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile\n" "--- a/arch/ppc/syslib/Makefile\n" "+++ b/arch/ppc/syslib/Makefile\n" - "@@ -11,6 +11,7 @@ obj-$(CONFIG_PPCBUG_NVRAM)\t+=3D prep_nvram\n" - " obj-$(CONFIG_PPC_OCP)\t\t+=3D ocp.o\n" - " obj-$(CONFIG_IBM_OCP)\t\t+=3D ibm_ocp.o\n" - " obj-$(CONFIG_44x)\t\t+=3D ibm44x_common.o\n" - "+obj-$(CONFIG_440EP)\t\t+=3D ibm440gx_common.o\n" - " obj-$(CONFIG_440GP)\t\t+=3D ibm440gp_common.o\n" - " obj-$(CONFIG_440GX)\t\t+=3D ibm440gx_common.o\n" - " obj-$(CONFIG_440SP)\t\t+=3D ibm440gx_common.o ibm440sp_common.o\n" - "@@ -44,6 +45,7 @@ obj-$(CONFIG_PPC_CHRP)\t\t+=3D open_pic.o in\n" - " obj-$(CONFIG_PPC_PREP)\t\t+=3D open_pic.o indirect_pci.o i8259.o todc_time.o\n" - " obj-$(CONFIG_ADIR)\t\t+=3D i8259.o indirect_pci.o pci_auto.o \\\n" + "@@ -11,6 +11,7 @@ obj-$(CONFIG_PPCBUG_NVRAM)\t+= prep_nvram\n" + " obj-$(CONFIG_PPC_OCP)\t\t+= ocp.o\n" + " obj-$(CONFIG_IBM_OCP)\t\t+= ibm_ocp.o\n" + " obj-$(CONFIG_44x)\t\t+= ibm44x_common.o\n" + "+obj-$(CONFIG_440EP)\t\t+= ibm440gx_common.o\n" + " obj-$(CONFIG_440GP)\t\t+= ibm440gp_common.o\n" + " obj-$(CONFIG_440GX)\t\t+= ibm440gx_common.o\n" + " obj-$(CONFIG_440SP)\t\t+= ibm440gx_common.o ibm440sp_common.o\n" + "@@ -44,6 +45,7 @@ obj-$(CONFIG_PPC_CHRP)\t\t+= open_pic.o in\n" + " obj-$(CONFIG_PPC_PREP)\t\t+= open_pic.o indirect_pci.o i8259.o todc_time.o\n" + " obj-$(CONFIG_ADIR)\t\t+= i8259.o indirect_pci.o pci_auto.o \\\n" " \t\t\t\t\ttodc_time.o\n" - "+obj-$(CONFIG_BAMBOO)\t\t+=3D indirect_pci.o pci_auto.o todc_time.o\n" - " obj-$(CONFIG_CPCI690)\t\t+=3D todc_time.o pci_auto.o\n" - " obj-$(CONFIG_EBONY)\t\t+=3D indirect_pci.o pci_auto.o todc_time.o\n" - " obj-$(CONFIG_EV64260)\t\t+=3D todc_time.o pci_auto.o\n" - "diff --git a/arch/ppc/syslib/ibm440gx_common.c b/arch/ppc/syslib/ibm440gx_c=\n" - "ommon.c\n" + "+obj-$(CONFIG_BAMBOO)\t\t+= indirect_pci.o pci_auto.o todc_time.o\n" + " obj-$(CONFIG_CPCI690)\t\t+= todc_time.o pci_auto.o\n" + " obj-$(CONFIG_EBONY)\t\t+= indirect_pci.o pci_auto.o todc_time.o\n" + " obj-$(CONFIG_EV64260)\t\t+= todc_time.o pci_auto.o\n" + "diff --git a/arch/ppc/syslib/ibm440gx_common.c b/arch/ppc/syslib/ibm440gx_common.c\n" "--- a/arch/ppc/syslib/ibm440gx_common.c\n" "+++ b/arch/ppc/syslib/ibm440gx_common.c\n" "@@ -34,6 +34,10 @@ void __init ibm440gx_get_clocks(struct i\n" - " \tu32 plld =3D CPR_READ(DCRN_CPR_PLLD);\n" - " \tu32 uart0 =3D SDR_READ(DCRN_SDR_UART0);\n" - " \tu32 uart1 =3D SDR_READ(DCRN_SDR_UART1);\n" + " \tu32 plld = CPR_READ(DCRN_CPR_PLLD);\n" + " \tu32 uart0 = SDR_READ(DCRN_SDR_UART0);\n" + " \tu32 uart1 = SDR_READ(DCRN_SDR_UART1);\n" "+#ifdef CONFIG_440EP\n" - "+\tu32 uart2 =3D SDR_READ(DCRN_SDR_UART2);\n" - "+\tu32 uart3 =3D SDR_READ(DCRN_SDR_UART3);\n" + "+\tu32 uart2 = SDR_READ(DCRN_SDR_UART2);\n" + "+\tu32 uart3 = SDR_READ(DCRN_SDR_UART3);\n" "+#endif\n" - "=20\n" + " \n" " \t/* Dividers */\n" - " \tu32 fbdv =3D __fix_zero((plld >> 24) & 0x1f, 32);\n" + " \tu32 fbdv = __fix_zero((plld >> 24) & 0x1f, 32);\n" "@@ -96,6 +100,17 @@ bypass:\n" - " \t\tp->uart1 =3D ser_clk;\n" + " \t\tp->uart1 = ser_clk;\n" " \telse\n" - " \t\tp->uart1 =3D p->plb / __fix_zero(uart1 & 0xff, 256);\n" + " \t\tp->uart1 = p->plb / __fix_zero(uart1 & 0xff, 256);\n" "+#ifdef CONFIG_440EP\n" "+\tif (uart2 & 0x00800000)\n" - "+\t\tp->uart2 =3D ser_clk;\n" + "+\t\tp->uart2 = ser_clk;\n" "+\telse\n" - "+\t\tp->uart2 =3D p->plb / __fix_zero(uart2 & 0xff, 256);\n" - "+=09\n" + "+\t\tp->uart2 = p->plb / __fix_zero(uart2 & 0xff, 256);\n" + "+\t\n" "+\tif (uart3 & 0x00800000)\n" - "+\t\tp->uart3 =3D ser_clk;\n" + "+\t\tp->uart3 = ser_clk;\n" "+\telse\n" - "+\t\tp->uart3 =3D p->plb / __fix_zero(uart3 & 0xff, 256);\n" + "+\t\tp->uart3 = p->plb / __fix_zero(uart3 & 0xff, 256);\n" "+#endif\n" " }\n" - "=20\n" + " \n" " /* Issue L2C diagnostic command */\n" - "diff --git a/arch/ppc/syslib/ibm44x_common.h b/arch/ppc/syslib/ibm44x_commo=\n" - "n.h\n" + "diff --git a/arch/ppc/syslib/ibm44x_common.h b/arch/ppc/syslib/ibm44x_common.h\n" "--- a/arch/ppc/syslib/ibm44x_common.h\n" "+++ b/arch/ppc/syslib/ibm44x_common.h\n" "@@ -29,6 +29,10 @@ struct ibm44x_clocks {\n" @@ -582,16 +574,15 @@ "+\tunsigned int uart3;\n" "+#endif\n" " };\n" - "=20\n" + " \n" " /* common 44x platform init */\n" "diff --git a/include/asm-ppc/ibm44x.h b/include/asm-ppc/ibm44x.h\n" "--- a/include/asm-ppc/ibm44x.h\n" "+++ b/include/asm-ppc/ibm44x.h\n" "@@ -35,8 +35,10 @@\n" " #define PPC44x_LOW_SLOT\t\t63\n" - "=20\n" - " /* LS 32-bits of UART0 physical address location for early serial text deb=\n" - "ug */\n" + " \n" + " /* LS 32-bits of UART0 physical address location for early serial text debug */\n" "-#ifdef CONFIG_440SP\n" "+#if defined(CONFIG_440SP)\n" " #define UART0_PHYS_IO_BASE\t0xf0000200\n" @@ -644,7 +635,7 @@ "@@ -152,6 +166,12 @@\n" " #define DCRN_SDR_UART0\t\t0x0120\n" " #define DCRN_SDR_UART1\t\t0x0121\n" - "=20\n" + " \n" "+#ifdef CONFIG_440EP\n" "+#define DCRN_SDR_UART2\t\t0x0122\n" "+#define DCRN_SDR_UART3\t\t0x0123\n" @@ -657,7 +648,7 @@ "@@ -169,6 +189,14 @@\n" " #define DCRNCAP_DMA_SG\t\t1\t/* have DMA scatter/gather capability */\n" " #define DCRN_MAL_BASE\t\t0x180\n" - "=20\n" + " \n" "+#ifdef CONFIG_440EP\n" "+#define DCRN_DMA2P40_BASE\t0x300\n" "+#define DCRN_DMA2P41_BASE\t0x308\n" @@ -673,9 +664,9 @@ "--- a/include/asm-ppc/ibm4xx.h\n" "+++ b/include/asm-ppc/ibm4xx.h\n" "@@ -97,6 +97,10 @@ void ppc4xx_init(unsigned long r3, unsig\n" - "=20\n" + " \n" " #elif CONFIG_44x\n" - "=20\n" + " \n" "+#if defined(CONFIG_BAMBOO)\n" "+#include <platforms/4xx/bamboo.h>\n" "+#endif\n" @@ -689,7 +680,7 @@ "@@ -186,6 +186,12 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601)\n" " #define PPC405_ERR77_SYNC\n" " #endif\n" - "=20\n" + " \n" "+#ifdef CONFIG_IBM440EP_ERR42\n" "+#define PPC440EP_ERR42 isync\n" "+#else\n" @@ -697,7 +688,7 @@ "+#endif\n" "+\n" " /* The boring bits... */\n" - "=20\n" + " \n" /* Condition Register Bit Fields */ -5ff09824916455fdf9a4613eb3104a174fc57d49bcaa2a05fce1364399a36a6b +c5216647352ceb3f367bcdd3562e209cfd93a037be1455bf13944d801fb8b3b9
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.