svn commit: r218149 - in head/sys/dev: ahci ata ata/chipsets ichsmb
ichwd sound/pci/hda
Jack F Vogel
jfv at FreeBSD.org
Tue Feb 1 01:05:11 UTC 2011
Author: jfv
Date: Tue Feb 1 01:05:11 2011
New Revision: 218149
URL: http://svn.freebsd.org/changeset/base/218149
Log:
Support for the new Patsburg PCH chipset:
- SMBus Controller
- SATA Controller
- HD Audio Controller
- Watchdog Controller
Thanks to Seth Heasley (seth.heasley at intel.com) for providing us code.
MFC after 3 days
Modified:
head/sys/dev/ahci/ahci.c
head/sys/dev/ata/ata-pci.h
head/sys/dev/ata/chipsets/ata-intel.c
head/sys/dev/ichsmb/ichsmb_pci.c
head/sys/dev/ichwd/ichwd.c
head/sys/dev/ichwd/ichwd.h
head/sys/dev/sound/pci/hda/hdac.c
Modified: head/sys/dev/ahci/ahci.c
==============================================================================
--- head/sys/dev/ahci/ahci.c Mon Jan 31 23:46:36 2011 (r218148)
+++ head/sys/dev/ahci/ahci.c Tue Feb 1 01:05:11 2011 (r218149)
@@ -161,7 +161,10 @@ static struct {
{0x1c038086, 0x00, "Intel Cougar Point", 0},
{0x1c048086, 0x00, "Intel Cougar Point", 0},
{0x1c058086, 0x00, "Intel Cougar Point", 0},
- {0x23238086, 0x00, "Intel DH89xxCC", 0},
+ {0x23238086, 0x00, "Intel DH89xxCC", 0},
+ {0x1d028086, 0x00, "Intel Patsburg", 0},
+ {0x1d048086, 0x00, "Intel Patsburg", 0},
+ {0x1d068086, 0x00, "Intel Patsburg", 0},
{0x2361197b, 0x00, "JMicron JMB361", AHCI_Q_NOFORCE},
{0x2363197b, 0x00, "JMicron JMB363", AHCI_Q_NOFORCE},
{0x2365197b, 0x00, "JMicron JMB365", AHCI_Q_NOFORCE},
Modified: head/sys/dev/ata/ata-pci.h
==============================================================================
--- head/sys/dev/ata/ata-pci.h Mon Jan 31 23:46:36 2011 (r218148)
+++ head/sys/dev/ata/ata-pci.h Tue Feb 1 01:05:11 2011 (r218149)
@@ -227,6 +227,12 @@ struct ata_pci_controller {
#define ATA_CPT_S3 0x1c088086
#define ATA_CPT_S4 0x1c098086
+#define ATA_PBG_S1 0x1d008086
+#define ATA_PBG_AH1 0x1d028086
+#define ATA_PBG_R1 0x1d048086
+#define ATA_PBG_R2 0x1d068086
+#define ATA_PBG_S2 0x1d088086
+
#define ATA_I31244 0x32008086
#define ATA_ISCH 0x811a8086
#define ATA_DH89XXCC 0x23238086
Modified: head/sys/dev/ata/chipsets/ata-intel.c
==============================================================================
--- head/sys/dev/ata/chipsets/ata-intel.c Mon Jan 31 23:46:36 2011 (r218148)
+++ head/sys/dev/ata/chipsets/ata-intel.c Tue Feb 1 01:05:11 2011 (r218149)
@@ -176,6 +176,11 @@ ata_intel_probe(device_t dev)
{ ATA_CPT_R2, 0, INTEL_AHCI, 0, ATA_SA300, "Cougar Point" },
{ ATA_CPT_S3, 0, INTEL_6CH2, 0, ATA_SA300, "Cougar Point" },
{ ATA_CPT_S4, 0, INTEL_6CH2, 0, ATA_SA300, "Cougar Point" },
+ { ATA_PBG_S1, 0, INTEL_6CH, 0, ATA_SA300, "Patsburg" },
+ { ATA_PBG_AH1, 0, INTEL_AHCI, 0, ATA_SA300, "Patsburg" },
+ { ATA_PBG_R1, 0, INTEL_AHCI, 0, ATA_SA300, "Patsburg" },
+ { ATA_PBG_R2, 0, INTEL_AHCI, 0, ATA_SA300, "Patsburg" },
+ { ATA_PBG_S2, 0, INTEL_6CH2, 0, ATA_SA300, "Patsburg" },
{ ATA_I31244, 0, 0, 2, ATA_SA150, "31244" },
{ ATA_ISCH, 0, 0, 1, ATA_UDMA5, "SCH" },
{ ATA_DH89XXCC, 0, INTEL_AHCI, 0, ATA_SA300, "DH89xxCC" },
Modified: head/sys/dev/ichsmb/ichsmb_pci.c
==============================================================================
--- head/sys/dev/ichsmb/ichsmb_pci.c Mon Jan 31 23:46:36 2011 (r218148)
+++ head/sys/dev/ichsmb/ichsmb_pci.c Tue Feb 1 01:05:11 2011 (r218149)
@@ -82,6 +82,7 @@ __FBSDID("$FreeBSD$");
#define ID_6300ESB 0x25a48086
#define ID_631xESB 0x269b8086
#define ID_DH89XXCC 0x23308086
+#define ID_PATSBURG 0x1d228086
#define ID_CPT 0x1c228086
#define PCIS_SERIALBUS_SMBUS_PROGIF 0x00
@@ -179,6 +180,9 @@ ichsmb_pci_probe(device_t dev)
case ID_DH89XXCC:
device_set_desc(dev, "Intel DH89xxCC SMBus controller");
break;
+ case ID_PATSBURG:
+ device_set_desc(dev, "Intel Patsburg SMBus controller");
+ break;
case ID_CPT:
device_set_desc(dev, "Intel Cougar Point SMBus controller");
break;
Modified: head/sys/dev/ichwd/ichwd.c
==============================================================================
--- head/sys/dev/ichwd/ichwd.c Mon Jan 31 23:46:36 2011 (r218148)
+++ head/sys/dev/ichwd/ichwd.c Tue Feb 1 01:05:11 2011 (r218149)
@@ -157,7 +157,9 @@ static struct ichwd_device ichwd_devices
{ DEVICEID_CPT29, "Intel Cougar Point watchdog timer", 10 },
{ DEVICEID_CPT30, "Intel Cougar Point watchdog timer", 10 },
{ DEVICEID_CPT31, "Intel Cougar Point watchdog timer", 10 },
- { DEVICEID_DH89XXCC_LPC, "Intel DH89xxCC watchdog timer", 10 },
+ { DEVICEID_DH89XXCC_LPC, "Intel DH89xxCC watchdog timer", 10 },
+ { DEVICEID_PATSBURG_LPC1, "Intel Patsburg watchdog timer", 10 },
+ { DEVICEID_PATSBURG_LPC2, "Intel Patsburg watchdog timer", 10 },
{ 0, NULL, 0 },
};
Modified: head/sys/dev/ichwd/ichwd.h
==============================================================================
--- head/sys/dev/ichwd/ichwd.h Mon Jan 31 23:46:36 2011 (r218148)
+++ head/sys/dev/ichwd/ichwd.h Tue Feb 1 01:05:11 2011 (r218149)
@@ -96,6 +96,8 @@ struct ichwd_softc {
#define DEVICEID_CPT29 0x1c5d
#define DEVICEID_CPT30 0x1c5e
#define DEVICEID_CPT31 0x1c5f
+#define DEVICEID_PATSBURG_LPC1 0x1d40
+#define DEVICEID_PATSBURG_LPC2 0x1d41
#define DEVICEID_DH89XXCC_LPC 0x2310
#define DEVICEID_82801AA 0x2410
#define DEVICEID_82801AB 0x2420
Modified: head/sys/dev/sound/pci/hda/hdac.c
==============================================================================
--- head/sys/dev/sound/pci/hda/hdac.c Mon Jan 31 23:46:36 2011 (r218148)
+++ head/sys/dev/sound/pci/hda/hdac.c Tue Feb 1 01:05:11 2011 (r218149)
@@ -141,6 +141,7 @@ SND_DECLARE_FILE("$FreeBSD$");
/* Intel */
#define INTEL_VENDORID 0x8086
#define HDA_INTEL_CPT HDA_MODEL_CONSTRUCT(INTEL, 0x1c20)
+#define HDA_INTEL_PATSBURG HDA_MODEL_CONSTRUCT(INTEL, 0x1d20)
#define HDA_INTEL_82801F HDA_MODEL_CONSTRUCT(INTEL, 0x2668)
#define HDA_INTEL_63XXESB HDA_MODEL_CONSTRUCT(INTEL, 0x269a)
#define HDA_INTEL_82801G HDA_MODEL_CONSTRUCT(INTEL, 0x27d8)
@@ -149,6 +150,7 @@ SND_DECLARE_FILE("$FreeBSD$");
#define HDA_INTEL_82801JI HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e)
#define HDA_INTEL_82801JD HDA_MODEL_CONSTRUCT(INTEL, 0x3a6e)
#define HDA_INTEL_PCH HDA_MODEL_CONSTRUCT(INTEL, 0x3b56)
+#define HDA_INTEL_PCH2 HDA_MODEL_CONSTRUCT(INTEL, 0x3b57)
#define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b)
#define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff)
@@ -492,6 +494,7 @@ static const struct {
char flags;
} hdac_devices[] = {
{ HDA_INTEL_CPT, "Intel Cougar Point", 0 },
+ { HDA_INTEL_PATSBURG,"Intel Patsburg", 0 },
{ HDA_INTEL_82801F, "Intel 82801F", 0 },
{ HDA_INTEL_63XXESB, "Intel 631x/632xESB", 0 },
{ HDA_INTEL_82801G, "Intel 82801G", 0 },
@@ -499,7 +502,8 @@ static const struct {
{ HDA_INTEL_82801I, "Intel 82801I", 0 },
{ HDA_INTEL_82801JI, "Intel 82801JI", 0 },
{ HDA_INTEL_82801JD, "Intel 82801JD", 0 },
- { HDA_INTEL_PCH, "Intel PCH", 0 },
+ { HDA_INTEL_PCH, "Intel 5 Series/3400 Series", 0 },
+ { HDA_INTEL_PCH2, "Intel 5 Series/3400 Series", 0 },
{ HDA_INTEL_SCH, "Intel SCH", 0 },
{ HDA_NVIDIA_MCP51, "NVidia MCP51", HDAC_NO_MSI },
{ HDA_NVIDIA_MCP55, "NVidia MCP55", HDAC_NO_MSI },
More information about the svn-src-head
mailing list