summaryrefslogtreecommitdiff
path: root/src/southbridge/sis
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge/sis')
-rw-r--r--src/southbridge/sis/sis966/sis966_aza.c43
-rw-r--r--src/southbridge/sis/sis966/sis966_early_ctrl.c9
-rw-r--r--src/southbridge/sis/sis966/sis966_early_smbus.c8
-rw-r--r--src/southbridge/sis/sis966/sis966_lpc.c8
-rw-r--r--src/southbridge/sis/sis966/sis966_nic.c51
-rw-r--r--src/southbridge/sis/sis966/sis966_reset.c1
-rw-r--r--src/southbridge/sis/sis966/sis966_usb2.c10
7 files changed, 67 insertions, 63 deletions
diff --git a/src/southbridge/sis/sis966/sis966_aza.c b/src/southbridge/sis/sis966/sis966_aza.c
index 60c99706fe..c7573a3f7a 100644
--- a/src/southbridge/sis/sis966/sis966_aza.c
+++ b/src/southbridge/sis/sis966/sis966_aza.c
@@ -32,7 +32,7 @@
#include <delay.h>
#include "sis966.h"
-uint8_t SiS_SiS7502_init[7][3]={
+u8 SiS_SiS7502_init[7][3]={
{0x04, 0xFF, 0x07},
{0x2C, 0xFF, 0x39},
{0x2D, 0xFF, 0x10},
@@ -42,9 +42,9 @@ uint8_t SiS_SiS7502_init[7][3]={
{0x00, 0x00, 0x00} //End of table
};
-static int set_bits(uint8_t *port, uint32_t mask, uint32_t val)
+static int set_bits(u32 port, u32 mask, u32 val)
{
- uint32_t dword;
+ u32 dword;
int count;
val &= mask;
@@ -67,11 +67,9 @@ static int set_bits(uint8_t *port, uint32_t mask, uint32_t val)
}
- uint32_t send_verb(uint8_t *base, uint32_t verb)
+static u32 send_verb(u32 base, u32 verb)
{
-
-
- uint32_t dword;
+ u32 dword;
dword = read32(base + 0x68);
dword=dword|(unsigned long)0x0002;
@@ -91,13 +89,12 @@ static int set_bits(uint8_t *port, uint32_t mask, uint32_t val)
dword = read32(base + 0x64);
return dword;
-
}
-static int codec_detect(uint8_t *base)
+static int codec_detect(u32 base)
{
- uint32_t dword;
+ u32 dword;
int idx=0;
/* 1 */ // controller reset
@@ -125,7 +122,7 @@ static int codec_detect(uint8_t *base)
}
-static uint32_t verb_data[] = {
+static u32 verb_data[] = {
//14
0x01471c10,
@@ -189,18 +186,18 @@ static uint32_t verb_data[] = {
0x01f71f01,
};
-static unsigned find_verb(uint32_t viddid, uint32_t **verb)
+static unsigned find_verb(u32 viddid, u32 **verb)
{
if((viddid == 0x10ec0883) || (viddid == 0x10ec0882) || (viddid == 0x10ec0880)) return 0;
- *verb = (uint32_t *)verb_data;
- return sizeof(verb_data)/sizeof(uint32_t);
+ *verb = (u32 *)verb_data;
+ return sizeof(verb_data)/sizeof(u32);
}
-static void codec_init(uint8_t *base, int addr)
+static void codec_init(u32 base, int addr)
{
- uint32_t dword;
- uint32_t *verb;
+ u32 dword;
+ u32 *verb;
unsigned verb_size;
int i;
@@ -235,7 +232,7 @@ static void codec_init(uint8_t *base, int addr)
printk(BIOS_DEBUG, "verb loaded!\n");
}
-static void codecs_init(uint8_t *base, uint32_t codec_mask)
+static void codecs_init(u32 base, u32 codec_mask)
{
codec_init(base, 0);
return;
@@ -243,15 +240,15 @@ static void codecs_init(uint8_t *base, uint32_t codec_mask)
static void aza_init(struct device *dev)
{
- uint8_t *base;
+ u32 base;
struct resource *res;
- uint32_t codec_mask;
+ u32 codec_mask;
print_debug("AZALIA_INIT:---------->\n");
//-------------- enable AZA (SiS7502) -------------------------
{
- uint8_t temp8;
+ u8 temp8;
int i=0;
while(SiS_SiS7502_init[i][0] != 0)
{
@@ -292,8 +289,8 @@ static void aza_init(struct device *dev)
if(!res)
return;
- base =(uint8_t *) res->base;
- printk(BIOS_DEBUG, "base = %p\n", base);
+ base = res->base;
+ printk(BIOS_DEBUG, "base = 0x%08x\n", base);
codec_mask = codec_detect(base);
diff --git a/src/southbridge/sis/sis966/sis966_early_ctrl.c b/src/southbridge/sis/sis966/sis966_early_ctrl.c
index 73e34b47c9..05b53365de 100644
--- a/src/southbridge/sis/sis966/sis966_early_ctrl.c
+++ b/src/southbridge/sis/sis966/sis966_early_ctrl.c
@@ -19,6 +19,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <reset.h>
+
static unsigned get_sbdn(unsigned bus)
{
device_t dev;
@@ -31,7 +33,7 @@ static unsigned get_sbdn(unsigned bus)
return (dev>>15) & 0x1f;
}
-static void hard_reset(void)
+void hard_reset(void)
{
set_bios_reset();
@@ -42,12 +44,11 @@ static void hard_reset(void)
static void enable_fid_change_on_sb(unsigned sbbusn, unsigned sbdn)
{
-/* default value for sis966 is good */
+ /* default value for sis966 is good */
/* set VFSMAF ( VID/FID System Management Action Field) to 2 */
-
}
-static void soft_reset(void)
+void soft_reset(void)
{
set_bios_reset();
diff --git a/src/southbridge/sis/sis966/sis966_early_smbus.c b/src/southbridge/sis/sis966/sis966_early_smbus.c
index 0f40872a4d..3d4954b64f 100644
--- a/src/southbridge/sis/sis966/sis966_early_smbus.c
+++ b/src/southbridge/sis/sis966/sis966_early_smbus.c
@@ -344,7 +344,7 @@ static const uint8_t SiS_SiS1183_init[44][3]={
=> 04h : 128MBytes
=> Others: Reserved
*/
-void Init_Share_Memory(uint8_t ShareSize)
+static void Init_Share_Memory(uint8_t ShareSize)
{
device_t dev;
@@ -360,7 +360,7 @@ void Init_Share_Memory(uint8_t ShareSize)
=> 04h : 512MBytes
=> Others: Reserved
*/
-void Init_Aper_Size(uint8_t AperSize)
+static void Init_Aper_Size(uint8_t AperSize)
{
device_t dev;
uint16_t SiSAperSizeTable[]={0x0F38, 0x0F30, 0x0F20, 0x0F00, 0x0E00};
@@ -372,7 +372,7 @@ void Init_Aper_Size(uint8_t AperSize)
pci_write_config16(dev, 0xB4, SiSAperSizeTable[AperSize]);
}
-void sis_init_stage1(void)
+static void sis_init_stage1(void)
{
device_t dev;
uint8_t temp8;
@@ -434,7 +434,7 @@ void sis_init_stage1(void)
-void sis_init_stage2(void)
+static void sis_init_stage2(void)
{
device_t dev;
msr_t msr;
diff --git a/src/southbridge/sis/sis966/sis966_lpc.c b/src/southbridge/sis/sis966/sis966_lpc.c
index 39f1996ff4..fc73e39431 100644
--- a/src/southbridge/sis/sis966/sis966_lpc.c
+++ b/src/southbridge/sis/sis966/sis966_lpc.c
@@ -55,6 +55,8 @@
#define CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL MAINBOARD_POWER_ON
#endif
+#undef SLAVE_INIT
+
static void lpc_common_init(device_t dev)
{
uint8_t byte;
@@ -69,11 +71,12 @@ static void lpc_common_init(device_t dev)
setup_ioapic(ioapic_base, 0); // Don't rename IO APIC ID
}
+#ifdef SLAVE_INIT
static void lpc_slave_init(device_t dev)
{
lpc_common_init(dev);
}
-
+#endif
static void lpc_usb_legacy_init(device_t dev)
{
@@ -271,12 +274,14 @@ static struct device_operations lpc_ops = {
// .enable = sis966_enable,
.ops_pci = &lops_pci,
};
+
static const struct pci_driver lpc_driver __pci_driver = {
.ops = &lpc_ops,
.vendor = PCI_VENDOR_ID_SIS,
.device = PCI_DEVICE_ID_SIS_SIS966_LPC,
};
+#ifdef SLAVE_INIT // No device?
static struct device_operations lpc_slave_ops = {
.read_resources = sis966_lpc_read_resources,
.set_resources = pci_dev_set_resources,
@@ -285,3 +290,4 @@ static struct device_operations lpc_slave_ops = {
// .enable = sis966_enable,
.ops_pci = &lops_pci,
};
+#endif
diff --git a/src/southbridge/sis/sis966/sis966_nic.c b/src/southbridge/sis/sis966/sis966_nic.c
index b9cbf7a1be..7b1a856c8d 100644
--- a/src/southbridge/sis/sis966/sis966_nic.c
+++ b/src/southbridge/sis/sis966/sis966_nic.c
@@ -34,7 +34,7 @@
#include "sis966.h"
-uint8_t SiS_SiS191_init[6][3]={
+u8 SiS_SiS191_init[6][3]={
{0x04, 0xFF, 0x07},
{0x2C, 0xFF, 0x39},
{0x2D, 0xFF, 0x10},
@@ -50,17 +50,18 @@ uint8_t SiS_SiS191_init[6][3]={
#define TRUE 1
#define FALSE 0
-uint16_t MacAddr[3];
+u16 MacAddr[3];
-void writeApcByte(int addr, uint8_t value)
+static void writeApcByte(int addr, u8 value)
{
outb(addr,0x78);
outb(value,0x79);
}
-uint8_t readApcByte(int addr)
+
+static u8 readApcByte(int addr)
{
- uint8_t value;
+ u8 value;
outb(addr,0x78);
value=inb(0x79);
return(value);
@@ -68,7 +69,7 @@ uint8_t readApcByte(int addr)
static void readApcMacAddr(void)
{
- uint8_t i;
+ u8 i;
// enable APC in south bridge sis966 D2F0
@@ -93,9 +94,9 @@ static void readApcMacAddr(void)
static void set_apc(struct device *dev)
{
- uint16_t addr;
- uint16_t i;
- uint8_t bTmp;
+ u16 addr;
+ u16 i;
+ u8 bTmp;
/* enable APC in south bridge sis966 D2F0 */
outl(0x80001048,0xcf8);
@@ -104,8 +105,8 @@ static void set_apc(struct device *dev)
for(i = 0 ; i <3; i++)
{
addr=0x9+2*i;
- writeApcByte(addr,(uint8_t)(MacAddr[i]&0xFF));
- writeApcByte(addr+1L,(uint8_t)((MacAddr[i]>>8)&0xFF));
+ writeApcByte(addr,(u8)(MacAddr[i]&0xFF));
+ writeApcByte(addr+1L,(u8)((MacAddr[i]>>8)&0xFF));
// printf("%x - ",readMacAddrByte(0x59+i));
}
@@ -135,11 +136,11 @@ static void set_apc(struct device *dev)
// Contents of EEPROM word (Reg).
//-----------------------------------------------------------------------------
#define LoopNum 200
-static unsigned long ReadEEprom( struct device *dev, uint32_t base, uint32_t Reg)
+static unsigned long ReadEEprom( struct device *dev, u32 base, u32 Reg)
{
- uint32_t data;
- uint32_t i;
- uint32_t ulValue;
+ u32 data;
+ u32 i;
+ u32 ulValue;
ulValue = (0x80 | (0x2 << 8) | (Reg << 10)); //BIT_7
@@ -169,11 +170,11 @@ static unsigned long ReadEEprom( struct device *dev, uint32_t base, uint32_t
return data;
}
-static int phy_read(uint32_t base, unsigned phy_addr, unsigned phy_reg)
+static int phy_read(u32 base, unsigned phy_addr, unsigned phy_reg)
{
- uint32_t ulValue;
- uint32_t Read_Cmd;
- uint16_t usData;
+ u32 ulValue;
+ u32 Read_Cmd;
+ u16 usData;
@@ -203,10 +204,10 @@ static int phy_read(uint32_t base, unsigned phy_addr, unsigned phy_reg)
// Detect a valid PHY
// If there exist a valid PHY then return TRUE, else return FALSE
-static int phy_detect(uint32_t base,uint16_t *PhyAddr) //BOOL PHY_Detect()
+static int phy_detect(u32 base,u16 *PhyAddr) //BOOL PHY_Detect()
{
int bFoundPhy = FALSE;
- uint16_t usData;
+ u16 usData;
int PhyAddress = 0;
@@ -239,17 +240,15 @@ static int phy_detect(uint32_t base,uint16_t *PhyAddr) //BOOL PHY_Detect()
static void nic_init(struct device *dev)
{
int val;
- uint16_t PhyAddr;
- uint32_t base;
+ u16 PhyAddr;
+ u32 base;
struct resource *res;
-
print_debug("NIC_INIT:---------->\n");
-
//-------------- enable NIC (SiS19x) -------------------------
{
- uint8_t temp8;
+ u8 temp8;
int i=0;
while(SiS_SiS191_init[i][0] != 0)
{
diff --git a/src/southbridge/sis/sis966/sis966_reset.c b/src/southbridge/sis/sis966/sis966_reset.c
index 614b8eed40..afc592c26b 100644
--- a/src/southbridge/sis/sis966/sis966_reset.c
+++ b/src/southbridge/sis/sis966/sis966_reset.c
@@ -22,6 +22,7 @@
*/
#include <arch/io.h>
+#include <reset.h>
#define PCI_DEV(BUS, DEV, FN) ( \
(((BUS) & 0xFFF) << 20) | \
diff --git a/src/southbridge/sis/sis966/sis966_usb2.c b/src/southbridge/sis/sis966/sis966_usb2.c
index 6cb9873070..108cfee894 100644
--- a/src/southbridge/sis/sis966/sis966_usb2.c
+++ b/src/southbridge/sis/sis966/sis966_usb2.c
@@ -36,7 +36,7 @@
extern struct ehci_debug_info dbg_info;
-uint8_t SiS_SiS7002_init[22][3]={
+u8 SiS_SiS7002_init[22][3]={
{0x04, 0x00, 0x06},
{0x0D, 0x00, 0x00},
@@ -70,14 +70,14 @@ uint8_t SiS_SiS7002_init[22][3]={
static void usb2_init(struct device *dev)
{
- uint8_t *base;
+ u32 base;
struct resource *res;
print_debug("USB 2.0 INIT:---------->\n");
//-------------- enable USB2.0 (SiS7002) -------------------------
{
- uint8_t temp8;
+ u8 temp8;
int i=0;
while(SiS_SiS7002_init[i][0] != 0)
@@ -94,8 +94,8 @@ static void usb2_init(struct device *dev)
if(!res)
return;
- base =(uint8_t *) res->base;
- printk(BIOS_DEBUG, "base = %p\n", base);
+ base = res->base;
+ printk(BIOS_DEBUG, "base = 0x%08x\n", base);
write32(base+0x20, 0x2);
//-----------------------------------------------------------