mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-30 02:20:48 +00:00
2da2e72dd31c592fd3946b03eb927e8616a62808
This is needed to support the kernel keyboard backlight driver through ACPI.
Also adds a few other memory addresses for testing this interface -
version, test, and test-compliment.
BUG=chrome-os-partner:12001
TEST=manual
- query next ACPI event
io_write8 0x66 0x84
io_read8 0x62
0x00
- read ACPI memmap version
io_write8 0x66 0x80
io_write8 0x62 0
io_read8 0x62
0x01
- extra command writes shouldn't crash
io_write8 0x66 0x80
io_write8 0x66 0x80
io_write8 0x62 1
- extra data writes shouldn't crash either
io_write8 0x62 1
io_write8 0x62 1
- write test address
io_write8 0x66 0x81
io_write8 0x62 1
io_write8 0x62 0x2a
- read it back
io_write8 0x66 0x80
io_write8 0x62 1
io_read8 0x62
0x2a
- read back test compliment
io_write8 0x66 0x80
io_write8 0x62 2
io_read8 0x62
0xd5
- set keyboard backlight to 50%
io_write8 0x66 0x81
io_write8 0x62 3
io_write8 0x62 50
- read it back
io_write8 0x66 0x80
io_write8 0x62 3
io_read8 0x62
0x32
Change-Id: I619fdbd322cdef8ffffbb882b3bbb587e364334d
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/28714
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
- EC Lib
This wraps Blizzard driverlib and implements the EC chip interface defined
by Google. See below diagram for architecture.
+--------------------+
| Host BIOS/OS |
+--------------------+
---- host interface ----
+--------------------+
| Google EC features |
+--------------------+
---- chip interface ---- The interface is defined in
src/platform/ec/chip_interface/*.
+--------------------+ But the real implementation is in EC Lib.
| EC Lib |
+--------------------+
| Blizzard low level |
| driver, the |
| driverlib. |
+--------------------+
Build Options
=============
- CONFIG_WATCHDOG_HELP
Try to detect a watchdog that is about to fire, and print a trace.
This is needed on STM32, where the independent watchdog has no early
warning feature and the windowed watchdog has a very short period.
- CONFIG_PANIC_NEW_STACK
When reporting a panic, change to a completely new stack. This might
help get a useful trace out a situation where the stack or stack
pointer has been corrupted.
- CONFIG_PANIC_HELP
Report extra information about a panic, such as the fault address,
here shown as bfar. This shows the reason for the fault and may help
to determine the cause.
=== EXCEPTION: 03 ====== xPSR: 01000000 ===========
r0 :0000000b r1 :00000047 r2 :60000000 r3 :200013dd
r4 :00000000 r5 :080053f4 r6 :200013d0 r7 :00000002
r8 :00000000 r9 :200013de r10:00000000 r11:00000000
r12:00000000 sp :200009a0 lr :08002b85 pc :08003a8a
Precise data bus error, Forced hard fault, Vector catch, bfar = 60000000
mmfs = 00008200, shcsr = 00000000, hfsr = 40000000, dfsr = 00000008
- CONFIG_ASSERT_HELP
Report assertion failures in a vebose manner to aid debugging. When
enabled an ASSERT() which fails will produce message in the form:
ASSERTION FAILURE '<expr>' in function() at file:line
Description
Languages
C
64.7%
Lasso
20.7%
ASL
3.6%
JavaScript
3.2%
C#
2.9%
Other
4.6%