Great to get HT1000 support into the tree.
One small remark. I believe that the "magic" on port cd6h and cd7h modifies general purpose I/Os of the HT1000; in the case of the x3455 board you probably deactivate write protection for the flash pin.
We are currently working on a different HT1000 based board, and have a similar patch ready, with the difference that we set different GPIOs... so this access is board dependant.
I think the CD6/CD7 access should move into a x3455 board enable function.
Regards, Mondrian
svn@openbios.org wrote:
Author: stepan Date: 2007-06-05 12:28:39 +0200 (Tue, 05 Jun 2007) New Revision: 2711
Modified: trunk/LinuxBIOSv2/util/flashrom/chipset_enable.c Log: Add support for BCM HT1000 chipset to flashrom. Tested on IBM x3455. (trivial)
Signed-off-by: Stefan Reinauer stepan@coresystems.de Acked-by: Stefan Reinauer stepan@coresystems.de
Modified: trunk/LinuxBIOSv2/util/flashrom/chipset_enable.c
--- trunk/LinuxBIOSv2/util/flashrom/chipset_enable.c 2007-06-03 23:19:19 UTC (rev 2710) +++ trunk/LinuxBIOSv2/util/flashrom/chipset_enable.c 2007-06-05 10:28:39 UTC (rev 2711) @@ -387,6 +387,28 @@
}
+static int enable_flash_ht1000(struct pci_dev *dev, char *name) +{
- unsigned char byte;
- /* Set the 4MB enable bit */
- byte = pci_read_byte(dev, 0x41);
- byte |= 0x0e;
- pci_write_byte(dev, 0x41, byte);
- byte = pci_read_byte(dev, 0x43);
- byte |= (1<<4);
- pci_write_byte(dev, 0x43, byte);
- /* Some magic. Comment me if you can */
- outb(0x45, 0xcd6);
- byte = inb(0xcd7);
- outb(reg8|0x20, 0xcd7);
- return 0;
+}
typedef struct penable { unsigned short vendor, device; char *name; @@ -444,6 +466,8 @@ {0x10de, 0x0367, "NVIDIA MCP55", enable_flash_mcp55}, /* Pro */
{0x1002, 0x4377, "ATI SB400", enable_flash_sb400}, /* ATI Technologies Inc IXP SB400 PCI-ISA Bridge (rev 80) */
- {0x1166, 0x0205, "BCM HT1000", enable_flash_ht1000},
};
/*