Tobias Diedrich | cee930a | 2017-02-12 14:09:06 +0100 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2014 Alexandru Gagniuc <mr.nuke.me@gmail.com> |
| 3 | * Subject to the GNU GPL v2, or (at your option) any later version. |
| 4 | */ |
| 5 | |
| 6 | #ifndef _MAINBOARD_LENOVO_S230U_EC_H |
| 7 | #define _MAINBOARD_LENOVO_S230U_EC_H |
| 8 | |
| 9 | #ifndef __SMM__ |
| 10 | void lenovo_s230u_ec_init(void); |
| 11 | #endif |
| 12 | |
| 13 | #define ECMM(x) (*((volatile u8 *)(CONFIG_EC_BASE_ADDRESS + x))) |
| 14 | #define ec_mm_read(addr) (ECMM(0x100 + addr)) |
| 15 | #define ec_mm_write(addr, data) (ECMM(0x100 + addr) = data) |
| 16 | #define ec_mm_set_bit(addr, bit) (ECMM(0x100 + addr) |= 1 << bit) |
| 17 | #define ec_mm_clr_bit(addr, bit) (ECMM(0x100 + addr) &= ~(1 << bit)) |
| 18 | |
| 19 | #endif /* _MAINBOARD_LENOVO_S230U_EC_H */ |