diff --git a/southbridge/amd/sb600/sb600.c b/southbridge/amd/sb600/sb600.c index c39dcf89f3..a731a387c0 100644 --- a/southbridge/amd/sb600/sb600.c +++ b/southbridge/amd/sb600/sb600.c @@ -62,8 +62,8 @@ void set_sm_enable_bits(struct device * sm_dev, u32 reg_pos, u32 mask, u32 val) } } -void pmio_write_index(unsigned long port_base, u8 reg, u8 value); -u8 pmio_read_index(unsigned long port_base, u8 reg); +void pmio_write_index(u16 port_base, u8 reg, u8 value); +u8 pmio_read_index(u16 port_base, u8 reg); u8 pm_ioread(u8 reg); void pm_iowrite(u8 reg, u8 value); void pm2_iowrite(u8 reg, u8 value); diff --git a/southbridge/amd/sb600/sb600.h b/southbridge/amd/sb600/sb600.h index 4b83c9bd70..24ded1d003 100644 --- a/southbridge/amd/sb600/sb600.h +++ b/southbridge/amd/sb600/sb600.h @@ -22,6 +22,12 @@ #include +/* Power management index/data registers */ +#define PM_INDEX 0xcd6 +#define PM_DATA 0xcd7 +#define PM2_INDEX 0xcd0 +#define PM2_DATA 0xcd1 + void pm_iowrite(u8 reg, u8 value); u8 pm_ioread(u8 reg); void pm2_iowrite(u8 reg, u8 value); diff --git a/southbridge/amd/sb600/stage1.c b/southbridge/amd/sb600/stage1.c index 10e6e09e30..0db32b34f0 100644 --- a/southbridge/amd/sb600/stage1.c +++ b/southbridge/amd/sb600/stage1.c @@ -16,6 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + #include #include #include @@ -29,15 +30,15 @@ #include #include #include "sb600_smbus.h" +#include "sb600.h" - -void pmio_write_index(unsigned long port_base, u8 reg, u8 value) +void pmio_write_index(u16 port_base, u8 reg, u8 value) { outb(reg, port_base); outb(value, port_base + 1); } -u8 pmio_read_index(unsigned long port_base, u8 reg) +u8 pmio_read_index(u16 port_base, u8 reg) { outb(reg, port_base); return inb(port_base + 1); @@ -45,27 +46,25 @@ u8 pmio_read_index(unsigned long port_base, u8 reg) void pm_iowrite(u8 reg, u8 value) { - unsigned long port_base = 0xcd6; - pmio_write_index(port_base, reg, value); + pmio_write_index(PM_INDEX, reg, value); } u8 pm_ioread(u8 reg) { - unsigned long port_base = 0xcd6; - return pmio_read_index(port_base, reg); + return pmio_read_index(PM_INDEX, reg); } void pm2_iowrite(u8 reg, u8 value) { - unsigned long port_base = 0xcd0; - pmio_write_index(port_base, reg, value); + pmio_write_index(PM2_INDEX, reg, value); } u8 pm2_ioread(u8 reg) { - unsigned long port_base = 0xcd0; - return pmio_read_index(port_base, reg); -}/* Get SB ASIC Revision.*/ + return pmio_read_index(PM2_INDEX, reg); +} + +/* Get SB ASIC Revision.*/ static u8 get_sb600_revision(void) { u32 dev; @@ -75,7 +74,6 @@ static u8 get_sb600_revision(void) return pci_conf1_read_config8(dev, 0x08); } - /*************************************** * Legacy devices are mapped to LPC space. * serial port 0