diff options
author | Joe Bao <zheng.bao@amd.com> | 2008-12-01 19:37:21 +0000 |
---|---|---|
committer | Marc Jones <marc.jones@amd.com> | 2008-12-01 19:37:21 +0000 |
commit | 164463c551367d0ae3a9f8e5a1719200af99b060 (patch) | |
tree | 0b2b1a6682749dcc44302548edbebb08ce914df4 /src/southbridge/amd/sb600/sb600_smbus.c | |
parent | 7a51e50582b65bb6ac54e8923470807b5975c6e1 (diff) |
Add AMD sb600 HPET setup and some minor cleanups.
Signed-off-by: Joe Bao <zheng.bao@amd.com>
Reviewed-by: Maggie Li <maggie.li@amd.com>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Marc Jones <marcj303@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3785 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/southbridge/amd/sb600/sb600_smbus.c')
-rw-r--r-- | src/southbridge/amd/sb600/sb600_smbus.c | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/src/southbridge/amd/sb600/sb600_smbus.c b/src/southbridge/amd/sb600/sb600_smbus.c index 038cd14b7b..df7ec56c3e 100644 --- a/src/southbridge/amd/sb600/sb600_smbus.c +++ b/src/southbridge/amd/sb600/sb600_smbus.c @@ -17,12 +17,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -//#include <arch/io.h> -//#include <device/device.h> -//#include <device/pci.h> -//#include <device/pci_ids.h> -//#include <device/pci_ops.h> -//#include <device/smbus_def.h> #include "sb600_smbus.h" static inline void smbus_delay(void) @@ -32,7 +26,7 @@ static inline void smbus_delay(void) static int smbus_wait_until_ready(u32 smbus_io_base) { - unsigned long loops; + u32 loops; loops = SMBUS_TIMEOUT; do { u8 val; @@ -48,7 +42,7 @@ static int smbus_wait_until_ready(u32 smbus_io_base) static int smbus_wait_until_done(u32 smbus_io_base) { - unsigned long loops; + u32 loops; loops = SMBUS_TIMEOUT; do { u8 val; @@ -121,7 +115,7 @@ static int do_smbus_send_byte(u32 smbus_io_base, u32 device, return 0; } -static int do_smbus_read_byte(u32 smbus_io_base, u32 device, +int do_smbus_read_byte(u32 smbus_io_base, u32 device, u32 address) { u8 byte; @@ -152,7 +146,7 @@ static int do_smbus_read_byte(u32 smbus_io_base, u32 device, return byte; } -static int do_smbus_write_byte(u32 smbus_io_base, u32 device, +int do_smbus_write_byte(u32 smbus_io_base, u32 device, u32 address, u8 val) { u8 byte; @@ -183,10 +177,11 @@ static int do_smbus_write_byte(u32 smbus_io_base, u32 device, return 0; } -static void alink_ab_indx(unsigned int reg_space, unsigned int reg_addr, - unsigned int mask, unsigned int val) +static void alink_ab_indx(u32 reg_space, u32 reg_addr, + u32 mask, u32 val) { - unsigned int tmp; + u32 tmp; + outl((reg_space & 0x3) << 30 | reg_addr, AB_INDX); tmp = inl(AB_DATA); @@ -201,10 +196,10 @@ static void alink_ab_indx(unsigned int reg_space, unsigned int reg_addr, /* space = 0: AX_INDXC, AX_DATAC * space = 1: AX_INDXP, AX_DATAP */ -static void alink_ax_indx(unsigned int space /*c or p? */ , unsigned int axindc, - unsigned int mask, unsigned int val) +static void alink_ax_indx(u32 space /*c or p? */ , u32 axindc, + u32 mask, u32 val) { - unsigned int tmp; + u32 tmp; /* read axindc to tmp */ outl(space << 30 | space << 3 | 0x30, AB_INDX); @@ -221,6 +216,3 @@ static void alink_ax_indx(unsigned int space /*c or p? */ , unsigned int axindc, outl(space << 30 | space << 3 | 0x34, AB_INDX); outl(tmp, AB_DATA); } - - - |