* [RFC][PATCH 2.6.12-rc2 1/3] FCC Ethernet PlatformDevice support for 82xx
@ 2005-05-04 14:35 Vitaly Bordug
2005-05-04 16:46 ` Eugene Surovegin
0 siblings, 1 reply; 4+ messages in thread
From: Vitaly Bordug @ 2005-05-04 14:35 UTC (permalink / raw)
To: linuxppc-embedded list
[-- Attachment #1: Type: text/plain, Size: 239 bytes --]
This patch adds generic PlatformDevice support to the 82xx family.
Only FCC's exist currently in the structure, as there is the driver
which will utilize this.
Signed-off-by: Vitaly Bordug<vbordug@ru.mvista.com>
--
Sincerely,
Vitaly
[-- Attachment #2: basic_platform.patch --]
[-- Type: text/x-patch, Size: 10939 bytes --]
diff -Nru a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile
--- a/arch/ppc/syslib/Makefile 2005-05-04 16:51:40 +04:00
+++ b/arch/ppc/syslib/Makefile 2005-05-04 16:51:40 +04:00
@@ -83,7 +83,9 @@
obj-$(CONFIG_8260) += m8260_setup.o
obj-$(CONFIG_PCI_8260) += m8260_pci.o indirect_pci.o
obj-$(CONFIG_8260_PCI9) += m8260_pci_erratum9.o
-obj-$(CONFIG_CPM2) += cpm2_common.o cpm2_pic.o
+obj-$(CONFIG_CPM2) += cpm2_common.o cpm2_pic.o mpc82xx_devices.o \
+ mpc82xx_sys.o ppc_sys.o
+
ifeq ($(CONFIG_PPC_GEN550),y)
obj-$(CONFIG_KGDB) += gen550_kgdb.o gen550_dbg.o
obj-$(CONFIG_SERIAL_TEXT_DEBUG) += gen550_dbg.o
diff -Nru a/arch/ppc/syslib/m8260_setup.c b/arch/ppc/syslib/m8260_setup.c
--- a/arch/ppc/syslib/m8260_setup.c 2005-05-04 16:51:40 +04:00
+++ b/arch/ppc/syslib/m8260_setup.c 2005-05-04 16:51:40 +04:00
@@ -19,6 +19,7 @@
#include <linux/root_dev.h>
#include <linux/seq_file.h>
#include <linux/irq.h>
+#include <linux/fsl_devices.h>
#include <asm/mmu.h>
#include <asm/io.h>
@@ -28,6 +29,7 @@
#include <asm/machdep.h>
#include <asm/bootinfo.h>
#include <asm/time.h>
+#include <asm/ppc_sys.h>
#include "cpm2_pic.h"
@@ -46,6 +48,11 @@
static void __init
m8260_setup_arch(void)
{
+ bd_t *bi = (void *)__res;
+#ifdef CONFIG_CPM2
+ struct cpm2_fec_platform_data *fec;
+#endif
+
/* Print out Vendor and Machine info. */
printk(KERN_INFO "%s %s port\n", CPUINFO_VENDOR, CPUINFO_MACHINE);
@@ -63,6 +70,22 @@
ROOT_DEV = Root_RAM0;
#endif
m82xx_board_setup();
+#ifdef CONFIG_CPM2
+ identify_ppc_sys_by_id(cpm2_immr->im_memctl.memc_immr << 16);
+
+ /* Set up the MAC addresses for the FECs
+ */
+ fec = ppc_sys_platform_devices[MPC82xx_FCC1].dev.platform_data;
+ memcpy(fec->mac_addr,bi->bi_enetaddr,6);
+
+ fec = ppc_sys_platform_devices[MPC82xx_FCC2].dev.platform_data;
+#ifdef CONFIG_ADS8272
+ memcpy(fec->mac_addr,bi->bi_enet1addr,6);
+#else
+ memcpy(fec->mac_addr,bi->bi_enetaddr,6);
+ fec->macaddr[5] ^= 1;
+#endif
+#endif
}
/* The decrementer counts at the system (internal) clock frequency
diff -Nru a/arch/ppc/syslib/mpc82xx_devices.c b/arch/ppc/syslib/mpc82xx_devices.c
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/arch/ppc/syslib/mpc82xx_devices.c 2005-05-04 16:51:40 +04:00
@@ -0,0 +1,213 @@
+/*
+ * arch/ppc/syslib/mpc82xx_devices.c
+ *
+ * MPC82xx Device descriptions
+ *
+ * Maintainer: Kumar Gala <kumar.gala@freescale.com>
+ *
+ * 2005 (c) MontaVista Software, Inc.
+ * Vitaly Bordug <vbordug@ru.mvista.com>
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/device.h>
+#include <linux/ioport.h>
+#include <linux/fsl_devices.h>
+#include <asm/mpc8260.h>
+#include <asm/cpm2.h>
+#include <asm/immap_cpm2.h>
+#include <asm/irq.h>
+#include <asm/ppc_sys.h>
+#include <asm/ppcboot.h>
+
+
+/* FCC1 Clock Source Configuration. There are board specific.
+ Can only choose from CLK9-12 */
+#if defined(CONFIG_ADS8272)
+#define F1_RXCLK 11
+#define F1_TXCLK 10
+#else
+#define F1_RXCLK 12
+#define F1_TXCLK 11
+#endif
+
+/* FCC2 Clock Source Configuration. There are board specific.
+ Can only choose from CLK13-16 */
+#ifdef CONFIG_ADS8272
+#define F2_RXCLK 15
+#define F2_TXCLK 16
+#else
+#define F2_RXCLK 13
+#define F2_TXCLK 14
+#endif
+
+/* FCC3 Clock Source Configuration. There are board specific.
+ Can only choose from CLK13-16 */
+#define F3_RXCLK 15
+#define F3_TXCLK 16
+
+/* Automatically generates register configurations */
+#define PC_CLK(x) ((uint)(1<<(x-1))) /* FCC CLK I/O ports */
+
+#define CMXFCR_RF1CS(x) ((uint)((x-5)<<27)) /* FCC1 Receive Clock Source */
+#define CMXFCR_TF1CS(x) ((uint)((x-5)<<24)) /* FCC1 Transmit Clock Source */
+#define CMXFCR_RF2CS(x) ((uint)((x-9)<<19)) /* FCC2 Receive Clock Source */
+#define CMXFCR_TF2CS(x) ((uint)((x-9)<<16)) /* FCC2 Transmit Clock Source */
+#define CMXFCR_RF3CS(x) ((uint)((x-9)<<11)) /* FCC3 Receive Clock Source */
+#define CMXFCR_TF3CS(x) ((uint)((x-9)<<8)) /* FCC3 Transmit Clock Source */
+
+#define PC_F1RXCLK PC_CLK(F1_RXCLK)
+#define PC_F1TXCLK PC_CLK(F1_TXCLK)
+#define CMX1_CLK_ROUTE (CMXFCR_RF1CS(F1_RXCLK) | CMXFCR_TF1CS(F1_TXCLK))
+#define CMX1_CLK_MASK ((uint)0xff000000)
+
+#define PC_F2RXCLK PC_CLK(F2_RXCLK)
+#define PC_F2TXCLK PC_CLK(F2_TXCLK)
+#define CMX2_CLK_ROUTE (CMXFCR_RF2CS(F2_RXCLK) | CMXFCR_TF2CS(F2_TXCLK))
+#define CMX2_CLK_MASK ((uint)0x00ff0000)
+
+#define PC_F3RXCLK PC_CLK(F3_RXCLK)
+#define PC_F3TXCLK PC_CLK(F3_TXCLK)
+#define CMX3_CLK_ROUTE (CMXFCR_RF3CS(F3_RXCLK) | CMXFCR_TF3CS(F3_TXCLK))
+#define CMX3_CLK_MASK ((uint)0x0000ff00)
+
+#ifdef CONFIG_ADS8272
+#define PC_MDIO 0x00002000U
+#define PC_MDCK 0x00001000U
+#else
+#define PC_MDIO 0x00000004U
+#define PC_MDCK 0x00000020U
+#endif
+
+/* We use offsets for IORESOURCE_MEM since we do not know at compile time
+ * what IMMRBAR is, will get fixed up by mach_mpc83xx_fixup
+ */
+
+static struct cpm2_fec_platform_data mpc82xx_fcc1_pdata = {
+ .cp_page = CPM_CR_FCC1_PAGE,
+ .cp_block = CPM_CR_FCC1_SBLOCK,
+ .clk_trx = (PC_F1RXCLK | PC_F1TXCLK),
+ .clk_route = CMX1_CLK_ROUTE,
+ .clk_mask = CMX1_CLK_MASK,
+ .mdio = PC_MDIO,
+ .mdck = PC_MDCK,
+
+ .device_flags = FSL_CPM2_FEC_BRD_HAS_PHY_INTR,
+ .phyid = 0,
+};
+
+static struct cpm2_fec_platform_data mpc82xx_fcc2_pdata = {
+ .cp_page = CPM_CR_FCC2_PAGE,
+ .cp_block = CPM_CR_FCC2_SBLOCK,
+ .clk_trx = (PC_F2RXCLK | PC_F2TXCLK),
+ .clk_route = CMX2_CLK_ROUTE,
+ .clk_mask = CMX2_CLK_MASK,
+ .mdio = PC_MDIO,
+ .mdck = PC_MDCK,
+
+ .device_flags = FSL_CPM2_FEC_BRD_HAS_PHY_INTR,
+ .phyid = 3,
+};
+
+
+
+struct platform_device ppc_sys_platform_devices[] = {
+ [MPC82xx_FCC1] = {
+ .name = "cpm2_fcc",
+ .id = 1,
+ .dev.platform_data = &mpc82xx_fcc1_pdata,
+ .num_resources = 5,
+ .resource = (struct resource[]) {
+ {
+ .name = "fcc_regs",
+ .start = 0x11300,
+ .end = 0x1131f,
+ .flags = IORESOURCE_MEM,
+ },
+ {
+ .name = "fcc_pram",
+ .start = 0x8400,
+ .end = 0x84ff,
+ .flags = IORESOURCE_MEM,
+ },
+ {
+ .name = "fcc_mem",
+ .start = 0x9000,
+ .end = 0x907f,
+ .flags = IORESOURCE_MEM,
+ },
+ {
+ .name = "phyinterrupt",
+ .start = SIU_INT_IRQ5,
+ .end = SIU_INT_IRQ5,
+ .flags = IORESOURCE_IRQ,
+ },
+ {
+ .name = "interrupt",
+ .start = SIU_INT_FCC1,
+ .end = SIU_INT_FCC1,
+ .flags = IORESOURCE_IRQ,
+ },
+ },
+ },
+ [MPC82xx_FCC2] = {
+ .name = "cpm2_fcc",
+ .id = 2,
+ .dev.platform_data = &mpc82xx_fcc2_pdata,
+ .num_resources = 5,
+ .resource = (struct resource[]) {
+ {
+ .name = "fcc_regs",
+ .start = 0x11320,
+ .end = 0x1133f,
+ .flags = IORESOURCE_MEM,
+ },
+ {
+ .name = "fcc_pram",
+ .start = 0x8500,
+ .end = 0x85ff,
+ .flags = IORESOURCE_MEM,
+ },
+ {
+ .name = "fcc_mem",
+ .start = 0x9080,
+ .end = 0x90ff,
+ .flags = IORESOURCE_MEM,
+ },
+ {
+ .name = "phyinterrupt",
+ .start = SIU_INT_IRQ5,
+ .end = SIU_INT_IRQ5,
+ .flags = IORESOURCE_IRQ,
+ },
+ {
+ .name = "interrupt",
+ .start = SIU_INT_FCC2,
+ .end = SIU_INT_FCC2,
+ .flags = IORESOURCE_IRQ,
+ },
+ },
+ }
+};
+
+static int __init mach_mpc82xx_fixup(struct platform_device *pdev)
+{
+ ppc_sys_fixup_mem_resource(pdev, CPM_MAP_ADDR);
+ return 0;
+}
+
+static int __init mach_mpc82xx_init(void)
+{
+ if (ppc_md.progress)
+ ppc_md.progress("mach_mpc82xx_init:enter", 0);
+ ppc_sys_device_fixup = mach_mpc82xx_fixup;
+ return 0;
+}
+
+postcore_initcall(mach_mpc82xx_init);
diff -Nru a/arch/ppc/syslib/mpc82xx_sys.c b/arch/ppc/syslib/mpc82xx_sys.c
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/arch/ppc/syslib/mpc82xx_sys.c 2005-05-04 16:51:40 +04:00
@@ -0,0 +1,42 @@
+/*
+ * arch/ppc/syslib/mpc82xx_devices.c
+ *
+ * MPC82xx System descriptions
+ *
+ * Maintainer: Kumar Gala <kumar.gala@freescale.com>
+ *
+ * 2005 (c) MontaVista Software, Inc.
+ * Vitaly Bordug <vbordug@ru.mvista.com>
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/device.h>
+
+#include <asm/ppc_sys.h>
+
+
+struct ppc_sys_spec *cur_ppc_sys_spec;
+struct ppc_sys_spec ppc_sys_specs[] = {
+
+ {
+ .ppc_sys_name = "MPC8272ads",
+ .mask = 0xFFFF0000,
+ .value = 0x0c100000,
+ .num_devices = 2,
+ .device_list = (enum ppc_sys_devices[])
+ {
+ MPC82xx_FCC1,
+ MPC82xx_FCC2,
+ },
+ },
+ { /* default match */
+ .ppc_sys_name = "",
+ .mask = 0x00000000,
+ .value = 0x00000000,
+ },
+};
diff -Nru a/include/asm-ppc/mpc8260.h b/include/asm-ppc/mpc8260.h
--- a/include/asm-ppc/mpc8260.h 2005-05-04 16:51:40 +04:00
+++ b/include/asm-ppc/mpc8260.h 2005-05-04 16:51:40 +04:00
@@ -74,6 +74,11 @@
extern unsigned char __res[];
#endif
+enum ppc_sys_devices {
+ MPC82xx_FCC1,
+ MPC82xx_FCC2,
+};
+
#endif /* CONFIG_8260 */
#endif /* !__ASM_PPC_MPC8260_H__ */
#endif /* __KERNEL__ */
diff -Nru a/include/asm-ppc/ppc_sys.h b/include/asm-ppc/ppc_sys.h
--- a/include/asm-ppc/ppc_sys.h 2005-05-04 16:51:40 +04:00
+++ b/include/asm-ppc/ppc_sys.h 2005-05-04 16:51:40 +04:00
@@ -27,6 +27,8 @@
#include <asm/mpc85xx.h>
#elif defined(CONFIG_PPC_MPC52xx)
#include <asm/mpc52xx.h>
+#elif defined(CONFIG_ADS8272)
+#include <asm/mpc8260.h>
#else
#error "need definition of ppc_sys_devices"
#endif
diff -Nru a/include/asm-ppc/ppcboot.h b/include/asm-ppc/ppcboot.h
--- a/include/asm-ppc/ppcboot.h 2005-05-04 16:51:40 +04:00
+++ b/include/asm-ppc/ppcboot.h 2005-05-04 16:51:40 +04:00
@@ -74,7 +74,7 @@
hymod_conf_t bi_hymod_conf; /* hymod configuration information */
#endif
#if defined(CONFIG_EVB64260) || defined(CONFIG_44x) || defined(CONFIG_85xx) ||\
- defined(CONFIG_83xx)
+ defined(CONFIG_83xx) || defined(CONFIG_ADS8272)
/* second onboard ethernet port */
unsigned char bi_enet1addr[6];
#endif
diff -Nru a/include/linux/fsl_devices.h b/include/linux/fsl_devices.h
--- a/include/linux/fsl_devices.h 2005-05-04 16:51:40 +04:00
+++ b/include/linux/fsl_devices.h 2005-05-04 16:51:40 +04:00
@@ -65,6 +65,32 @@
/* Flags in gianfar_platform_data */
#define FSL_GIANFAR_BRD_HAS_PHY_INTR 0x00000001 /* if not set use a timer */
+struct cpm2_fec_platform_data {
+ /* device specific information */
+ u32 cp_page;
+ u32 cp_block;
+
+ u32 clk_trx;
+ u32 clk_route;
+ u32 clk_mask;
+
+ u32 mdio;
+ u32 mdck;
+
+
+ u32 device_flags;
+
+ /* board specific information */
+ u32 board_flags;
+ u32 phyid;
+ u32 interruptPHY;
+ u8 mac_addr[6];
+};
+
+/* Flags in cpm_platform_data */
+
+#define FSL_CPM2_FEC_BRD_HAS_PHY_INTR 0x00000001 /* if not set use a timer */
+
struct fsl_i2c_platform_data {
/* device specific information */
u32 device_flags;
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC][PATCH 2.6.12-rc2 1/3] FCC Ethernet PlatformDevice support for 82xx
2005-05-04 14:35 [RFC][PATCH 2.6.12-rc2 1/3] FCC Ethernet PlatformDevice support for 82xx Vitaly Bordug
@ 2005-05-04 16:46 ` Eugene Surovegin
2005-05-05 13:56 ` Vitaly Bordug
0 siblings, 1 reply; 4+ messages in thread
From: Eugene Surovegin @ 2005-05-04 16:46 UTC (permalink / raw)
To: Vitaly Bordug; +Cc: linuxppc-embedded list
On Wed, May 04, 2005 at 06:35:16PM +0400, Vitaly Bordug wrote:
> This patch adds generic PlatformDevice support to the 82xx family.
> Only FCC's exist currently in the structure, as there is the driver
> which will utilize this.
>
[snip]
> +#ifdef CONFIG_CPM2
> + identify_ppc_sys_by_id(cpm2_immr->im_memctl.memc_immr << 16);
> +
> + /* Set up the MAC addresses for the FECs
> + */
> + fec = ppc_sys_platform_devices[MPC82xx_FCC1].dev.platform_data;
> + memcpy(fec->mac_addr,bi->bi_enetaddr,6);
> +
> + fec = ppc_sys_platform_devices[MPC82xx_FCC2].dev.platform_data;
> +#ifdef CONFIG_ADS8272
> + memcpy(fec->mac_addr,bi->bi_enet1addr,6);
> +#else
> + memcpy(fec->mac_addr,bi->bi_enetaddr,6);
> + fec->macaddr[5] ^= 1;
> +#endif
> +#endif
What is this? Why does common file contain board specific ifdefs????
[snip]
> +/* FCC1 Clock Source Configuration. There are board specific.
> + Can only choose from CLK9-12 */
> +#if defined(CONFIG_ADS8272)
> +#define F1_RXCLK 11
> +#define F1_TXCLK 10
> +#else
> +#define F1_RXCLK 12
> +#define F1_TXCLK 11
> +#endif
Same thing. Why on earth you continue current 8xxx trend of putting
board specific crap into common files?
> +
> +/* FCC2 Clock Source Configuration. There are board specific.
> + Can only choose from CLK13-16 */
> +#ifdef CONFIG_ADS8272
> +#define F2_RXCLK 15
> +#define F2_TXCLK 16
> +#else
> +#define F2_RXCLK 13
> +#define F2_TXCLK 14
> +#endif
Ditto.
> +#ifdef CONFIG_ADS8272
> +#define PC_MDIO 0x00002000U
> +#define PC_MDCK 0x00001000U
> +#else
> +#define PC_MDIO 0x00000004U
> +#define PC_MDCK 0x00000020U
> +#endif
Ditto.
> + .name = "phyinterrupt",
> + .start = SIU_INT_IRQ5,
> + .end = SIU_INT_IRQ5,
> + .flags = IORESOURCE_IRQ,
> + },
Why is this here? PHY interrupt routing is _board_ specific.
--
Eugene
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC][PATCH 2.6.12-rc2 1/3] FCC Ethernet PlatformDevice support for 82xx
2005-05-04 16:46 ` Eugene Surovegin
@ 2005-05-05 13:56 ` Vitaly Bordug
2005-05-05 14:30 ` Kumar Gala
0 siblings, 1 reply; 4+ messages in thread
From: Vitaly Bordug @ 2005-05-05 13:56 UTC (permalink / raw)
To: Eugene Surovegin; +Cc: linuxppc-embedded list
[-- Attachment #1: Type: text/plain, Size: 2157 bytes --]
Eugene Surovegin wrote:
>On Wed, May 04, 2005 at 06:35:16PM +0400, Vitaly Bordug wrote:
>
>
>>This patch adds generic PlatformDevice support to the 82xx family.
>>Only FCC's exist currently in the structure, as there is the driver
>>which will utilize this.
>>
>>
>>
>
>[snip]
>
>
>
>>+#ifdef CONFIG_CPM2
>>+ identify_ppc_sys_by_id(cpm2_immr->im_memctl.memc_immr << 16);
>>+
>>+ /* Set up the MAC addresses for the FECs
>>+ */
>>+ fec = ppc_sys_platform_devices[MPC82xx_FCC1].dev.platform_data;
>>+ memcpy(fec->mac_addr,bi->bi_enetaddr,6);
>>+
>>+ fec = ppc_sys_platform_devices[MPC82xx_FCC2].dev.platform_data;
>>+#ifdef CONFIG_ADS8272
>>+ memcpy(fec->mac_addr,bi->bi_enet1addr,6);
>>+#else
>>+ memcpy(fec->mac_addr,bi->bi_enetaddr,6);
>>+ fec->macaddr[5] ^= 1;
>>+#endif
>>+#endif
>>
>>
>
>What is this? Why does common file contain board specific ifdefs????
>
>[snip]
>
>
>
>>+/* FCC1 Clock Source Configuration. There are board specific.
>>+ Can only choose from CLK9-12 */
>>+#if defined(CONFIG_ADS8272)
>>+#define F1_RXCLK 11
>>+#define F1_TXCLK 10
>>+#else
>>+#define F1_RXCLK 12
>>+#define F1_TXCLK 11
>>+#endif
>>
>>
>
>Same thing. Why on earth you continue current 8xxx trend of putting
>board specific crap into common files?
>
>
>
>>+
>>+/* FCC2 Clock Source Configuration. There are board specific.
>>+ Can only choose from CLK13-16 */
>>+#ifdef CONFIG_ADS8272
>>+#define F2_RXCLK 15
>>+#define F2_TXCLK 16
>>+#else
>>+#define F2_RXCLK 13
>>+#define F2_TXCLK 14
>>+#endif
>>
>>
>
>Ditto.
>
>
>
>>+#ifdef CONFIG_ADS8272
>>+#define PC_MDIO 0x00002000U
>>+#define PC_MDCK 0x00001000U
>>+#else
>>+#define PC_MDIO 0x00000004U
>>+#define PC_MDCK 0x00000020U
>>+#endif
>>
>>
>
>Ditto.
>
>
>
>>+ .name = "phyinterrupt",
>>+ .start = SIU_INT_IRQ5,
>>+ .end = SIU_INT_IRQ5,
>>+ .flags = IORESOURCE_IRQ,
>>+ },
>>
>>
>
>Why is this here? PHY interrupt routing is _board_ specific.
>
>
>
I have fixed these yet, but I think it will be more reasonable to update
this together with respective driver which I'll work on together with
Pantelis.
Thank you for review.
--
Sincerely,
Vitaly
[-- Attachment #2: Type: text/html, Size: 2974 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC][PATCH 2.6.12-rc2 1/3] FCC Ethernet PlatformDevice support for 82xx
2005-05-05 13:56 ` Vitaly Bordug
@ 2005-05-05 14:30 ` Kumar Gala
0 siblings, 0 replies; 4+ messages in thread
From: Kumar Gala @ 2005-05-05 14:30 UTC (permalink / raw)
To: Vitaly Bordug; +Cc: linuxppc-embedded list
Can you send just an updated patch for just the base platform
additions. What I'm looking for is just changes/additions of the
following files:
arch/ppc/syslib/mpc82xx_device.c
arch/ppc/syslib/mpc82xx_sys.c
include/asm-ppc/mpc8260.h
include/asm-ppc/ppc_sys.h
thanks
- kumar
On May 5, 2005, at 8:56 AM, Vitaly Bordug wrote:
> Eugene Surovegin wrote:
> On Wed, May 04, 2005 at 06:35:16PM +0400, Vitaly Bordug wrote:
>
> This patch adds generic PlatformDevice support to the 82xx family.
> Only FCC's exist currently in the structure, as there is the driver
> which will utilize this.
>
>
> [snip]
>
>
> +#ifdef CONFIG_CPM2
> + identify_ppc_sys_by_id(cpm2_immr->im_memctl.memc_immr << 16);
> +
> + /* Set up the MAC addresses for the FECs
> + */
> + fec = ppc_sys_platform_devices[MPC82xx_FCC1].dev.platform_data;
> + memcpy(fec->mac_addr,bi->bi_enetaddr,6);
> +
> + fec = ppc_sys_platform_devices[MPC82xx_FCC2].dev.platform_data;
> +#ifdef CONFIG_ADS8272
> + memcpy(fec->mac_addr,bi->bi_enet1addr,6);
> +#else
> + memcpy(fec->mac_addr,bi->bi_enetaddr,6);
> + fec->macaddr[5] ^= 1;
> +#endif
> +#endif
>
> What is this? Why does common file contain board specific ifdefs????
>
> [snip]
>
>
> +/* FCC1 Clock Source Configuration. There are board specific.
> + Can only choose from CLK9-12 */
> +#if defined(CONFIG_ADS8272)
> +#define F1_RXCLK 11
> +#define F1_TXCLK 10
> +#else
> +#define F1_RXCLK 12
> +#define F1_TXCLK 11
> +#endif
>
> Same thing. Why on earth you continue current 8xxx trend of putting
> board specific crap into common files?
>
>
> +
> +/* FCC2 Clock Source Configuration. There are board specific.
> + Can only choose from CLK13-16 */
> +#ifdef CONFIG_ADS8272
> +#define F2_RXCLK 15
> +#define F2_TXCLK 16
> +#else
> +#define F2_RXCLK 13
> +#define F2_TXCLK 14
> +#endif
>
> Ditto.
>
>
> +#ifdef CONFIG_ADS8272
> +#define PC_MDIO 0x00002000U
> +#define PC_MDCK 0x00001000U
> +#else
> +#define PC_MDIO 0x00000004U
> +#define PC_MDCK 0x00000020U
> +#endif
>
> Ditto.
>
>
> + .name = "phyinterrupt",
> + .start = SIU_INT_IRQ5,
> + .end = SIU_INT_IRQ5,
> + .flags = IORESOURCE_IRQ,
> + },
>
> Why is this here? PHY interrupt routing is _board_ specific.
>
>
> I have fixed these yet, but I think it will be more reasonable to
> update this together with respective driver which I'll work on
> together with Pantelis.
> Thank you for review.
>
>
> --
> Sincerely,
> Vitaly
>
> <ATT400050.txt>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-05-05 14:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-04 14:35 [RFC][PATCH 2.6.12-rc2 1/3] FCC Ethernet PlatformDevice support for 82xx Vitaly Bordug
2005-05-04 16:46 ` Eugene Surovegin
2005-05-05 13:56 ` Vitaly Bordug
2005-05-05 14:30 ` Kumar Gala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).