mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-28 02:35:28 +00:00
kunimitsu: Code clean up.
This allows cleaner code diff from glados. No new functional change is added. BUG=none TEST=Able to boot kunimitsu to OS. BRANCH=none Change-Id: I0ff7a097a617907a44c78d5e0f01dc409eb047ec Signed-off-by: Kevin K Wong <kevin.k.wong@intel.com> Reviewed-on: https://chromium-review.googlesource.com/281832 Reviewed-by: Shawn N <shawnn@chromium.org>
This commit is contained in:
committed by
ChromeOS Commit Bot
parent
7067007b21
commit
ccb6b15d51
@@ -7,9 +7,6 @@
|
||||
|
||||
#include "battery.h"
|
||||
#include "battery_smart.h"
|
||||
#include "console.h"
|
||||
#include "gpio.h"
|
||||
#include "host_command.h"
|
||||
#include "util.h"
|
||||
|
||||
/* Shutdown mode parameter to write to manufacturer access register */
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
|
||||
#include "als.h"
|
||||
#include "button.h"
|
||||
#include "charger.h"
|
||||
#include "charge_state.h"
|
||||
#include "charger.h"
|
||||
#include "driver/accel_kxcj9.h"
|
||||
#include "driver/als_isl29035.h"
|
||||
#include "driver/temp_sensor/tmp432.h"
|
||||
@@ -22,8 +22,8 @@
|
||||
#include "motion_sense.h"
|
||||
#include "power.h"
|
||||
#include "power_button.h"
|
||||
#include "registers.h"
|
||||
#include "switch.h"
|
||||
#include "task.h"
|
||||
#include "temp_sensor.h"
|
||||
#include "temp_sensor_chip.h"
|
||||
#include "thermal.h"
|
||||
@@ -60,65 +60,22 @@ void usb1_evt(enum gpio_signal signal)
|
||||
/* power signal list. Must match order of enum power_signal. */
|
||||
const struct power_signal_info power_signal_list[] = {
|
||||
{GPIO_RSMRST_L_PGOOD, 1, "RSMRST_N_PWRGD"},
|
||||
{GPIO_PCH_SLP_S0_L, 1, "SLP_S0#_DEASSERTED"},
|
||||
{GPIO_PCH_SLP_S3_L, 1, "SLP_S3#_DEASSERTED"},
|
||||
{GPIO_PCH_SLP_S4_L, 1, "SLP_S4#_DEASSERTED"},
|
||||
{GPIO_PCH_SLP_S0_L, 1, "SLP_S0_DEASSERTED"},
|
||||
{GPIO_PCH_SLP_S3_L, 1, "SLP_S3_DEASSERTED"},
|
||||
{GPIO_PCH_SLP_S4_L, 1, "SLP_S4_DEASSERTED"},
|
||||
{GPIO_PCH_SLP_SUS_L, 1, "SLP_SUS_DEASSERTED"},
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT);
|
||||
|
||||
const struct i2c_port_t i2c_ports[] = {
|
||||
{"batt_chg_thermal", MEC1322_I2C0_0, 100,
|
||||
GPIO_I2C_PORT0_SCL, GPIO_I2C_PORT0_SDA},
|
||||
{"sensors", MEC1322_I2C2, 100,
|
||||
GPIO_I2C_PORT2_SCL, GPIO_I2C_PORT2_SDA},
|
||||
{"batt", MEC1322_I2C0_0, 100, GPIO_I2C0_0_SCL, GPIO_I2C0_0_SDA},
|
||||
{"sensors", MEC1322_I2C2, 100, GPIO_I2C2_SCL, GPIO_I2C2_SDA },
|
||||
};
|
||||
const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
|
||||
|
||||
/*
|
||||
* Temperature sensors data; must be in same order as enum temp_sensor_id.
|
||||
* Sensor index and name must match those present in coreboot:
|
||||
* src/mainboard/google/${board}/acpi/dptf.asl
|
||||
/**
|
||||
* Discharge battery when on AC power for factory test.
|
||||
*/
|
||||
const struct temp_sensor_t temp_sensors[] = {
|
||||
{"TMP432_Internal", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
|
||||
TMP432_IDX_LOCAL, 4},
|
||||
{"TMP432_Sensor_1", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
|
||||
TMP432_IDX_REMOTE1, 4},
|
||||
{"TMP432_Sensor_2", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
|
||||
TMP432_IDX_REMOTE2, 4},
|
||||
{"Battery", TEMP_SENSOR_TYPE_BATTERY, charge_temp_sensor_get_val,
|
||||
0, 4},
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT);
|
||||
|
||||
/* ALS instances. Must be in same order as enum als_id. */
|
||||
struct als_t als[] = {
|
||||
{"ISL", isl29035_read_lux, 5},
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(als) == ALS_COUNT);
|
||||
|
||||
#ifdef CONFIG_BUTTON_COUNT
|
||||
const struct button_config buttons[] = {
|
||||
{"Volume Down", KEYBOARD_BUTTON_VOLUME_DOWN, GPIO_VOLUME_DOWN_L,
|
||||
30 * MSEC, 0},
|
||||
{"Volume Up", KEYBOARD_BUTTON_VOLUME_UP, GPIO_VOLUME_UP_L,
|
||||
30 * MSEC, 0},
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(buttons) == CONFIG_BUTTON_COUNT);
|
||||
#endif
|
||||
|
||||
/* Thermal limits for each temp sensor. All temps are in degrees K. Must be in
|
||||
* same order as enum temp_sensor_id. To always ignore any temp, use 0.
|
||||
*/
|
||||
struct ec_thermal_config thermal_params[] = {
|
||||
{{0, 0, 0}, 0, 0}, /* TMP432_Internal */
|
||||
{{0, 0, 0}, 0, 0}, /* TMP432_Sensor_1 */
|
||||
{{0, 0, 0}, 0, 0}, /* TMP432_Sensor_2 */
|
||||
{{0, 0, 0}, 0, 0}, /* Battery Sensor */
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(thermal_params) == TEMP_SENSOR_COUNT);
|
||||
|
||||
int board_discharge_on_ac(int enable)
|
||||
{
|
||||
return charger_discharge_on_ac(enable);
|
||||
@@ -213,3 +170,48 @@ static void motion_sensors_pre_init(void)
|
||||
}
|
||||
DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, motion_sensors_pre_init,
|
||||
MOTION_SENSE_HOOK_PRIO - 1);
|
||||
|
||||
/*
|
||||
* Temperature sensors data; must be in same order as enum temp_sensor_id.
|
||||
* Sensor index and name must match those present in coreboot:
|
||||
* src/mainboard/google/${board}/acpi/dptf.asl
|
||||
*/
|
||||
const struct temp_sensor_t temp_sensors[] = {
|
||||
{"TMP432_Internal", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
|
||||
TMP432_IDX_LOCAL, 4},
|
||||
{"TMP432_Sensor_1", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
|
||||
TMP432_IDX_REMOTE1, 4},
|
||||
{"TMP432_Sensor_2", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
|
||||
TMP432_IDX_REMOTE2, 4},
|
||||
{"Battery", TEMP_SENSOR_TYPE_BATTERY, charge_temp_sensor_get_val,
|
||||
0, 4},
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT);
|
||||
|
||||
/*
|
||||
* Thermal limits for each temp sensor. All temps are in degrees K. Must be in
|
||||
* same order as enum temp_sensor_id. To always ignore any temp, use 0.
|
||||
*/
|
||||
struct ec_thermal_config thermal_params[] = {
|
||||
/* {Twarn, Thigh, Thalt}, fan_off, fan_max */
|
||||
{{0, 0, 0}, 0, 0}, /* TMP432_Internal */
|
||||
{{0, 0, 0}, 0, 0}, /* TMP432_Sensor_1 */
|
||||
{{0, 0, 0}, 0, 0}, /* TMP432_Sensor_2 */
|
||||
{{0, 0, 0}, 0, 0}, /* Battery */
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(thermal_params) == TEMP_SENSOR_COUNT);
|
||||
|
||||
/* ALS instances. Must be in same order as enum als_id. */
|
||||
struct als_t als[] = {
|
||||
{"ISL", isl29035_read_lux, 5},
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(als) == ALS_COUNT);
|
||||
|
||||
const struct button_config buttons[CONFIG_BUTTON_COUNT] = {
|
||||
{"Volume Down", KEYBOARD_BUTTON_VOLUME_DOWN, GPIO_VOLUME_DOWN_L,
|
||||
30 * MSEC, 0},
|
||||
{"Volume Up", KEYBOARD_BUTTON_VOLUME_UP, GPIO_VOLUME_UP_L,
|
||||
30 * MSEC, 0},
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(buttons) == CONFIG_BUTTON_COUNT);
|
||||
|
||||
|
||||
@@ -9,24 +9,35 @@
|
||||
#define __CROS_EC_BOARD_H
|
||||
|
||||
/* Optional features */
|
||||
#define CONFIG_SYSTEM_UNLOCKED /* Allow dangerous commands */
|
||||
#define CONFIG_WATCHDOG_HELP
|
||||
#define CONFIG_CLOCK_CRYSTAL
|
||||
#define CONFIG_CHIPSET_SKYLAKE
|
||||
#define CONFIG_SCI_GPIO GPIO_PCH_SCI_L
|
||||
#define CONFIG_BATTERY_CUT_OFF
|
||||
#define CONFIG_BATTERY_SMART
|
||||
#define CONFIG_BUTTON_COUNT 2
|
||||
|
||||
#define CONFIG_CHARGER
|
||||
#define CONFIG_CHARGER_V2
|
||||
#define CONFIG_CHARGER_BQ24770
|
||||
#define CONFIG_CHARGER_ILIM_PIN_DISABLED
|
||||
#define CONFIG_CHARGER_SENSE_RESISTOR 10
|
||||
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
|
||||
#define CONFIG_CHARGER_INPUT_CURRENT 2240
|
||||
#define CONFIG_CHARGER_DISCHARGE_ON_AC
|
||||
|
||||
#define CONFIG_CHIPSET_SKYLAKE
|
||||
#define CONFIG_CLOCK_CRYSTAL
|
||||
#define CONFIG_EXTPOWER_GPIO
|
||||
#define CONFIG_I2C
|
||||
#define CONFIG_KEYBOARD_COL2_INVERTED
|
||||
#undef CONFIG_KEYBOARD_KSO_BASE
|
||||
#define CONFIG_KEYBOARD_KSO_BASE 0 /* KSO starts from KSO04 */
|
||||
#define CONFIG_KEYBOARD_PROTOCOL_8042
|
||||
#define CONFIG_LID_SWITCH
|
||||
#define CONFIG_PORT80_TASK_EN
|
||||
#define CONFIG_POWER_BUTTON
|
||||
#define CONFIG_POWER_BUTTON_X86
|
||||
#define CONFIG_LID_SWITCH
|
||||
#define CONFIG_POWER_COMMON
|
||||
#define CONFIG_POWER_SHUTDOWN_PAUSE_IN_S5
|
||||
#define CONFIG_EXTPOWER_GPIO
|
||||
|
||||
#define CONFIG_PORT80_TASK_EN
|
||||
#define CONFIG_SCI_GPIO GPIO_PCH_SCI_L
|
||||
|
||||
#define CONFIG_SPI_PORT 1
|
||||
#define CONFIG_SPI_CS_GPIO GPIO_PVT_CS0
|
||||
@@ -37,34 +48,30 @@
|
||||
#define CONFIG_TEMP_SENSOR
|
||||
#define CONFIG_TEMP_SENSOR_TMP432
|
||||
|
||||
/*
|
||||
* Allow dangerous commands.
|
||||
* TODO(shawnn): Remove this config before production.
|
||||
*/
|
||||
#define CONFIG_SYSTEM_UNLOCKED
|
||||
#define CONFIG_WATCHDOG_HELP
|
||||
|
||||
/* I2C ports */
|
||||
#define I2C_PORT_BATTERY MEC1322_I2C0_0
|
||||
#define I2C_PORT_CHARGER MEC1322_I2C0_0
|
||||
#define I2C_PORT_THERMAL MEC1322_I2C0_0
|
||||
#define I2C_PORT_ALS MEC1322_I2C2
|
||||
#define I2C_PORT_ACCEL MEC1322_I2C2
|
||||
|
||||
#define CONFIG_ALS
|
||||
#define CONFIG_ALS_ISL29035
|
||||
#define CONFIG_CHARGER
|
||||
#define CONFIG_BATTERY_CUT_OFF
|
||||
#define CONFIG_BATTERY_SMART
|
||||
#define CONFIG_CHARGER_V2
|
||||
#define CONFIG_CHARGER_BQ24770
|
||||
#define CONFIG_CHARGER_ILIM_PIN_DISABLED
|
||||
#define CONFIG_CHARGER_SENSE_RESISTOR 10
|
||||
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
|
||||
#define CONFIG_CHARGER_INPUT_CURRENT 2240
|
||||
#define CONFIG_CHARGER_DISCHARGE_ON_AC
|
||||
|
||||
#define CONFIG_I2C
|
||||
|
||||
/* Accelerometer */
|
||||
#define CONFIG_ACCEL_KXCJ9
|
||||
#define CONFIG_CMD_ACCELS
|
||||
#define CONFIG_CMD_ACCEL_INFO
|
||||
#define CONFIG_LID_ANGLE
|
||||
#define CONFIG_SENSOR_BASE 0
|
||||
#define CONFIG_SENSOR_LID 1
|
||||
|
||||
#define CONFIG_LID_ANGLE_SENSOR_LID GPIO_GYRO_INT1
|
||||
#define CONFIG_LID_ANGLE_SENSOR_BASE GPIO_GYRO_INT1
|
||||
|
||||
/* Number of buttons */
|
||||
#define CONFIG_BUTTON_COUNT 2
|
||||
#define CONFIG_LID_ANGLE_SENSOR_BASE 0
|
||||
#define CONFIG_LID_ANGLE_SENSOR_LID 1
|
||||
|
||||
/* Modules we want to exclude */
|
||||
#undef CONFIG_EEPROM
|
||||
@@ -74,19 +81,12 @@
|
||||
#undef CONFIG_FANS
|
||||
#undef CONFIG_ADC
|
||||
#undef CONFIG_WAKE_PIN
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
#include "gpio_signal.h"
|
||||
#include "registers.h"
|
||||
|
||||
/* I2C ports */
|
||||
#define I2C_PORT_BATTERY MEC1322_I2C0_0
|
||||
#define I2C_PORT_CHARGER MEC1322_I2C0_0
|
||||
#define I2C_PORT_THERMAL MEC1322_I2C0_0
|
||||
#define I2C_PORT_ACCEL MEC1322_I2C2
|
||||
#define I2C_PORT_GYRO MEC1322_I2C2
|
||||
#define I2C_PORT_ALS MEC1322_I2C2
|
||||
|
||||
/* power signal definitions */
|
||||
enum power_signal {
|
||||
X86_RSMRST_L_PWRGD = 0,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* List of enabled tasks in the priority order
|
||||
*
|
||||
* The first one has the lowest priority.
|
||||
@@ -17,13 +17,13 @@
|
||||
* 's' is the stack size in bytes; must be a multiple of 8
|
||||
*/
|
||||
#define CONFIG_TASK_LIST \
|
||||
TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \
|
||||
TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \
|
||||
TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \
|
||||
TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \
|
||||
TASK_NOTEST(MOTIONSENSE, motion_sense_task, NULL, LARGER_TASK_STACK_SIZE) \
|
||||
TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \
|
||||
TASK_NOTEST(CHIPSET, chipset_task, NULL, LARGER_TASK_STACK_SIZE) \
|
||||
TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \
|
||||
TASK_ALWAYS(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \
|
||||
TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) \
|
||||
TASK_NOTEST(PORT80, port80_task, NULL, TASK_STACK_SIZE) \
|
||||
TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \
|
||||
TASK_ALWAYS(POWERBTN, power_button_task, NULL, TASK_STACK_SIZE) \
|
||||
TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE)
|
||||
TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE) \
|
||||
TASK_NOTEST(PORT80, port80_task, NULL, TASK_STACK_SIZE)
|
||||
|
||||
@@ -5,139 +5,149 @@
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
GPIO_INT(PCH_SLP_SUS_L, PIN(12), GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt) /* Deep sleep state */
|
||||
GPIO_INT(LID_OPEN, PIN(27), GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
|
||||
GPIO_INT(AC_PRESENT, PIN(30), GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* BC_ACOK / EC_ACIN - to know if battery or AC connected */
|
||||
GPIO_INT(VOLUME_UP_L, PIN(31), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) /* Volume up button */
|
||||
GPIO_INT(WP_L, PIN(33), GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
|
||||
GPIO_INT(POWER_BUTTON_L, PIN(35), GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
|
||||
GPIO_INT(VOLUME_DOWN_L, PIN(47), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) /* Volume down button */
|
||||
GPIO_INT(PMIC_INT, PIN(50), GPIO_INT_FALLING, power_signal_interrupt) /* Alert signal from PMIC */
|
||||
GPIO_INT(PD_MCU_INT, PIN(122),GPIO_INT_RISING | GPIO_INT_DSLEEP, pd_mcu_interrupt) /* Interrupt from USB PD Controller to EC */
|
||||
GPIO_INT(RSMRST_L_PGOOD, PIN(63), GPIO_INT_BOTH, power_signal_interrupt) /* RSMRST_N_PWRGD from power logic */
|
||||
GPIO_INT(USB_C1_VBUS_WAKE, PIN(123), GPIO_INT_BOTH, vbus0_evt) /* USB_C1_VBUS WAKE EVENT DETECT */
|
||||
GPIO_INT(USB_C0_BC12_INT_L, PIN(124), GPIO_INT_FALLING, usb0_evt) /* USB_C0_BC12_INT */
|
||||
#if defined(CONFIG_ACCEL_INTERRUPTS) && defined(CONFIG_SHARED_MOTION_INTERRUPT_LINE)
|
||||
GPIO_INT(GYRO_INT2, PIN(127), GPIO_INT_RISING | GPIO_PULL_DOWN, motion_sns_interrupt) /* Gyro sensor interrupt 2 to EC */
|
||||
#else
|
||||
GPIO_INT(GYRO_INT2, PIN(127), GPIO_INT_RISING | GPIO_PULL_DOWN, NULL) /* Gyro sensor interrupt 2 to EC */
|
||||
#endif
|
||||
GPIO_INT(USB_C1_BC12_INT_L, PIN(145), GPIO_INT_FALLING, usb1_evt) /* USB_C1_BC12_INT */
|
||||
#ifdef CONFIG_ALS_INTERRUPTS
|
||||
GPIO_INT(ALS_INT, PIN(147), GPIO_INT_FALLING | GPIO_PULL_UP, als_interrupt) /* ALS sensor interrupt to EC */
|
||||
#else
|
||||
GPIO_INT(ALS_INT, PIN(147), GPIO_INT_FALLING | GPIO_PULL_UP, NULL) /* ALS sensor interrupt to EC */
|
||||
#endif
|
||||
GPIO_INT(USB_C0_VBUS_WAKE, PIN(152), GPIO_INT_BOTH, vbus1_evt) /* USBC PORT 0 VBUS POWER DETECT */
|
||||
#if defined(CONFIG_ACCEL_INTERRUPTS) && defined(CONFIG_SHARED_MOTION_INTERRUPT_LINE)
|
||||
GPIO_INT(GYRO_INT1, PIN(161), GPIO_INT_RISING | GPIO_PULL_DOWN, motion_sns_interrupt) /* Gyro sensor interrupt 1 to EC */
|
||||
#else
|
||||
GPIO_INT(GYRO_INT1, PIN(161), GPIO_INT_RISING | GPIO_PULL_DOWN, NULL) /* Gyro sensor interrupt 1 to EC */
|
||||
#endif
|
||||
GPIO_INT(PCH_SLP_S4_L, PIN(200), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
|
||||
GPIO_INT(PCH_SLP_S3_L, PIN(206), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
|
||||
GPIO_INT(PCH_SLP_S0_L, PIN(211), GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt) /* Sleep SO signal from SOC to EC */
|
||||
GPIO_INT(LID_OPEN, PIN(27), GPIO_INT_BOTH_DSLEEP, lid_interrupt)
|
||||
GPIO_INT(AC_PRESENT, PIN(30), GPIO_INT_BOTH_DSLEEP, extpower_interrupt)
|
||||
GPIO_INT(WP_L, PIN(33), GPIO_INT_BOTH, switch_interrupt)
|
||||
/* Buffered power button input from PMIC / ROP_EC_PWR_BTN_L_R */
|
||||
GPIO_INT(POWER_BUTTON_L, PIN(35), GPIO_INT_BOTH_DSLEEP, power_button_interrupt)
|
||||
/* RSMRST from PMIC */
|
||||
GPIO_INT(RSMRST_L_PGOOD, PIN(63), GPIO_INT_BOTH, power_signal_interrupt)
|
||||
GPIO_INT(PCH_SLP_S4_L, PIN(200), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt)
|
||||
GPIO_INT(PCH_SLP_S3_L, PIN(206), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt)
|
||||
GPIO_INT(PCH_SLP_S0_L, PIN(211), GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt)
|
||||
GPIO_INT(PCH_SLP_SUS_L, PIN(12), GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt)
|
||||
GPIO_INT(VOLUME_UP_L, PIN(31), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
|
||||
GPIO_INT(VOLUME_DOWN_L, PIN(47), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
|
||||
GPIO_INT(PMIC_INT_L, PIN(50), GPIO_INT_FALLING, power_signal_interrupt)
|
||||
GPIO_INT(PD_MCU_INT, PIN(122), GPIO_INT_RISING | GPIO_INT_DSLEEP, pd_mcu_interrupt)
|
||||
GPIO_INT(USB_C0_VBUS_WAKE_L,PIN(152), GPIO_INT_BOTH, vbus0_evt)
|
||||
GPIO_INT(USB_C1_VBUS_WAKE_L,PIN(123), GPIO_INT_BOTH, vbus1_evt)
|
||||
GPIO_INT(USB_C0_BC12_INT_L, PIN(124), GPIO_INT_FALLING, usb0_evt)
|
||||
GPIO_INT(USB_C1_BC12_INT_L, PIN(145), GPIO_INT_FALLING, usb1_evt)
|
||||
|
||||
GPIO(EC_BRD_ID0, PIN(6), GPIO_INPUT) /* EC_BRD_ID0 */
|
||||
GPIO(EC_BRD_ID1, PIN(7), GPIO_INPUT) /* EC_BRD_ID1 */
|
||||
GPIO(ROP_DSW_PWROK, PIN(55), GPIO_INPUT)
|
||||
|
||||
GPIO(EC_BRD_ID2, PIN(10), GPIO_INPUT) /* EC_BRD_ID2 */
|
||||
GPIO(PP1800_DX_SENSOR_EN, PIN(11), GPIO_OUT_LOW)
|
||||
GPIO(USB2_OTG_ID, PIN(13), GPIO_ODR_HIGH) /* Universal Serial Bus On-The-Go detection signal */
|
||||
GPIO(I2C_PORT0_SCL, PIN(15), GPIO_ODR_HIGH)
|
||||
GPIO(I2C_PORT0_SDA, PIN(16), GPIO_ODR_HIGH)
|
||||
GPIO(PD_RST_L, PIN(130), GPIO_ODR_HIGH)
|
||||
GPIO(USB2_OTG_ID, PIN(13), GPIO_ODR_HIGH)
|
||||
/* I2C pins - these will be reconfigured for alternate function below */
|
||||
GPIO(I2C0_0_SCL, PIN(15), GPIO_ODR_HIGH)
|
||||
GPIO(I2C0_0_SDA, PIN(16), GPIO_ODR_HIGH)
|
||||
GPIO(I2C1_SCL, PIN(22), GPIO_ODR_HIGH)
|
||||
GPIO(I2C1_SDA, PIN(23), GPIO_ODR_HIGH)
|
||||
GPIO(I2C2_SCL, PIN(20), GPIO_ODR_HIGH)
|
||||
GPIO(I2C2_SDA, PIN(21), GPIO_ODR_HIGH)
|
||||
GPIO(I2C3_SCL, PIN(24), GPIO_ODR_HIGH)
|
||||
GPIO(I2C3_SDA, PIN(25), GPIO_ODR_HIGH)
|
||||
GPIO(PCH_SCI_L, PIN(26), GPIO_ODR_HIGH)
|
||||
|
||||
GPIO(I2C_PORT2_SCL, PIN(20), GPIO_ODR_HIGH)
|
||||
GPIO(I2C_PORT2_SDA, PIN(21), GPIO_ODR_HIGH)
|
||||
GPIO(I2C_PORT1_SCL, PIN(22), GPIO_ODR_HIGH)
|
||||
GPIO(I2C_PORT1_SDA, PIN(23), GPIO_ODR_HIGH)
|
||||
GPIO(I2C_PORT3_SCL, PIN(24), GPIO_ODR_HIGH)
|
||||
GPIO(I2C_PORT3_SDA, PIN(25), GPIO_ODR_HIGH)
|
||||
GPIO(PCH_SCI_L, PIN(26), GPIO_ODR_HIGH) /* SCI output */
|
||||
GPIO(NC_034, PIN(34), GPIO_INPUT | GPIO_PULL_UP)
|
||||
GPIO(USB1_ENABLE, PIN(36), GPIO_OUT_HIGH)
|
||||
GPIO(USB2_ENABLE, PIN(67), GPIO_OUT_HIGH)
|
||||
GPIO(ENTERING_RW, PIN(41), GPIO_OUT_LOW)
|
||||
GPIO(PCH_SMI_L, PIN(44), GPIO_ODR_HIGH)
|
||||
GPIO(PCH_PWRBTN_L, PIN(45), GPIO_OUT_HIGH)
|
||||
GPIO(USB_C0_DP_HPD, PIN(46), GPIO_OUT_HIGH)
|
||||
GPIO(USB_C1_DP_HPD, PIN(51), GPIO_OUT_HIGH)
|
||||
GPIO(CPU_PROCHOT, PIN(52), GPIO_OPEN_DRAIN)
|
||||
GPIO(ENABLE_TOUCHPAD, PIN(53), GPIO_OUT_HIGH)
|
||||
GPIO(BAT_PRESENT_L, PIN(56), GPIO_INPUT)
|
||||
GPIO(USB_PD_WAKE, PIN(60), GPIO_OUT_LOW)
|
||||
/* When asserted, ME does not lock security descriptor */
|
||||
GPIO(PCH_SEC_DISABLE_L, PIN(65), GPIO_ODR_HIGH)
|
||||
GPIO(PCH_WAKE_L, PIN(66), GPIO_ODR_HIGH)
|
||||
GPIO(EC_FAN1_TTACH, PIN(105), GPIO_INPUT)
|
||||
/* Fan PWM output - NC / testing only */
|
||||
GPIO(EC_FAN1_PWM, PIN(136), GPIO_OUT_LOW)
|
||||
GPIO(PCH_ACOK, PIN(110), GPIO_ODR_HIGH)
|
||||
/* Interrupts from accelerometer / gyro -- not yet implemented */
|
||||
GPIO(GYRO_INT1, PIN(161), GPIO_INPUT | GPIO_PULL_DOWN)
|
||||
GPIO(GYRO_INT2, PIN(127), GPIO_INPUT | GPIO_PULL_DOWN)
|
||||
GPIO(ALS_INT, PIN(147), GPIO_INPUT | GPIO_PULL_UP)
|
||||
GPIO(WWAN_PWR_EN, PIN(133), GPIO_OUT_HIGH)
|
||||
GPIO(WLAN_OFF_L, PIN(132), GPIO_ODR_HIGH)
|
||||
/* RCIN# line to PCH for 8042 emulation */
|
||||
GPIO(PCH_RCIN_L, PIN(135), GPIO_ODR_HIGH)
|
||||
GPIO(USB2_OTG_VBUSSENSE, PIN(140), GPIO_ODR_HIGH)
|
||||
/* Sensor input for KB PROX - UNUSED */
|
||||
GPIO(KB_PROX_INT_L, PIN(141), GPIO_INPUT)
|
||||
GPIO(PCH_RSMRST_L, PIN(143), GPIO_OUT_LOW)
|
||||
/* prochot input from devices */
|
||||
GPIO(PLATFORM_EC_PROCHOT, PIN(151), GPIO_INPUT)
|
||||
GPIO(USB_C0_5V_EN, PIN(154), GPIO_OUT_LOW)
|
||||
GPIO(USB_C1_5V_EN, PIN(204), GPIO_OUT_LOW)
|
||||
GPIO(USB_C0_CHARGE_EN_L, PIN(64), GPIO_OUT_HIGH)
|
||||
GPIO(USB_C1_CHARGE_EN_L, PIN(157), GPIO_OUT_HIGH)
|
||||
GPIO(PP1800_DX_SENSOR_EN, PIN(11), GPIO_OUT_LOW)
|
||||
GPIO(PP1800_DX_AUDIO_EN, PIN(160), GPIO_OUT_LOW)
|
||||
GPIO(RTC_RST, PIN(163), GPIO_OPEN_DRAIN)
|
||||
|
||||
GPIO(NC_034, PIN(34), GPIO_INPUT | GPIO_PULL_UP) /* NC */
|
||||
GPIO(USB_P3_PWR_EN, PIN(36), GPIO_OUT_HIGH) /* Enable power for USB2 Port */
|
||||
GPIO(NC_201, PIN(201), GPIO_INPUT | GPIO_PULL_UP)
|
||||
GPIO(ENABLE_BACKLIGHT, PIN(202), GPIO_OUT_HIGH)
|
||||
GPIO(PP3300_WLAN_EN, PIN(203), GPIO_OUT_HIGH)
|
||||
GPIO(EC_WAKE_CLK, PIN(210), GPIO_INPUT)
|
||||
GPIO(EC_BRD_ID0, PIN(6), GPIO_INPUT)
|
||||
GPIO(EC_BRD_ID1, PIN(7), GPIO_INPUT)
|
||||
GPIO(EC_BRD_ID2, PIN(10), GPIO_INPUT)
|
||||
GPIO(KBD_KSO2, PIN(101), GPIO_KB_OUTPUT_COL2)
|
||||
GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH)
|
||||
GPIO(SYS_RESET_L, PIN(121), GPIO_ODR_HIGH)
|
||||
|
||||
GPIO(ENTERING_RW, PIN(41), GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
|
||||
GPIO(PCH_SMI_L, PIN(44), GPIO_ODR_HIGH) /* SMI output */
|
||||
GPIO(PCH_PWRBTN_L, PIN(45), GPIO_OUT_HIGH) /* Power button output to PCH */
|
||||
GPIO(DDI1_HPD, PIN(46), GPIO_OUT_HIGH) /* DP hot plug detect from EC to SOC */
|
||||
GPIO(V_BOOSTIN, PIN(57), GPIO_INPUT)
|
||||
GPIO(BC_IBAT, PIN(61), GPIO_INPUT)
|
||||
GPIO(BC_MON, PIN(62), GPIO_INPUT)
|
||||
|
||||
GPIO(DDI2_HPD, PIN(51), GPIO_OUT_HIGH) /* DP hot plug detect from EC to SOC */
|
||||
GPIO(CPU_PROCHOT, PIN(52), GPIO_OPEN_DRAIN)
|
||||
GPIO(ENABLE_TOUCHPAD, PIN(53), GPIO_OUT_HIGH) /* Enable power to Track Pad */
|
||||
GPIO(ROP_DSW_PWROK, PIN(55), GPIO_INPUT) /* ZERO OHM DNP - RESERVED OPEN DRAIN */
|
||||
GPIO(BC_BATPRES, PIN(56), GPIO_INPUT) /* ?? */
|
||||
GPIO(V_BOOSTIN, PIN(57), GPIO_INPUT) /* ?? */
|
||||
GPIO(NC_11, PIN(11), GPIO_INPUT | GPIO_PULL_UP)
|
||||
GPIO(NC_150, PIN(150), GPIO_INPUT | GPIO_PULL_UP)
|
||||
GPIO(CHARGE_LED1, PIN(155), GPIO_OUT_HIGH)
|
||||
GPIO(CHARGE_LED2, PIN(156), GPIO_OUT_HIGH)
|
||||
|
||||
GPIO(USBPD_WAKE, PIN(60), GPIO_OUT_LOW) /* USBC WAKE NOTIFICATION from MEC EC to STM32 EC */
|
||||
GPIO(BC_IBAT, PIN(61), GPIO_INPUT) /* ?? */
|
||||
GPIO(BC_MON, PIN(62), GPIO_INPUT) /* ADC FUNCTION - FROM BATTERY CHARGER FOR SYSTEM POWER MONITOR */
|
||||
GPIO(EN_USB_C0_CHARGE, PIN(64), GPIO_OUT_HIGH) /* Enable USB-C0 Charge */
|
||||
GPIO(FLASH_DSC_OVERRIDE,PIN(65), GPIO_ODR_HIGH) /* Flash Descriptor Override */
|
||||
GPIO(PCH_WAKE_L, PIN(66), GPIO_ODR_HIGH) /* PCH wake pin */
|
||||
GPIO(USB_P4_PWR_EN, PIN(67), GPIO_OUT_HIGH) /* Enable power for USB3 Port */
|
||||
/* Alternate functions GPIO definitions */
|
||||
|
||||
GPIO(KBD_KSO2, PIN(101), GPIO_KB_OUTPUT_COL2) /* Negative edge triggered irq. */
|
||||
GPIO(FAN_TACH, PIN(105), GPIO_INPUT) /* ?? Need Alternate - FAN TACH */
|
||||
/* GPIO162(UART_RX), GPIO165(UART_TX) */
|
||||
ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0)
|
||||
|
||||
GPIO(AC_PRESENT_PCH, PIN(110), GPIO_ODR_HIGH) /* */
|
||||
/* KB pins */
|
||||
/* KB ROW - GPIO000-GPIO005 */
|
||||
ALTERNATE(PIN_MASK(0, 0x3f), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
|
||||
/* KB ROW - GPIO100-GPIO104, GPIO106-GPIO107 */
|
||||
/* NOTE - GP101 should be configured as GPIO */
|
||||
ALTERNATE(PIN_MASK(10, 0xdd), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
|
||||
/* KB COL - GPIO032 */
|
||||
ALTERNATE(PIN_MASK(3, 0x04), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
|
||||
/* KB COL - GPIO040, GPIO42-GPIO43 */
|
||||
ALTERNATE(PIN_MASK(4, 0x0d), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
|
||||
/* KB COL - GPIO125-GPIO126 */
|
||||
ALTERNATE(PIN_MASK(12, 0x60), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
|
||||
/* KB COL - GPIO142, GPIO144 */
|
||||
ALTERNATE(PIN_MASK(14, 0x14), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
|
||||
|
||||
GPIO(SYS_RESET_L, PIN(121), GPIO_ODR_HIGH) /* PM_SYSRST - ODR High */
|
||||
GPIO(USB_PD_EC_INT, PIN(122), GPIO_INT_BOTH) /* Interrupt from USB PD Controller to EC */
|
||||
/* LPC pins */
|
||||
/* LPC_CLK_RUN_L - GPIO014 */
|
||||
ALTERNATE(PIN_MASK(1, 0x10), 1, MODULE_LPC, 0)
|
||||
/* LAD[0:3] - GPIO111-GPIO114, SERIRQ - GPIO115, PCI_CLK - GPIO117 */
|
||||
ALTERNATE(PIN_MASK(11, 0xbe), 1, MODULE_LPC, 0)
|
||||
/* LRESET# - GPIO116 */
|
||||
ALTERNATE(PIN_MASK(11, 0x40), 1, MODULE_LPC, GPIO_INT_BOTH)
|
||||
/* LFRAME# - GPIO120 */
|
||||
ALTERNATE(PIN_MASK(12, 0x01), 1, MODULE_LPC, 0)
|
||||
|
||||
GPIO(EC_USBPD_RST, PIN(130), GPIO_ODR_HIGH) /* EC_USBPD_RST */
|
||||
GPIO(WLAN_OFF_L, PIN(132), GPIO_ODR_HIGH) /* Wireless LAN */
|
||||
GPIO(WWAN_PWR_EN, PIN(133), GPIO_OUT_HIGH) /* Enable power for WWAN */
|
||||
GPIO(PCH_RCIN_L, PIN(135), GPIO_ODR_HIGH) /* Reset line to PCH (for 8042 emulation) */
|
||||
/* SPI pins */
|
||||
/* MOSI - GPIO054 */
|
||||
ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0)
|
||||
/* MISO - GPIO164 */
|
||||
ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, 0)
|
||||
/* PVT_SCLK - GPIO153 */
|
||||
ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0)
|
||||
|
||||
GPIO(USB2_OTG_VBUSSENSE,PIN(140), GPIO_ODR_HIGH) /* OTG VBUS STATUS TO PCH */
|
||||
GPIO(SEN_INT, PIN(141), GPIO_INT_BOTH_DSLEEP) /* SEN_INT */
|
||||
GPIO(PCH_RSMRST_L, PIN(143), GPIO_OUT_LOW) /* RSMRST_N to PCH */
|
||||
GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH) /* SPI PVT Chip select */
|
||||
/* I2C pins */
|
||||
/* I2C0_0 CLK - GPIO015, I2C0_0 DAT - GPIO016, I2C0_1 DAT - GPIO017 */
|
||||
ALTERNATE(PIN_MASK(1, 0xe0), 2, MODULE_I2C, GPIO_PULL_UP)
|
||||
/* I2C{1,2,3} CLK / DAT - GPIO020-GPIO025*/
|
||||
ALTERNATE(PIN_MASK(2, 0x3f), 2, MODULE_I2C, GPIO_PULL_UP)
|
||||
/* I2C0_1 CLK - GPIO134 */
|
||||
ALTERNATE(PIN_MASK(13, 0x10), 2, MODULE_I2C, GPIO_PULL_UP)
|
||||
|
||||
GPIO(NC_150, PIN(150), GPIO_INPUT | GPIO_PULL_UP) /* NC */
|
||||
GPIO(DEVICE_PROCHOT, PIN(151), GPIO_INT_FALLING) /* Device Proc Hot */
|
||||
GPIO(EN_USB_C0_5V_OUT, PIN(154), GPIO_OUT_LOW) /* Enable USB-C0 5V */
|
||||
GPIO(CHARGE_LED1, PIN(155), GPIO_OUT_HIGH) /* Charge LED 1 */
|
||||
GPIO(CHARGE_LED2, PIN(156), GPIO_OUT_HIGH) /* Charge LED 2 */
|
||||
GPIO(EN_USB_C1_CHARGE, PIN(157), GPIO_OUT_HIGH) /* Enable USB-C1 Charge */
|
||||
|
||||
GPIO(PP1800_DX_AUDIO_EN,PIN(160), GPIO_OUT_LOW)
|
||||
GPIO(RTC_RST, PIN(163), GPIO_OPEN_DRAIN) /* RTC_RST */
|
||||
|
||||
GPIO(NC_201, PIN(201), GPIO_INPUT | GPIO_PULL_UP) /* NC */
|
||||
GPIO(EC_BL_DISABLE_L, PIN(202), GPIO_OUT_HIGH) /* EDP backligh disable signal from EC */
|
||||
GPIO(PP3300_WLAN_EN, PIN(203), GPIO_OUT_HIGH) /* Enable power to wifi */
|
||||
GPIO(EN_USB_C1_5V_OUT, PIN(204), GPIO_OUT_LOW) /* Enable USB-C1 5V */
|
||||
|
||||
GPIO(ROP_EC_1HZ_WAKE, PIN(210), GPIO_INT_BOTH) /* 1 HZ CLOCK FOR LOW POWER MODE FUNCTION */
|
||||
|
||||
/* Alternate functions GPIO definition */
|
||||
ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0) /* UART0 */
|
||||
|
||||
ALTERNATE(PIN_MASK(1, 0x60), 2, MODULE_I2C, GPIO_PULL_UP) /* I2C0: Battery Charger */
|
||||
ALTERNATE(PIN_MASK(2, 0x3f), 2, MODULE_I2C, GPIO_PULL_UP) /* I2C1: Temp Sensor / I2C2: SOC / I2C3: VNN */
|
||||
/* PORT SEL [3:0] has to be set to 1 to access this port 1 of controller 0 */
|
||||
ALTERNATE(PIN_MASK(13, 0x10), 2, MODULE_I2C, GPIO_PULL_UP) /* I2C0 - Port 1 : Accel SCL */
|
||||
ALTERNATE(PIN_MASK(1, 0x80), 2, MODULE_I2C, GPIO_PULL_UP) /* I2C0 - Port 1 : Accel SDA*/
|
||||
|
||||
ALTERNATE(PIN_MASK(0, 0x3d), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
|
||||
ALTERNATE(PIN_MASK(1, 0x02), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
|
||||
ALTERNATE(PIN_MASK(10, 0xdd), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
|
||||
ALTERNATE(PIN_MASK(3, 0x04), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
|
||||
ALTERNATE(PIN_MASK(4, 0x0d), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
|
||||
ALTERNATE(PIN_MASK(12, 0x60), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
|
||||
ALTERNATE(PIN_MASK(14, 0x14), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
|
||||
|
||||
ALTERNATE(PIN_MASK(1, 0x10), 1, MODULE_LPC, 0) /* 14: CLKRUN# */
|
||||
ALTERNATE(PIN_MASK(11, 0x9e), 1, MODULE_LPC, 0) /* 111~114: LAD[0:3], 117: PCI_CLK */
|
||||
ALTERNATE(PIN_MASK(11, 0x40), 1, MODULE_LPC, GPIO_INT_BOTH) /* 116: LRESET# */
|
||||
ALTERNATE(PIN_MASK(12, 0x01), 1, MODULE_LPC, 0) /* 120: LFRAME# */
|
||||
ALTERNATE(PIN_MASK(11, 0x20), 1, MODULE_LPC, 0)
|
||||
|
||||
ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0) /* 54: MOSI */
|
||||
ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, 0) /* 164: MISO */
|
||||
ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0) /* 153: CLK */
|
||||
|
||||
ALTERNATE(PIN_MASK(13, 0x40), 1, MODULE_PWM_LED, GPIO_OPEN_DRAIN) /* 136: PWM1 */
|
||||
/* VCC1_RST# - GPIO131 */
|
||||
ALTERNATE(PIN_MASK(13, 0x02), 1, MODULE_PMU, 0)
|
||||
/* nRESET_OUT - GPIO121 */
|
||||
ALTERNATE(PIN_MASK(12, 0x02), 1, MODULE_PMU, 0)
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
/* -*- mode:c -*-
|
||||
*
|
||||
* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
|
||||
* Copyright (c) 2015 The Chromium OS Authors. All rights reserved.
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*
|
||||
* Minimal set of GPIOs needed for LFW loader
|
||||
*/
|
||||
|
||||
GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH) /* SPI PVT Chip select */
|
||||
/* SPI PVT chip select */
|
||||
GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH)
|
||||
|
||||
/* Alternate functions GPIO definition */
|
||||
ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0) /* UART0 */
|
||||
/* UART */
|
||||
ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0)
|
||||
/* SPI pins */
|
||||
ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0)
|
||||
ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, 0)
|
||||
ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0) /* 153: CLK */
|
||||
ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0)
|
||||
|
||||
Reference in New Issue
Block a user