summaryrefslogtreecommitdiffstats
path: root/target/linux/amcc-2.6/patches
diff options
context:
space:
mode:
authorkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-05-28 16:47:42 +0000
committerkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-05-28 16:47:42 +0000
commit0f31d464c4ead63cad13b596052a5f5b55bec9f7 (patch)
treeca4596ca65fc35f9a4909c6ee6338325cd3a77be /target/linux/amcc-2.6/patches
parent9aaa4373c356d5c746a35fa86ad54bb1ffacedeb (diff)
add support for the AMCC Taishan, mark it as broken until we fix the combined layout
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7377 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/amcc-2.6/patches')
-rw-r--r--target/linux/amcc-2.6/patches/100-taishan_emac.patch71
-rw-r--r--target/linux/amcc-2.6/patches/110-openwrt_mtd_mapping.patch29
-rw-r--r--target/linux/amcc-2.6/patches/120-uncompressed_uImage.patch17
3 files changed, 117 insertions, 0 deletions
diff --git a/target/linux/amcc-2.6/patches/100-taishan_emac.patch b/target/linux/amcc-2.6/patches/100-taishan_emac.patch
new file mode 100644
index 000000000..fde73b77b
--- /dev/null
+++ b/target/linux/amcc-2.6/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-2.6/patches/110-openwrt_mtd_mapping.patch b/target/linux/amcc-2.6/patches/110-openwrt_mtd_mapping.patch
new file mode 100644
index 000000000..7d07fa925
--- /dev/null
+++ b/target/linux/amcc-2.6/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-2.6/patches/120-uncompressed_uImage.patch b/target/linux/amcc-2.6/patches/120-uncompressed_uImage.patch
new file mode 100644
index 000000000..b1f270783
--- /dev/null
+++ b/target/linux/amcc-2.6/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: $@ '