summaryrefslogtreecommitdiff
path: root/board/nami/gpio.inc
Commit message (Collapse)AuthorAgeFilesLines
* Update license boilerplate text in source code filesMike Frysinger2022-09-121-1/+1
| | | | | | | | | | | | | | | Normally we don't do this, but enough changes have accumulated that we're doing a tree-wide one-off update of the name & style. BRANCH=none BUG=chromium:1098010 TEST=`repo upload` works Change-Id: Icd3a1723c20595356af83d190b2c6a9078b3013b Signed-off-by: Mike Frysinger <vapier@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891203 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* Nami: Set TCPC_AUX_SWITCH to 0xC on Port 1 on CCD enableDaisuke Nojiri2021-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | When the screen brightness is changed, DP sends signal on AUX channel. This causes CCD mode to be disconnected. This patch sets the MUX to aux+ <-> sbu2, aux- <-> sbu1 to fix it. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/113266817 BRANCH=nami TEST=Verify on Syndra UART over CCD doesn't get disconnected when the screen brightness is changed. Change-Id: I3dba1bdfd44a921077a2f60dec17119bb0077238 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1595212 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org>
* tablet_mode: Renaming for GMR sensorPhilip Chen2019-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GMR sensors can be used to (1) detect clamshell/tablet mode (2) detect lid open/closed But hall sensors can only do (2). Therefore the naming related to "hall sensor" for tablet mode application is incorrect. This patch performs the following renaming to better reflect the reality: config: CONFIG_HALL_SENSOR -> CONFIG_GMR_TABLET_MODE CONFIG_HALL_SENSOR_CUSTOM -> CONFIG_GMR_TABLET_MODE_CUSTOM CONFIG_DPTF_MOTION_LID_NO_HALL_SENSOR -> CONFIG_DPTF_MOTION_LID_NO_GMR_SENSOR GPIO: HALL_SENSOR_GPIO_L -> GMR_TABLET_MODE_GPIO_L functions: hall_sensor_disable() -> gmr_tablet_switch_disable() hall_sensor_isr() -> gmr_tablet_switch_isr() hall_sensor_int() -> gmr_tablet_switch_init() variable: hall_sensor_at_360 -> gmr_sensor_at_360 BUG=b:139378190 BRANCH=none TEST=make buildall Change-Id: I28393d056ddd128d8ffafc16a1f9fefee5455ccc Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1757275 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org>
* tablet_mode: Introduce hall sensor specific handlingFurquan Shaikh2018-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change performs the following renaming: 1. CONFIG_TABLET_SWITCH -> CONFIG_HALL_SENSOR Indicates if a device has hall sensor 2. TABLET_MODE_GPIO_L -> HALL_SENSOR_GPIO_L Provides the interrupt line from hall sensor to EC. 3. tablet_mode_isr -> hall_sensor_isr Interrupt routine that gets control on hall sensor interrupt. 4. tablet_mode_init -> hall_sensor_init Init routine for initializing hall sensor interrupt. 5. tablet_switch_disable -> hall_sensor_disable Disable hall sensor interrupt and tablet mode sub-system. This is done to separate hall sensor interrupt from tablet mode handling. It is another step towards aligning tablet mode detection on EC with Chrome. Hall sensor interrupt occurs when the lid is in 360-degree flipped mode. If tablet mode is not already triggered by lid motion driver, then hall_sensor_isr will set tablet mode and take necessary actions to disable input peripherals. CQ-DEPEND=CL:1351518 BUG=b:120050761 BRANCH=octopus TEST=make -j buildall Change-Id: I5841f6875d538a624cb888bc048f252397ab457c Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://chromium-review.googlesource.com/1350469 Commit-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* Nami: Reverse polarity of USB2_IDDaisuke Nojiri2018-07-241-1/+1
| | | | | | | | | | | | | | | | | USB2_ID controlls OTG functionality on the SoC. The polarity is currently reversed. This patch fixes it. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:110385436 BRANCH=none TEST=Verify USB2 host devices work through USB-C port. Change-Id: I8cf67395dacf75828b80226eb1975de647ff5376 Reviewed-on: https://chromium-review.googlesource.com/1142386 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* Nami: Disable Accel/Gyro sensor for clamshellsDaisuke Nojiri2018-07-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Clamshells (e.g. Akali) don't have a BMI160. Currently, the interrupt pin connected to BMI160 is floating on Akali and causing an interrupt storm. This patch removes accel/gyro sensor from clamshells. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:111521601 BRANCH=none TEST=Verify accelinfo shows expected angles on Sona & Akali360. Change-Id: I95bcf75b47c88975aec9e9fdefc09b6e50672ab4 Reviewed-on: https://chromium-review.googlesource.com/1142140 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Vincent Wang <vwang@chromium.org>
* Nami: Toggle power of PS8713B on suspend/resumeDaisuke Nojiri2018-07-121-1/+1
| | | | | | | | | | | | | | | | | | GPO32 is connected to #5:Power_Down pin of PS8713B on Sona. We enable power on resume and shut it down on suspend. Other boards don't use the pin. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:79722847 BRANCH=none TEST=None Change-Id: Ic4fa6cafaf976bdba9b60b438a95b9ae8c684737 Reviewed-on: https://chromium-review.googlesource.com/1130658 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* Nami: Enable USB2_ID when data role is UFPDaisuke Nojiri2018-06-211-3/+1
| | | | | | | | | | | | | | | | | This patch also moves USB2_ID from GPIO57 to GPIO42 because GPIO57 cannot be configured as a GPIO. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:110443393,b:110385436 BRANCH=none TEST=make BOARD=nami Change-Id: I228d02df2ba5c9731a0aa17732ce8a7bfbe299e9 Reviewed-on: https://chromium-review.googlesource.com/1108564 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* Nami: Toggle Anx7447 reset line at start-upDaisuke Nojiri2018-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | This patch configures the GPIO pin connected to the reset pin of Anx7447 as push-pull low. When the EC start up from reset, it pulls it high, waits for 1 msec, then pulls it low. This allows the tcpc to recover from a hang and guarantees it to start from a known state. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:79868559 BRANCH=none TEST=Verify Anx7447 port charges on Nami with a rework. Change-Id: Ib7683e20160edf0f320a8c6af25f5f74d4f74538 Reviewed-on: https://chromium-review.googlesource.com/1077015 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* tablet_mode: Define common interrupt handler for tablet switchDaisuke Nojiri2018-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | This patch adds an interrupt handler for a tablet switch and an init hook to enable the interrupt. The handler does the typical tasks for convertible devices: 1. sets tablet mode then 2. disables peripherals if tablet mode is on. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:77298177 BRANCH=none TEST=buildall. Verify on Nami. Change-Id: If7fb5ea15f388d2b6084d800d2bc05efafd1945e Reviewed-on: https://chromium-review.googlesource.com/1043057 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* Nami: Add keyboard backlight controlDaisuke Nojiri2018-04-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | This implements keyboard backlight control for Nami, Vayne, Pantheon, and Sona. On Sona, GPIOC4 is directly connected to the LED strings. Thus, we use PWM to control the brightness. On the other variants, the LED strings are connected to LM3509. Thus, we control the brightness through I2C. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:76182445,b:78141647 BRANCH=none TEST=Verify keyboard backlight brightness changes on Nami. Verify keyboard backlight turns on/off on lid close/open, sleep/suspend. on Nami. Verify 'kblight' returns x set by 'kblight x' on Sona. Change-Id: I400ea2bc7a58a3cc57eb959179d2139a99ac176c Reviewed-on: https://chromium-review.googlesource.com/1022833 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Aaron Durbin <adurbin@google.com>
* Nami: Control LEDs for Nami/Vayne/SonaDaisuke Nojiri2018-04-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nami/Vayne uses a dual color LED to show power/charge status as follows: Charging Amber on (S0/S3/S5) Charging (full) White on (S0/S3/S5) Discharge in S0 White on Discharge in S3/S0ix Pulsing (rising for 2 sec , falling for 2 sec) Discharge in S5 Off Battery Error Amber on 1sec off 1sec Sona - Battery LED (dual color) AC is attached Solid ON White charging Solid ON Amber Discharge in S0 Off Battery Error Blinking white (0.5 sec On and 0.5 sec Off) Discharge in S3 Blinking white (1 sec On, 1 sec off regardless AC status) fuel < 10% Blinking white (1 sec On, 1 sec Off) Sona - Power LED (single color) System S0 Soliid On System S3 1 second on, 1 second off System S4/S5 Off Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:74940319,b:77941051,b:73999799 BRANCH=none TEST=Verify LED behaviors in S3, S0, charge, discharge on Nami and Sona Change-Id: I55b40742135a49f48044f561eb2dbd82b5556d07 Reviewed-on: https://chromium-review.googlesource.com/1011293 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Nami: Enable Analogix USB-C portDaisuke Nojiri2018-04-131-1/+1
| | | | | | | | | | | | | | | Auto-toggling is currently disabled due to b/77544959. BUG=b:73793947 CQ-DEPEND=CL:988414 BRANCH=none TEST=Boot Nami. Verify PD power is negotiated and bettery is charged with a Zinger through the Analogix port. Change-Id: Ie817883027eb8623a8115aa8194fe4df50c3ce72 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/969989 Reviewed-by: Scott Collyer <scollyer@chromium.org>
* Nami: Disable one USB-C portDaisuke Nojiri2018-03-091-1/+1
| | | | | | | | | | | | | | | | The TCPC of the left USB-C port is being swapped with Anx7447. This patch temporarily disables the port so that the boot is not inhibited by running a wrong driver on the port. BUG=b:73793947 BRANCH=none TEST=Boot Nami with/without battery. Verify it can be charged through the right port. Change-Id: I30b63f87cb3669c38a04e908b6556eef1424fbd7 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/957814 Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* Nami: trigger type of LCD backlightElmo_Lan2018-01-241-1/+1
| | | | | | | | | | | | | | | Modify for low active design. BUG=b:71839295 BRANCH=none TEST=Verify Nami LCD backlight turn on. Change-Id: I26f1e744921da5fa62f5f561fd6d16a76f2c5f4e Signed-off-by: Elmo_Lan <elmo_lan@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/861583 Commit-Ready: Elmo Lan <elmo_lan@compal.corp-partner.google.com> Tested-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Nami: Update WiFi pin defineElmo_Lan2018-01-111-1/+1
| | | | | | | | | | | | | | | | Made gpio.inc match the schematic. BUG=b:71693050 BRANCH=none TEST=Verify Nami connect Wifi. Change-Id: I72268e507c026bdec517660d6e106ea5639eff64 Signed-off-by: Elmo_Lan <elmo_lan@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/856377 Commit-Ready: Jeremy Lin <jeremy.p.lin@intel.com> Tested-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com>
* Nami: Update board directoryDaisuke Nojiri2018-01-021-95/+91
| | | | | | | | | | | | | | | Made board.c, board.h, gpio.inc match the schematics. Sensors anren't implemented. BUG=b:70157960 BRANCH=none TEST=Verify Nami boots to S0. Change-Id: Id8c800c8b78c66d558e0f664b54d47c4c808f643 Reviewed-on: https://chromium-review.googlesource.com/831121 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* Nami: Derive board files from NautilusDaisuke Nojiri2017-12-271-61/+73
| | | | | | | | | BUG=b:70157960 BRANCH=none TEST=make buildall Change-Id: Iecbca185a3575818892f66f988ad36b0b175f317 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
* nami: initial setup for ecYH Lin2017-11-291-0/+111
Add initial files for nami from fizz, to be revised later. BUG=b:69628538 TEST=None BRANCH=None CQ-DEPEND=CL:782239 Change-Id: I910a8fc9603471d5de0b34ca5888fff147f9cd6f Signed-off-by: YH Lin <yueherngl@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/783557 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>