diff options
Diffstat (limited to 'src/southbridge')
-rw-r--r-- | src/southbridge/winbond/w83c553/Config.lb | 1 | ||||
-rw-r--r-- | src/southbridge/winbond/w83c553/chip.h | 2 | ||||
-rw-r--r-- | src/southbridge/winbond/w83c553/w83c553f.c | 25 |
3 files changed, 27 insertions, 1 deletions
diff --git a/src/southbridge/winbond/w83c553/Config.lb b/src/southbridge/winbond/w83c553/Config.lb index d0788c892e..adaa1218e9 100644 --- a/src/southbridge/winbond/w83c553/Config.lb +++ b/src/southbridge/winbond/w83c553/Config.lb @@ -1 +1,2 @@ +config chip.h object w83c553f.o diff --git a/src/southbridge/winbond/w83c553/chip.h b/src/southbridge/winbond/w83c553/chip.h new file mode 100644 index 0000000000..8e387fba28 --- /dev/null +++ b/src/southbridge/winbond/w83c553/chip.h @@ -0,0 +1,2 @@ +struct southbridge_winbond_w83c553_config { +}; diff --git a/src/southbridge/winbond/w83c553/w83c553f.c b/src/southbridge/winbond/w83c553/w83c553f.c index 2d9daaea93..c5855996b6 100644 --- a/src/southbridge/winbond/w83c553/w83c553f.c +++ b/src/southbridge/winbond/w83c553/w83c553f.c @@ -29,8 +29,10 @@ #include <arch/io.h> #include <device/pci.h> +#include <device/chip.h> #include <console/console.h> #include "w83c553f.h" +#include "chip.h" #ifndef CONFIG_ISA_MEM #define CONFIG_ISA_MEM 0xFD000000 @@ -69,7 +71,7 @@ void southbridge_early_init(void) } #endif -void southbridge_init(void) +void w83c553_init(void) { struct device *dev; unsigned char reg8; @@ -283,3 +285,24 @@ void initialise_dma(void) outb(W83C553F_DMA1 + W83C553F_DMA1_CS, 0x00); outw(W83C553F_DMA2 + W83C553F_DMA2_CS, 0x0000); } + +void southbridge_init(struct chip *chip, enum chip_pass pass) +{ + + struct southbridge_winbond_w83c553_config *conf = (struct southbridge_winbond_w83c553_config *)chip->chip_info; + + switch (pass) { + case CONF_PASS_POST_PCI: + w83c553_init(); + break; + + default: + /* nothing yet */ + break; + } +} + +struct chip_control southbridge_winbond_w83c553_control = { + enable: southbridge_init, + name: "Winbond W83C553" +}; |