summaryrefslogtreecommitdiff
path: root/chip
diff options
context:
space:
mode:
authorDavid Hendricks <dhendrix@chromium.org>2013-03-08 14:52:11 -0800
committerChromeBot <chrome-bot@google.com>2013-03-11 22:08:55 -0700
commit0631409955501ac58bb1d039448247da72332238 (patch)
tree984df31c9ae6c99665d247ede44a7f9e4000a2b7 /chip
parentd4ca1d9c00c93b31dcf786095c3ac3828960990c (diff)
downloadchrome-ec-0631409955501ac58bb1d039448247da72332238.tar.gz
stm32: finish cleaning up row/column/input/output naming
This is a purely cosmetic change that removes any remaining references of rows/columns in favor of inputs/outputs since the former is inconsistent across platforms. Higher-level code (such as MKBP) may still refer to logical rows and columns, but low-level GPIO handling code will refer to GPIOs by their input/output function. BUG=none BRANCH=none TEST=Tested on Snow (ran finger across all numbers and letters) Change-Id: Idb8b76e8d013568505d826c3a54a1ed8ce143d12 Signed-off-by: David Hendricks <dhendrix@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/44982 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'chip')
-rw-r--r--chip/stm32/keyboard_scan.c68
1 files changed, 33 insertions, 35 deletions
diff --git a/chip/stm32/keyboard_scan.c b/chip/stm32/keyboard_scan.c
index db4263fd91..9b9b4f0bc0 100644
--- a/chip/stm32/keyboard_scan.c
+++ b/chip/stm32/keyboard_scan.c
@@ -5,8 +5,6 @@
/*
* Keyboard scanner module for Chrome EC
- *
- * TODO: Finish cleaning up nomenclature (cols/rows/inputs/outputs),
*/
#include "atomic.h"
@@ -27,11 +25,11 @@
#define CPUTS(outstr) cputs(CC_KEYSCAN, outstr)
#define CPRINTF(format, args...) cprintf(CC_KEYSCAN, format, ## args)
-/* used for select_column() */
-enum COL_INDEX {
- COL_ASSERT_ALL = -2,
- COL_TRI_STATE_ALL = -1,
- /* 0 ~ 12 for the corresponding column */
+/* used for assert_output() */
+enum {
+ OUTPUT_ASSERT_ALL = -2,
+ OUTPUT_TRI_STATE_ALL = -1,
+ /* 0 ~ 12 for the corresponding output */
};
#define KB_INPUTS 8
@@ -179,7 +177,7 @@ static int kb_fifo_remove(uint8_t *buffp)
return EC_SUCCESS;
}
-static void select_column(int col)
+static void assert_output(int out)
{
int i, done = 0;
@@ -191,18 +189,18 @@ static void select_column(int col)
if (gpio_list[j].port != ports[i])
continue;
- if (col == COL_ASSERT_ALL) {
- /* drive low (clear output data) */
+ if (out == OUTPUT_ASSERT_ALL) {
+ /* drive low (clear bit) */
bsrr |= gpio_list[j].mask << 16;
- } else if (col == COL_TRI_STATE_ALL) {
- /* put column in hi-Z state (set output data) */
+ } else if (out == OUTPUT_TRI_STATE_ALL) {
+ /* put output in hi-Z state (set bit) */
bsrr |= gpio_list[j].mask;
} else {
- /* drive specified column low, others => hi-Z */
- if (j - GPIO_KB_OUT00 == col) {
+ /* drive specified output low, others => hi-Z */
+ if (j - GPIO_KB_OUT00 == out) {
/* to avoid conflict, tri-state all
- * columns first, then assert column */
- select_column(COL_TRI_STATE_ALL);
+ * outputs first, then assert output */
+ assert_output(OUTPUT_TRI_STATE_ALL);
bsrr |= gpio_list[j].mask << 16;
done = 1;
break;
@@ -218,7 +216,7 @@ static void select_column(int col)
}
}
-/* Set up columns so that we will get an interrupt when any key changed */
+/* Set up outputs so that we will get an interrupt when any key changed */
void setup_interrupts(void)
{
uint32_t pr_before, pr_after;
@@ -226,7 +224,7 @@ void setup_interrupts(void)
/* Assert all outputs would trigger un-wanted interrupts.
* Clear them before enable interrupt. */
pr_before = STM32_EXTI_PR;
- select_column(COL_ASSERT_ALL);
+ assert_output(OUTPUT_ASSERT_ALL);
pr_after = STM32_EXTI_PR;
STM32_EXTI_PR |= ((pr_after & ~pr_before) & irq_mask);
@@ -237,7 +235,7 @@ void setup_interrupts(void)
void enter_polling_mode(void)
{
STM32_EXTI_IMR &= ~irq_mask; /* 0: mask interrupts */
- select_column(COL_TRI_STATE_ALL);
+ assert_output(OUTPUT_TRI_STATE_ALL);
}
/**
@@ -288,14 +286,14 @@ static void print_state(const uint8_t *state, const char *msg)
}
/**
- * Read the raw row state for the currently selected column
+ * Read the raw input state for the currently selected output
*
- * It is assumed that the column is already selected by the scanning
- * hardware. The column number is only used by test code.
+ * It is assumed that the output is already selected by the scanning
+ * hardware. The output number is only used by test code.
*
- * @return row state, one bit for each row
+ * @return input state, one bit for each input
*/
-static uint8_t read_raw_row_state(void)
+static uint8_t read_raw_input_state(void)
{
uint16_t tmp;
uint8_t r = 0;
@@ -305,7 +303,7 @@ static uint8_t read_raw_row_state(void)
* the job in 3 shift/or operations.
*/
tmp = STM32_GPIO_IDR(C);
- /* KB_COL00:04 = PC8:12 */
+ /* KB_OUT00:04 = PC8:12 */
if (tmp & (1 << 8))
r |= 1 << 0;
if (tmp & (1 << 9))
@@ -316,14 +314,14 @@ static uint8_t read_raw_row_state(void)
r |= 1 << 3;
if (tmp & (1 << 12))
r |= 1 << 4;
- /* KB_COL05:06 = PC14:15 */
+ /* KB_OUT05:06 = PC14:15 */
if (tmp & (1 << 14))
r |= 1 << 5;
if (tmp & (1 << 15))
r |= 1 << 6;
tmp = STM32_GPIO_IDR(D);
- /* KB_COL07 = PD2 */
+ /* KB_OUT07 = PD2 */
if (tmp & (1 << 2))
r |= 1 << 7;
@@ -350,11 +348,11 @@ static int read_matrix(uint8_t *state)
int pressed = 0;
for (c = 0; c < KB_OUTPUTS; c++) {
- /* Select column, then wait a bit for it to settle */
- select_column(c);
+ /* Assert output, then wait a bit for it to settle */
+ assert_output(c);
udelay(config.output_settle_us);
- r = read_raw_row_state();
+ r = read_raw_input_state();
#ifdef CONFIG_KEYBOARD_TEST
/* Use simulated keyscan sequence instead if testing active */
@@ -370,7 +368,7 @@ static int read_matrix(uint8_t *state)
state[c] = r;
pressed |= r;
}
- select_column(COL_TRI_STATE_ALL);
+ assert_output(OUTPUT_TRI_STATE_ALL);
return pressed ? 1 : 0;
}
@@ -516,7 +514,7 @@ static int check_recovery_key(const uint8_t *state)
void keyboard_scan_init(void)
{
/* Tri-state (put into Hi-Z) the outputs */
- select_column(COL_TRI_STATE_ALL);
+ assert_output(OUTPUT_TRI_STATE_ALL);
/* Initialize raw state */
read_matrix(debounced_state);
@@ -541,7 +539,7 @@ static void scan_keyboard(void)
* re-start immediatly polling instead of waiting
* for the next interrupt.
*/
- if (!read_raw_row_state()) {
+ if (!read_raw_input_state()) {
#ifdef CONFIG_KEYBOARD_TEST
task_wait_event(keyscan_seq_next_event_delay());
#else
@@ -608,7 +606,7 @@ void keyboard_scan_task(void)
if (config.flags & EC_MKBP_FLAGS_ENABLE) {
scan_keyboard();
} else {
- select_column(COL_TRI_STATE_ALL);
+ assert_output(OUTPUT_TRI_STATE_ALL);
task_wait_event(-1);
}
}
@@ -674,7 +672,7 @@ void keyboard_enable_scanning(int enable)
task_wake(TASK_ID_KEYSCAN);
} else {
mutex_lock(&scanning_enabled);
- select_column(COL_TRI_STATE_ALL);
+ assert_output(OUTPUT_TRI_STATE_ALL);
}
}