diff options
Diffstat (limited to 'target/linux/amcc/patches')
-rw-r--r-- | target/linux/amcc/patches/100-taishan_emac.patch | 71 | ||||
-rw-r--r-- | target/linux/amcc/patches/110-openwrt_mtd_mapping.patch | 29 | ||||
-rw-r--r-- | target/linux/amcc/patches/120-uncompressed_uImage.patch | 17 |
3 files changed, 117 insertions, 0 deletions
diff --git a/target/linux/amcc/patches/100-taishan_emac.patch b/target/linux/amcc/patches/100-taishan_emac.patch new file mode 100644 index 0000000..fde73b7 --- /dev/null +++ b/target/linux/amcc/patches/100-taishan_emac.patch @@ -0,0 +1,71 @@ +diff -Nur linux-2.6.21/drivers/net/ibm_emac/ibm_emac_phy.c linux-2.6.21-owrt/drivers/net/ibm_emac/ibm_emac_phy.c +--- linux-2.6.21/drivers/net/ibm_emac/ibm_emac_phy.c 2007-04-27 23:49:26.000000000 +0200 ++++ linux-2.6.21-owrt/drivers/net/ibm_emac/ibm_emac_phy.c 2007-05-28 16:27:15.000000000 +0200 +@@ -299,11 +299,50 @@ + .ops = &cis8201_phy_ops + }; + ++#if defined(CONFIG_TAISHAN) ++static int et1011c_init(struct mii_phy *phy) ++{ ++ u16 reg_short; ++ ++ reg_short = (u16)(phy_read(phy,0x16)); ++ reg_short &= ~(0x7); ++ reg_short |= 0x6; /* RGMII Trace Delay*/ ++ phy_write(phy, 0x16, reg_short); ++ ++ reg_short = (u16)(phy_read(phy, 0x17)); ++ reg_short &= ~(0x40); ++ phy_write(phy, 0x17, reg_short); ++ ++ phy_write(phy,0x1c,0x74f0); ++ return 0; ++} ++ ++static struct mii_phy_ops et1011c_phy_ops = { ++ .init = et1011c_init, ++ .setup_aneg = genmii_setup_aneg, ++ .setup_forced = genmii_setup_forced, ++ .poll_link = genmii_poll_link, ++ .read_link = genmii_read_link ++}; ++ ++static struct mii_phy_def et1011c_phy_def = { ++ .phy_id = 0x0282f000, ++ .phy_id_mask = 0x0fffff00, ++ .name = "ET1011C Gigabit Ethernet", ++ .ops = &et1011c_phy_ops ++}; ++ ++static struct mii_phy_def *mii_phy_table[] = { ++ &et1011c_phy_def, ++ NULL ++}; ++#else + static struct mii_phy_def *mii_phy_table[] = { + &cis8201_phy_def, + &genmii_phy_def, + NULL + }; ++#endif + + int mii_phy_probe(struct mii_phy *phy, int address) + { +diff -Nur linux-2.6.21/drivers/net/ibm_emac/ibm_emac_zmii.c linux-2.6.21-owrt/drivers/net/ibm_emac/ibm_emac_zmii.c +--- linux-2.6.21/drivers/net/ibm_emac/ibm_emac_zmii.c 2007-04-27 23:49:26.000000000 +0200 ++++ linux-2.6.21-owrt/drivers/net/ibm_emac/ibm_emac_zmii.c 2007-05-28 16:26:48.000000000 +0200 +@@ -170,6 +170,13 @@ + struct ocp_func_emac_data *emacdata = dev->def->additions; + + if (emacdata->zmii_idx >= 0) { ++#if defined(CONFIG_TAISHAN) ++ /* don't attach emac0 and emac1 */ ++ if( dev->def->index < 2 ) ++ { ++ return -ENODEV; ++ } ++#endif + dev->zmii_input = emacdata->zmii_mux; + dev->zmii_dev = + ocp_find_device(OCP_VENDOR_IBM, OCP_FUNC_ZMII, diff --git a/target/linux/amcc/patches/110-openwrt_mtd_mapping.patch b/target/linux/amcc/patches/110-openwrt_mtd_mapping.patch new file mode 100644 index 0000000..7d07fa9 --- /dev/null +++ b/target/linux/amcc/patches/110-openwrt_mtd_mapping.patch @@ -0,0 +1,29 @@ +diff -Nur linux-2.6.21/arch/ppc/platforms/4xx/taishan.c linux-2.6.21-owrt/arch/ppc/platforms/4xx/taishan.c +--- linux-2.6.21/arch/ppc/platforms/4xx/taishan.c 2007-04-27 23:49:26.000000000 +0200 ++++ linux-2.6.21-owrt/arch/ppc/platforms/4xx/taishan.c 2007-05-28 17:21:46.000000000 +0200 +@@ -60,8 +60,8 @@ + }; + + #define RW_PART0_OF 0 +-#define RW_PART0_SZ 0x180000 +-#define RW_PART1_SZ 0x200000 ++#define RW_PART0_SZ 0x400000 ++#define RW_PART1_SZ 0x3a00000 + /* Partition 2 will be autosized dynamically... */ + #define RW_PART3_SZ 0x80000 + #define RW_PART4_SZ 0x40000 +@@ -73,12 +73,12 @@ + .size = RW_PART0_SZ + }, + { +- .name = "root", ++ .name = "rootfs", + .offset = MTDPART_OFS_APPEND, + .size = RW_PART1_SZ, + }, + { +- .name = "user", ++ .name = "diagnostics", + .offset = MTDPART_OFS_APPEND, + /* .size = RW_PART2_SZ */ /* will be adjusted dynamically */ + }, diff --git a/target/linux/amcc/patches/120-uncompressed_uImage.patch b/target/linux/amcc/patches/120-uncompressed_uImage.patch new file mode 100644 index 0000000..b1f2707 --- /dev/null +++ b/target/linux/amcc/patches/120-uncompressed_uImage.patch @@ -0,0 +1,17 @@ +diff -Nur linux-2.6.21/arch/ppc/boot/images/Makefile linux-2.6.21-owrt/arch/ppc/boot/images/Makefile +--- linux-2.6.21/arch/ppc/boot/images/Makefile 2007-04-27 23:49:26.000000000 +0200 ++++ linux-2.6.21-owrt/arch/ppc/boot/images/Makefile 2007-05-28 17:44:11.000000000 +0200 +@@ -20,11 +20,11 @@ + + quiet_cmd_uimage = UIMAGE $@ + cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A ppc -O linux -T kernel \ +- -C gzip -a 00000000 -e 00000000 -n 'Linux-$(KERNELRELEASE)' \ ++ -C none -a 00000000 -e 00000000 -n 'Linux-$(KERNELRELEASE)' \ + -d $< $@ + + targets += uImage +-$(obj)/uImage: $(obj)/vmlinux.gz ++$(obj)/uImage: $(obj)/vmlinux.bin + $(Q)rm -f $@ + $(call cmd,uimage) + @echo -n ' Image: $@ ' |