| /* Copyright 2013-2014 IBM Corp. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
| * implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| /** |
| * @file config.H |
| * |
| * @brief Definitions for EC configuration values. |
| * |
| */ |
| |
| #ifndef __EC_CONFIG_H_ |
| #define __EC_CONFIG_H_ |
| |
| #include <stdint.h> |
| |
| #define EC_RTC_PORT_BASE (0x70) // RTC/CMOS LPC base address |
| #define EC_RTC_BLOCK_SIZE (512) // Size of addressable data in RTC |
| #define EC_RTC_CENTURY (1) // 1 if century format is enabled |
| #if EC_RTC_CENTURY |
| #define EC_RTC_BBRAM_OFFSET (0x33) // Offset of NV data (= size of calendar) |
| #else |
| #define EC_RTC_BBRAM_OFFSET (0x0E) // Offset of NV data (= size of calendar) |
| #endif // #if EC_RTC_CENTURY |
| |
| #define EC_RTCDD_READ_TRIES (2) // Times to try the RTC if updating |
| #define EC_RTCDD_RETRY_DELAY (300000) // Delay between RTC read retries in ns |
| // based on update time of 244 + 30.5 µs |
| |
| #define EC_GPIO_INDEX 0x200 |
| #define EC_GPIO_DATA 0x201 |
| #define EC_GPIO_NUM_PORTS 17 |
| #define EC_GPIO_PORT_SKIP 4 |
| |
| #define EC_GPIO_DATA_OFFSET 0x0 |
| #define EC_GPIO_DDR_OFFSET 0x1 |
| #define EC_GPIO_PIN_OFFSET 0x2 |
| #define EC_GPIO_PUP_OFFSET 0x3 |
| |
| typedef enum EcGpioPort { |
| EC_GPIO_PORT_A = 0, |
| EC_GPIO_PORT_B = 1, |
| EC_GPIO_PORT_C = 2, |
| EC_GPIO_PORT_D = 3, |
| EC_GPIO_PORT_E = 4, |
| EC_GPIO_PORT_F = 5, |
| EC_GPIO_PORT_G = 6, |
| EC_GPIO_PORT_H = 7, |
| // skip port I |
| EC_GPIO_PORT_J = 8, |
| EC_GPIO_PORT_K = 9, |
| EC_GPIO_PORT_L = 10, |
| EC_GPIO_PORT_M = 11, |
| EC_GPIO_PORT_N = 12, |
| // skip port O |
| EC_GPIO_PORT_P = 13, |
| EC_GPIO_PORT_Q = 14, |
| EC_GPIO_PORT_R = 15, |
| EC_GPIO_PORT_S = 16, |
| } EcGpioPort; |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| void ec_outb(uint16_t, uint8_t); |
| uint8_t ec_inb(uint16_t); |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // __EC_CONFIG_H_ |