[PATCH] PPC: Basic enablement for new 15" PowerBook

Olof Johansson olof at lixom.net
Sun Oct 30 15:42:56 EST 2005


Hi,

Partial enablement patch for the new PowerBooks (hires revisions).

This enables the ATA controller, Gigabit ethernet and basic AGP setup.

Still remaining is to get the touchpad to work, the simple change of
just adding the new USB ids isn't enough. Sleep isn't working quite yet
either but this will give a kernel that can be used for installation
and basic use for now.

It's a qualified guess that the new 17" is PowerBook5,9, but until it's
confirmed there's not much use in adding it to the pmac_feature table.


Signed-off-by: Olof Johansson <olof at lixom.net>


Index: linux-2.6.14/arch/ppc/platforms/pmac_feature.c
===================================================================
--- linux-2.6.14.orig/arch/ppc/platforms/pmac_feature.c	2005-10-29 23:07:09.000000000 -0500
+++ linux-2.6.14/arch/ppc/platforms/pmac_feature.c	2005-10-29 23:26:33.000000000 -0500
@@ -2317,6 +2317,10 @@ static struct pmac_mb_def pmac_mb_defs[]
 		PMAC_TYPE_UNKNOWN_INTREPID,	intrepid_features,
 		PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
 	},
+	{	"PowerBook5,8",			"PowerBook G4 15\"",
+		PMAC_TYPE_UNKNOWN_INTREPID,	intrepid_features,
+		PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
+	},
 	{	"PowerBook6,1",			"PowerBook G4 12\"",
 		PMAC_TYPE_UNKNOWN_INTREPID,	intrepid_features,
 		PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
Index: linux-2.6.14/drivers/ide/ppc/pmac.c
===================================================================
--- linux-2.6.14.orig/drivers/ide/ppc/pmac.c	2005-10-29 23:07:09.000000000 -0500
+++ linux-2.6.14/drivers/ide/ppc/pmac.c	2005-10-29 23:13:44.000000000 -0500
@@ -1664,11 +1664,16 @@ static struct macio_driver pmac_ide_maci
 };
 
 static struct pci_device_id pmac_ide_pci_match[] = {
-	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_ATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
-	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
-	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_ATA,
+	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID_ATA100,
+	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_ATA100,
+	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
 	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_SH_ATA,
 	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID2_ATA,
+	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
 };
 
 static struct pci_driver pmac_ide_pci_driver = {
Index: linux-2.6.14/drivers/net/sungem.c
===================================================================
--- linux-2.6.14.orig/drivers/net/sungem.c	2005-10-29 23:07:09.000000000 -0500
+++ linux-2.6.14/drivers/net/sungem.c	2005-10-29 23:12:58.000000000 -0500
@@ -128,6 +128,8 @@ static struct pci_device_id gem_pci_tbl[
 	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
 	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_SH_SUNGEM,
 	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
+	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID2_GMAC,
+	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
 	{0, }
 };
 
Index: linux-2.6.14/include/linux/pci_ids.h
===================================================================
--- linux-2.6.14.orig/include/linux/pci_ids.h	2005-10-29 23:07:09.000000000 -0500
+++ linux-2.6.14/include/linux/pci_ids.h	2005-10-29 23:12:58.000000000 -0500
@@ -913,6 +915,10 @@
 #define PCI_DEVICE_ID_APPLE_SH_FW       0x0052
 #define PCI_DEVICE_ID_APPLE_U3L_AGP	0x0058
 #define PCI_DEVICE_ID_APPLE_U3H_AGP	0x0059
+#define PCI_DEVICE_ID_APPLE_IPID2_AGP	0x0066
+#define PCI_DEVICE_ID_APPLE_IPID2_ATA	0x0069
+#define PCI_DEVICE_ID_APPLE_IPID2_FW	0x006a
+#define PCI_DEVICE_ID_APPLE_IPID2_GMAC	0x006b
 #define PCI_DEVICE_ID_APPLE_TIGON3	0x1645
 
 #define PCI_VENDOR_ID_YAMAHA		0x1073
Index: linux-2.6.14/drivers/char/agp/uninorth-agp.c
===================================================================
--- linux-2.6.14.orig/drivers/char/agp/uninorth-agp.c	2005-10-29 23:07:09.000000000 -0500
+++ linux-2.6.14/drivers/char/agp/uninorth-agp.c	2005-10-29 23:12:58.000000000 -0500
@@ -557,6 +557,10 @@ static struct agp_device_ids uninorth_ag
 		.device_id	= PCI_DEVICE_ID_APPLE_U3H_AGP,
 		.chipset_name	= "U3H",
 	},
+	{
+		.device_id	= PCI_DEVICE_ID_APPLE_IPID2_AGP,
+		.chipset_name	= "UniNorth/Intrepid2",
+	},
 };
 
 static int __devinit agp_uninorth_probe(struct pci_dev *pdev,



More information about the Linuxppc-dev mailing list