Whatever the issue was appears to be fixed after rebasing coreboot on
the 4.19 release. lemp11 has successfully reached S0ix with SLP_S0#
asserted when booted on battery power for 100 cycles.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Groups 1, 3, and 4 require explicitly enabling the wake-up function
before unmasking them in INTC.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
- fmt: Apply clang-format
- list-boards: list of available build targets
- help: Short description of make targets
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Install a hook to run lints at pre-commit to force issues to be fixed
during development.
This introduces a 5-10 second delay when committing due to how slow
clang-format is.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Rewrite lint scripts to report what they do and if they pass. In the
case they fail list the files that caused the failure, except for
clang-format, which will be slow to run of every file individually
(should just run `make fmt` anyway). Also add a script to run all the
lints in order with a single command.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Default to silent builds, only outputting the file being generated. This
gives output similar to Linux/coreboot output when building. `VERBOSE=1`
can be passed to show the actual commands.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
SDCC supports the `-MMD` option. Use it instead of having every file
depend on *all* the headers. Reduces incremental build time after
modifying headers as it will now only rebuild the actual dependents and
not the entire project.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Compiling the Arduino targets with GCC 12 fails with the following:
error: array subscript 0 is outside array bounds of 'volatile uint8_t[0]' {aka 'volatile unsigned char[]'} [-Werror=array-bounds]
Apply the workaround from the bug discussion to fix it.
Ref: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Specify abbrev so the version string is the same across systems with
different values for core.abbrev.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Per the SDCC manual, the object that declares main must be passed first
to the linker. The resulting binary is identical, and this has not
caused a problem yet, so I'm unsure how "required" this is.
Ref: Section 3.2.3 Projects with Multiple Source Files
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Allow specifying asm files the same way C files are added:
board-common-y += foo.asm
The file must use an `.asm` extension. The toolchain file filters the
sources to compile them into objects correctly, as the C compiler
doesn't handle asm files itself.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Update .clang-format for LLVM 14.0, available on Ubuntu 22.04.
There is still plenty that clang-format sucks at or does wrong, so
either add some more blocks to disable it, or just put up with it.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
A board may use either the LPC bus or the eSPI bus. Only include eSPI
support for boards that use it.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
If the board is on AC power when powered off the EC will not reset, and
WLAN power will not be enabled on next boot. Move enabling WLAN from
`board_init()` to `power_on()`.
Fixes: be4659a0cb ("Set wireless power at init and power off")
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Add a new wireless object for controlling WLAN power state. Change the
power sequence to enable WLAN at board init and disable it at power off.
Newer galp5 units sold to customers have an issue where they do not
fully power off. This is apparently somehow caused by `WLAN_PWR_EN`.
The unit received for development do not have this issue.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
EC_VARIANT is only used on AVR as a parameter to avrdude.
Replace its use on ITE with 2 choices:
- CONFIG_EC_ITE_IT8587E
- CONFIG_EC_ITE_IT5570E
Replace the EC defines with a matching define for the variable.