|
@@ -40,6 +40,42 @@ static struct gianfar_platform_data mpc85xx_tsec2_pdata = {
|
|
|
.phy_reg_addr = MPC85xx_ENET1_OFFSET,
|
|
|
};
|
|
|
|
|
|
+static struct gianfar_platform_data mpc85xx_etsec1_pdata = {
|
|
|
+ .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT |
|
|
|
+ FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON |
|
|
|
+ FSL_GIANFAR_DEV_HAS_MULTI_INTR |
|
|
|
+ FSL_GIANFAR_DEV_HAS_CSUM | FSL_GIANFAR_DEV_HAS_VLAN |
|
|
|
+ FSL_GIANFAR_DEV_HAS_EXTENDED_HASH,
|
|
|
+ .phy_reg_addr = MPC85xx_ENET1_OFFSET,
|
|
|
+};
|
|
|
+
|
|
|
+static struct gianfar_platform_data mpc85xx_etsec2_pdata = {
|
|
|
+ .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT |
|
|
|
+ FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON |
|
|
|
+ FSL_GIANFAR_DEV_HAS_MULTI_INTR |
|
|
|
+ FSL_GIANFAR_DEV_HAS_CSUM | FSL_GIANFAR_DEV_HAS_VLAN |
|
|
|
+ FSL_GIANFAR_DEV_HAS_EXTENDED_HASH,
|
|
|
+ .phy_reg_addr = MPC85xx_ENET1_OFFSET,
|
|
|
+};
|
|
|
+
|
|
|
+static struct gianfar_platform_data mpc85xx_etsec3_pdata = {
|
|
|
+ .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT |
|
|
|
+ FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON |
|
|
|
+ FSL_GIANFAR_DEV_HAS_MULTI_INTR |
|
|
|
+ FSL_GIANFAR_DEV_HAS_CSUM | FSL_GIANFAR_DEV_HAS_VLAN |
|
|
|
+ FSL_GIANFAR_DEV_HAS_EXTENDED_HASH,
|
|
|
+ .phy_reg_addr = MPC85xx_ENET1_OFFSET,
|
|
|
+};
|
|
|
+
|
|
|
+static struct gianfar_platform_data mpc85xx_etsec4_pdata = {
|
|
|
+ .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT |
|
|
|
+ FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON |
|
|
|
+ FSL_GIANFAR_DEV_HAS_MULTI_INTR |
|
|
|
+ FSL_GIANFAR_DEV_HAS_CSUM | FSL_GIANFAR_DEV_HAS_VLAN |
|
|
|
+ FSL_GIANFAR_DEV_HAS_EXTENDED_HASH,
|
|
|
+ .phy_reg_addr = MPC85xx_ENET1_OFFSET,
|
|
|
+};
|
|
|
+
|
|
|
static struct gianfar_platform_data mpc85xx_fec_pdata = {
|
|
|
.phy_reg_addr = MPC85xx_ENET1_OFFSET,
|
|
|
};
|
|
@@ -48,6 +84,10 @@ static struct fsl_i2c_platform_data mpc85xx_fsl_i2c_pdata = {
|
|
|
.device_flags = FSL_I2C_DEV_SEPARATE_DFSRR,
|
|
|
};
|
|
|
|
|
|
+static struct fsl_i2c_platform_data mpc85xx_fsl_i2c2_pdata = {
|
|
|
+ .device_flags = FSL_I2C_DEV_SEPARATE_DFSRR,
|
|
|
+};
|
|
|
+
|
|
|
static struct plat_serial8250_port serial_platform_data[] = {
|
|
|
[0] = {
|
|
|
.mapbase = 0x4500,
|
|
@@ -536,6 +576,151 @@ struct platform_device ppc_sys_platform_devices[] = {
|
|
|
},
|
|
|
},
|
|
|
#endif /* CONFIG_CPM2 */
|
|
|
+ [MPC85xx_eTSEC1] = {
|
|
|
+ .name = "fsl-gianfar",
|
|
|
+ .id = 1,
|
|
|
+ .dev.platform_data = &mpc85xx_etsec1_pdata,
|
|
|
+ .num_resources = 4,
|
|
|
+ .resource = (struct resource[]) {
|
|
|
+ {
|
|
|
+ .start = MPC85xx_ENET1_OFFSET,
|
|
|
+ .end = MPC85xx_ENET1_OFFSET +
|
|
|
+ MPC85xx_ENET1_SIZE - 1,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "tx",
|
|
|
+ .start = MPC85xx_IRQ_TSEC1_TX,
|
|
|
+ .end = MPC85xx_IRQ_TSEC1_TX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "rx",
|
|
|
+ .start = MPC85xx_IRQ_TSEC1_RX,
|
|
|
+ .end = MPC85xx_IRQ_TSEC1_RX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "error",
|
|
|
+ .start = MPC85xx_IRQ_TSEC1_ERROR,
|
|
|
+ .end = MPC85xx_IRQ_TSEC1_ERROR,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ [MPC85xx_eTSEC2] = {
|
|
|
+ .name = "fsl-gianfar",
|
|
|
+ .id = 2,
|
|
|
+ .dev.platform_data = &mpc85xx_etsec2_pdata,
|
|
|
+ .num_resources = 4,
|
|
|
+ .resource = (struct resource[]) {
|
|
|
+ {
|
|
|
+ .start = MPC85xx_ENET2_OFFSET,
|
|
|
+ .end = MPC85xx_ENET2_OFFSET +
|
|
|
+ MPC85xx_ENET2_SIZE - 1,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "tx",
|
|
|
+ .start = MPC85xx_IRQ_TSEC2_TX,
|
|
|
+ .end = MPC85xx_IRQ_TSEC2_TX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "rx",
|
|
|
+ .start = MPC85xx_IRQ_TSEC2_RX,
|
|
|
+ .end = MPC85xx_IRQ_TSEC2_RX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "error",
|
|
|
+ .start = MPC85xx_IRQ_TSEC2_ERROR,
|
|
|
+ .end = MPC85xx_IRQ_TSEC2_ERROR,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ [MPC85xx_eTSEC3] = {
|
|
|
+ .name = "fsl-gianfar",
|
|
|
+ .id = 3,
|
|
|
+ .dev.platform_data = &mpc85xx_etsec3_pdata,
|
|
|
+ .num_resources = 4,
|
|
|
+ .resource = (struct resource[]) {
|
|
|
+ {
|
|
|
+ .start = MPC85xx_ENET3_OFFSET,
|
|
|
+ .end = MPC85xx_ENET3_OFFSET +
|
|
|
+ MPC85xx_ENET3_SIZE - 1,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "tx",
|
|
|
+ .start = MPC85xx_IRQ_TSEC3_TX,
|
|
|
+ .end = MPC85xx_IRQ_TSEC3_TX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "rx",
|
|
|
+ .start = MPC85xx_IRQ_TSEC3_RX,
|
|
|
+ .end = MPC85xx_IRQ_TSEC3_RX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "error",
|
|
|
+ .start = MPC85xx_IRQ_TSEC3_ERROR,
|
|
|
+ .end = MPC85xx_IRQ_TSEC3_ERROR,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ [MPC85xx_eTSEC4] = {
|
|
|
+ .name = "fsl-gianfar",
|
|
|
+ .id = 4,
|
|
|
+ .dev.platform_data = &mpc85xx_etsec4_pdata,
|
|
|
+ .num_resources = 4,
|
|
|
+ .resource = (struct resource[]) {
|
|
|
+ {
|
|
|
+ .start = 0x27000,
|
|
|
+ .end = 0x27fff,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "tx",
|
|
|
+ .start = MPC85xx_IRQ_TSEC4_TX,
|
|
|
+ .end = MPC85xx_IRQ_TSEC4_TX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "rx",
|
|
|
+ .start = MPC85xx_IRQ_TSEC4_RX,
|
|
|
+ .end = MPC85xx_IRQ_TSEC4_RX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "error",
|
|
|
+ .start = MPC85xx_IRQ_TSEC4_ERROR,
|
|
|
+ .end = MPC85xx_IRQ_TSEC4_ERROR,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ [MPC85xx_IIC2] = {
|
|
|
+ .name = "fsl-i2c",
|
|
|
+ .id = 2,
|
|
|
+ .dev.platform_data = &mpc85xx_fsl_i2c2_pdata,
|
|
|
+ .num_resources = 2,
|
|
|
+ .resource = (struct resource[]) {
|
|
|
+ {
|
|
|
+ .start = 0x03100,
|
|
|
+ .end = 0x031ff,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = MPC85xx_IRQ_IIC1,
|
|
|
+ .end = MPC85xx_IRQ_IIC1,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
static int __init mach_mpc85xx_fixup(struct platform_device *pdev)
|