From b4eeae3bda9ea0381477ab0a0b9d9ccde2526ebe Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 1 Oct 2019 13:40:29 -0600 Subject: [PATCH] Fixes for smbus --- src/board/system76/galp3-c/include/board/smbus.h | 8 ++++++++ src/board/system76/galp3-c/main.c | 4 +++- src/board/system76/galp3-c/smbus.c | 11 +++++++++++ src/ec/it8587e/include/ec/smbus.h | 8 ++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/board/system76/galp3-c/include/board/smbus.h create mode 100644 src/board/system76/galp3-c/smbus.c diff --git a/src/board/system76/galp3-c/include/board/smbus.h b/src/board/system76/galp3-c/include/board/smbus.h new file mode 100644 index 0000000..437844a --- /dev/null +++ b/src/board/system76/galp3-c/include/board/smbus.h @@ -0,0 +1,8 @@ +#ifndef _BOARD_SMBUS_H +#define _BOARD_SMBUS_H + +#include + +void smbus_init(void); + +#endif // _BOARD_SMBUS_H diff --git a/src/board/system76/galp3-c/main.c b/src/board/system76/galp3-c/main.c index c81f7b3..6fed4ed 100644 --- a/src/board/system76/galp3-c/main.c +++ b/src/board/system76/galp3-c/main.c @@ -10,6 +10,7 @@ #include #include #include +#include #include void external_0(void) __interrupt(0) { @@ -43,8 +44,9 @@ void init(void) { pmc_init(); kbscan_init(); pwm_init(); + smbus_init(); - //TODO: INTC, PECI, SMBUS + //TODO: INTC, PECI // PECI information can be found here: https://www.intel.com/content/dam/www/public/us/en/documents/design-guides/core-i7-lga-2011-guide.pdf } diff --git a/src/board/system76/galp3-c/smbus.c b/src/board/system76/galp3-c/smbus.c new file mode 100644 index 0000000..2d68b1f --- /dev/null +++ b/src/board/system76/galp3-c/smbus.c @@ -0,0 +1,11 @@ +#include + +void smbus_init(void) { + SMB4P7USL = 0x2F; + SMB4P0USL = 0x5A; + SMB300NS = 0x03; + SMB250NS = 0x30; + SMB25MS = 0x19; + SMB45P3USL = 0x5C; + SMB45P3USH = 0x01; +} diff --git a/src/ec/it8587e/include/ec/smbus.h b/src/ec/it8587e/include/ec/smbus.h index 2f864bb..47e6656 100644 --- a/src/ec/it8587e/include/ec/smbus.h +++ b/src/ec/it8587e/include/ec/smbus.h @@ -42,5 +42,13 @@ volatile uint8_t __xdata __at(0x1C10) HOCTL2A; // SMCLK timing setting for channel A volatile uint8_t __xdata __at(0x1C10) SCLKTSA; +// Timing registers +volatile uint8_t __xdata __at(0x1C22) SMB4P7USL; +volatile uint8_t __xdata __at(0x1C23) SMB4P0USL; +volatile uint8_t __xdata __at(0x1C24) SMB300NS; +volatile uint8_t __xdata __at(0x1C25) SMB250NS; +volatile uint8_t __xdata __at(0x1C26) SMB25MS; +volatile uint8_t __xdata __at(0x1C27) SMB45P3USL; +volatile uint8_t __xdata __at(0x1C28) SMB45P3USH; #endif // _EC_SMBUS_H