Status Update
Comments
to...@google.com <to...@google.com> #2
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #4
commit e4ac1eccf0920f53c1e3532b7ccbc3155c178508
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Feb 27 00:49:16 2019
uldivmod.S: fix assembly so that it compiles with clang
Compared the disassembly between compiling with gcc before this change
and compiling with clang after the change:
arm-none-eabi-objdump --disassemble
build/nocturne_fp/RW/core/cortex-m/uldivmod.o
--- gcc-uldivmod.txt 2019-02-12 14:54:47.283162092 -0800
+++ clang-uldivmod.txt 2019-02-12 14:52:50.098690222 -0800
@@ -103,5 +103,5 @@
000000b8 <__aeabi_ldiv0>:
b8: 4c01 ldr r4, [pc, #4] ; (c0 <__aeabi_ldiv0+0x8>)
ba: f7ff fffe bl 0 <exception_panic>
- be: 0000 .short 0x0000
+ be: bf00 nop
c0: dead6660 .word 0xdead6660
BRANCH=nocturne,nami
BUG=chromium:931797
TEST=compare disassembly (see above)
Change-Id: I9ab7eb18ffa9bf3e319cdd1f81047577218a0dad
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
[modify]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #5
commit 0907090490b07357902927f089228d63a775cdf0
Author: Tom Hughes <tomhughes@chromium.org>
Date: Sat Mar 09 05:20:51 2019
cortex-m: fix vecttable.c when compiling with clang
Text section name is adding ",\"a\" @" to the section name.
arm-none-eabi-objdump --disassemble-all \
./build/nocturne_fp/RO/core/cortex-m/vecttable.o
Before:
Disassembly of section .text.vecttable,"a" @:
00000000 <vectors>:
...
After:
Disassembly of section .text.vecttable:
00000000 <vectors>:
...
Comparing the text.vecttable elf section headers for gcc before and
after this change, there is no difference to flags:
arm-none-eabi-objdump -h \
./build/nocturne_fp/RO/core/cortex-m/vecttable.o
.text.vecttable 00000298 00000000 00000000 00000050 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
One difference when compiling with clang is that it sets the DATA
attribute in the header, while gcc sets CODE. Since this is an array of
addresses, not executable code, I think clang is actually correct:
.text.vecttable 00000298 00000000 00000000 00000060 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
BRANCH=nocturne,nami
BUG=chromium:931797
TEST=make buildall -j
Change-Id: I16e57ccd988a8644ed179bed057647c16e96e134
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
[modify]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #6
commit f824e2abc5763fb9aaa5d0e17a9d2f29223138b5
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Jun 10 22:01:58 2019
Makefile.rules: use CFLAGS instead of CPPFLAGS
CPPFLAGS are flags for the preprocessor, not the C compiler.
clang warns when linking that we don't have the blx instruction:
lld.real: warning: lld uses blx instruction, no object with architecture
supporting feature detected
but this is because the linker command was not being passed the correct
architecture because it was missing the CFLAGS that specified them:
Before:
"/usr/bin/clang-8" -cc1as -triple armv4t-none-unknown-eabi
After:
"/usr/bin/clang-8" -cc1as -triple thumbv7em-none-unknown-eabi
BRANCH=nocturne,nami
BUG=chromium:931797
TEST=make buildall -j
TEST=revert change
rm -rf build && make buildall -j | grep 'bytes in flash and' | \
| sort > build.before
=> apply change
rm -rf build && make buildall -j | grep 'bytes in flash and' | \
| sort > build.after
diff build.before build.after
=> no difference
Change-Id: I6401b60fa3721c441df126f69634a13d6c7c06fe
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
[modify]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #7
commit 9c0e1fb1484fbe52bf60ea344e8a8dbd7ae08f5e
Author: Tom Hughes <tomhughes@chromium.org>
Date: Sat Jun 15 02:50:39 2019
core/cortex-m: get_interrupt_context is only used inside CONFIG_TASK_PROFILING
get_interrupt_context is only called from code inside #ifdef
CONFIG_TASK_PROFILING.
clang emits an unused function warning for this:
core/cortex-m/task.c:238:19: error: unused function
'get_interrupt_context' [-Werror,-Wunused-function]
static inline int get_interrupt_context(void)
BRANCH=none
BUG=chromium:931797
TEST=make buildall -j
Change-Id: I5ba68d1a58a966eeecb5abdb3cb87fa2684f359b
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
[modify]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #8
commit bb9122dbca0b94916535d5c01f8e9ba07424316c
Author: Tom Hughes <tomhughes@chromium.org>
Date: Sat Jun 15 02:50:41 2019
util: Enable -Wstrict-prototypes for ftdi.h
The pragma is missing a push before the ignore line, which means as it
was written the warning continued to be disabled.
clang catches this bug, but gcc doesn't.
util/ec_uartd.c:26:24: error: pragma diagnostic pop could not pop, no
matching push [-Werror,-Wunknown-pragmas]
^
However, it appears we don't even need to disable this warning anymore
since the compilation succeeds without it.
BRANCH=none
BUG=chromium:931797
TEST=make buildall -j
Change-Id: I81d48a841cb16d54fe0878b218e80d8a1d89e129
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
[modify]
sc...@google.com <sc...@google.com> #9
ap...@google.com <ap...@google.com> #10
Branch: main
commit 2de3d51b0a32c9f26dea0dd3d430f1f7f9adab41
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Sep 20 23:24:38 2021
test/run_device_tests.py: Allow specifying compiler
Default to using gcc, but allow selecting clang so that we can test it.
BRANCH=none
BUG=b:172020503
TEST=./test/run_device_tests.py --compiler clang --board dartmonkey
--tests sha256 --remote
TEST=./test/run_device_tests.py --board dartmonkey
--tests sha256 --remote
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I3cfd04825df8cac54fbee1ba1b084ea581e62e53
Reviewed-on:
Reviewed-by: Craig Hesling <hesling@chromium.org>
Reviewed-by: Patryk Duda <patrykd@google.com>
M test/run_device_tests.py
ap...@google.com <ap...@google.com> #11
Branch: main
commit c1cc2d919e9f21adc0f992dcac00f6e8b282616d
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Sep 20 17:59:26 2021
core/cortex-m: Disable warning in vecttable.c when building with clang
The vecttable logic explicitly routes unused IRQs to IRQ_UNUSED_OFFSET,
and then assigns it to "null" at the very end. The result is something
like:
[8] = __attribute__((used, weak, alias("default_handler")))
irq_55_handler(void);
[8] = __attribute__((used, weak, alias("default_handler")))
irq_56_handler(void);
...
[8] = (void*)0
This is intentional so that it works with a varying values for
CONFIG_IRQ_COUNT.
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I3ba4eeaa46cd2c50c65c922f4c0c463ce1bb585e
Reviewed-on:
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
M core/cortex-m/vecttable.c
ap...@google.com <ap...@google.com> #12
Branch: main
commit 541e3dee10752720c2bba7e4d81544eaa284bfc6
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Sep 21 23:46:51 2021
test/utils: Switch to run-time test to fix clang build
The BUILD_ASSERT that was used fails to compile with clang:
error: static_assert expression is not an integral
constant expression
BUILD_ASSERT(str1 != str3)
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
TEST=./test/run_device_tests.py --board dartmonkey --compiler clang
--tests=utils --remote
TEST=./test/run_device_tests.py --board dartmonkey --compiler gcc
--tests=utils --remote
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Id93ea45b653b86fd5a79ed565e1fa94ffd317723
Reviewed-on:
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
M test/utils.c
ap...@google.com <ap...@google.com> #13
Branch: main
commit 87798ac80d69e1ec173c94eaa76e4a142cb16ad6
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Sep 23 22:33:13 2021
chip/mt_scp: Fix return type
clang complains that the types do not match:
chip/mt_scp/mt8183/ipi.c:349:9: error: implicit conversion from
enumeration type 'enum ec_error_list' to different enumeration type
'enum ec_status' [-Werror,-Wenum-conversion]
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
TEST=CC=arm-none-eabi-clang make BOARD=kukui_scp -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I14e850f5e2ace5c3f3e59c7bc2aa90b3eaf92a9d
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
M chip/mt_scp/mt8183/ipi.c
ap...@google.com <ap...@google.com> #14
Branch: main
commit fe015a6df72349c3cf654ea3eb80b46e52b10e1e
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Sep 24 18:16:35 2021
core: Add forward declaration for IRQ handler routine
clang warns when attribute declarations do not precede definitions:
error: attribute declaration must precede
definition [-Werror,-Wignored-attributes]
The cortex-m/irq_handler.h file uses the "__keep" attribute on
"routine". The declaration with the attribute must come before the
definition or the compiler will ignore it. This results in link errors
when using LTO with lld since it is optimized out. In order to fix this,
the DECLARE_IRQ instances must be moved before the function definitions.
However, if DECLARE_IRQ instances are moved without this change, we will
get an implicit declaration compiler error:
error: implicit declaration of function 'uart_interrupt'
This change does not change the resulting output as verified by the
"compare_builds.sh" script.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_builds.sh -b all -j 70
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Icb282cb0f0a0557d6bc1d184378c5923d0e3a72d
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M core/nds32/irq_handler.h
M core/riscv-rv32i/irq_handler.h
M core/host/irq_handler.h
M core/cortex-m0/irq_handler.h
ap...@google.com <ap...@google.com> #15
Branch: main
commit a721dce648ced6c460c619f7ff556491aa5ed88a
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Sep 24 20:28:11 2021
core/cortex-m0: Fix assembly
When compiling with clang, the following error is reported:
core/cortex-m0/switch.S:107:12: error: unknown token in expression
ldr r0, =#0xe000ed04 @ load 0xe000ed04's address
^
This change fixes the syntax, which generates the identical output
before and after the change:
/opt/coreboot-sdk/bin/arm-eabi-objdump -d
build/servo_micro/RW/core/cortex-m0/switch.o
0000006a <pendsv_handler>:
6a: b508 push {r3, lr}
6c: 4807 ldr r0, [pc, #28] ; (8c <pendsv_handler+0x22>)
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 70
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I379510f7aa00f61ae24ae8463c49d9cd3b832752
Reviewed-on:
Reviewed-by: Patryk Duda <patrykd@google.com>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M core/cortex-m0/switch.S
ap...@google.com <ap...@google.com> #16
Branch: main
commit dcd24535cf751fcdaa7c5f025c2e54705e4053f3
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Sep 23 22:28:52 2021
chip/mt_scp: Declaration needs to come before definition
We are already disabling -Wignored-attributes to work around the
declaration and definition order issue:
error: attribute declaration must precede
definition [-Werror,-Wignored-attributes]
However, although there are no compiler errors, the linker (lld) will
still fail:
ld.lld: error: undefined symbol: clock_control_irq
>>> referenced by clock.c:347
(src/platform/ec/chip/mt_scp/mt8183/clock.c:347)
>>> lto.tmp:(irq_13_handler)
...
ld.lld: error: undefined symbol: clock_fast_wakeup_irq
>>> referenced by clock.c:355
(src/platform/ec/chip/mt_scp/mt8183/clock.c:355)
>>> lto.tmp:(irq_44_handler)
Tested with the compare_build.sh script to validate that the resulting
binaries are identical.
BRANCH=none
BUG=b:172020503
TEST=CC=arm-none-eabi-clang make BOARD=kukui_scp -j
TEST=./util/compare_build.sh --boards all -j 50
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ib622fb98784a4c3ad3c199c72ee7604c7f709d6c
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
M chip/mt_scp/mt8183/hrtimer.c
M chip/mt_scp/mt8183/uart.c
M chip/mt_scp/mt8183/ipi.c
M chip/mt_scp/mt8183/clock.c
ap...@google.com <ap...@google.com> #17
Branch: main
commit b95efb8c5013d629201ff01646c4eebb7144c31d
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Sep 21 23:33:00 2021
test/rollback_entropy: Add __maybe_unused to arrays
Clang warns that "_EXPECTED_SECRET is not needed and will not be
emitted". The same warning occurs for _EXPECTED_SECRET2, and
_EXPECTED_UNINITIALIZED_ROLLBACK_SECRET. While this is true, we still
want the BUILD_ASSERT() evaluated at compile time, so mark it as
"__maybe_unused" to suppress the warning.
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
TEST=make BOARD=dartmonkey tests -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I6ab0f4070654e74c1c8ef5d1ba7b125d490633f7
Reviewed-on:
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
M test/rollback_entropy.c
ap...@google.com <ap...@google.com> #18
Branch: main
commit b748354c51299aac2e3d6a339e3efd61853eefaa
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Sep 20 22:37:06 2021
chip/stm32: Make function definition and declaration match
"test_mockable_static" is static, but the declaration created by
DECLARE_IRQ is not static. The mismatch generates a compiler warning
when building with clang:
chip/stm32/clock-f.c:325:6: error: unused function '__rtc_alarm_irq'
[-Werror,-Wunused-function]
void __rtc_alarm_irq(void)
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I39e2de93b057b5565c54ffb83e1633a13db1ce46
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M chip/stm32/clock-f.c
M chip/stm32/clock-stm32l4.c
ap...@google.com <ap...@google.com> #19
Branch: main
commit 5c59fb8b6228f6d17ab0c335614e6564863ff7a5
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Sep 28 23:54:08 2021
driver: Remove unused function
When compiling with clang it warns that the function is unused:
driver/accelgyro_lsm6dsm.c:45:29: error: unused function 'get_fifo_type'
[-Werror,-Wunused-function]
static inline enum dev_fifo get_fifo_type(const struct motion_sensor_t
*s)
BRANCH=none
BUG=b:172020503
TEST=make CC=clang V=1 BOARD=arcada_ish
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ibc52e25a2f750e8da8335e7835475db7a5d42670
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M driver/accelgyro_lsm6dsm.c
ap...@google.com <ap...@google.com> #20
Branch: main
commit 24937cec544935e50fa691c1187f2e4154cde95a
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Sep 28 22:49:34 2021
chip/ish: Fix return type
clang warns that the types do not match:
chip/ish/host_command_heci.c:140:9: error: implicit conversion from
enumeration type 'enum ec_error_list' to different enumeration type
'enum ec_status' [-Werror,-Wenum-conversion]
return EC_SUCCESS;
BRANCH=none
BUG=b:172020503
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ief6c5ecb4a6850a5560357f6f9c7cb7c5bd22797
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M chip/ish/host_command_heci.c
ap...@google.com <ap...@google.com> #21
Branch: main
commit 2ccb1e3e8b04a78ad0091a82473164a5b093ca0f
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Sep 29 00:03:19 2021
core/minute-ia: Remove .func and .endfunc
.func and .endfunc were used to emit STABS debug information (not
DWARF). These only have an effect with -gstabs, which we're not using. I
suspect their inclusion was not intentional.
STABS is not supported when building with clang, so it generates the
following errors:
core/minute-ia/switch.S:27:1: error: unknown directive
.func __task_start
^
core/minute-ia/switch.S:42:1: error: unknown directive
.endfunc
See
As indicated by the TEST line, the output is indentical before and after
this change.
BRANCH=none
BUG=b:172020503
TEST=make CC=clang V=1 BOARD=arcada_ish
TEST=./util/compare_build.sh -b all -j 70
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I1e1e5f57fb382797e01dcf797d72de0468150054
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
M core/minute-ia/switch.S
ap...@google.com <ap...@google.com> #22
Branch: main
commit 31baa7449eacf1285219b29bf81a7cbe8239e10d
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Sep 28 23:55:52 2021
core/minute-ia: Fix inline asm
clang produces the following warning:
core/minute-ia/panic.c:119:19: error: variable 'eax' is uninitialized when used
here [-Werror,-Wuninitialized]
pdata->x86.eax = eax;
^~~
core/minute-ia/panic.c:109:23: note: initialize the variable 'eax' to silence
this warning
register uint32_t eax asm("eax");
When specifying registers for local variables they need to be specified as
constraints on an asm block:
In this case we simply use an empty asm block since we're just trying to
extract the values of the registers.
As indicated by the TEST line, the output is identical before and after
this change.
BRANCH=none
BUG=b:172020503
TEST=make CC=clang V=1 BOARD=arcada_ish
TEST=./util/compare_build.sh -b all -j 70
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I6fbd7061d9af734f02ec3dbb1329cdffac5e2a7d
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M core/minute-ia/panic.c
ap...@google.com <ap...@google.com> #23
Branch: main
commit 506dcb5e5b2aa1d4864a98972540ad95396ef372
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Sep 29 23:40:39 2021
common/motion_sense: Avoid comparison between negative value and unsigned char
clang fails to compile due to the following:
common/motion_sense.c:1123:34: error: result of comparison of constant -1
with expression of type 'const uint8_t' (aka 'const unsigned char') is
always false [-Werror,-Wtautological-constant-out-of-range-compare]
(in->sensor_odr.sensor_num ==
~~~~~~~~~~~~~~~~~~~~~~~~~ ^
common/motion_sense.c:1454:27: error: result of comparison of constant -1
with expression of type 'const uint8_t' (aka 'const unsigned char') is
always false [-Werror,-Wtautological-constant-out-of-range-compare]
in->spoof.sensor_id == MOTION_SENSE_ACTIVITY_SENSOR_ID) {
~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As indicated by the TEST line, the output is identical before and after
this change.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 90
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ieb55b385dfe9e07a8a7098ac3b456a0504215d94
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M common/motion_sense.c
ap...@google.com <ap...@google.com> #24
Branch: main
commit 82393ec1c3c8a9d3e98cfccb52622d7af577427d
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Sep 23 21:04:08 2021
core: Add assert to check alignment
Assert that the RW image size padding adding results in correct
alignment. This assertion will make it easier to verify future clang
changes.
BRANCH=none
BUG=b:172020503, b:188117811
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ibdc6feaf31cf271f67594ae1e519272fd9a88cd4
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M core/cortex-m0/ec.lds.S
M core/nds32/ec.lds.S
M core/riscv-rv32i/ec.lds.S
M core/minute-ia/ec.lds.S
M core/cortex-m/ec.lds.S
ap...@google.com <ap...@google.com> #25
Branch: main
commit 533640b6d2ce1189b8c0559ec69e1d64202d2c8b
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 01 21:14:13 2021
board/burnet: Fix enum type
"enum ec_led_colors" was used here instead of "enum led_color".
Fixes the following clang warning:
board/burnet/led.c:85:28: error: implicit conversion from enumeration type
'enum led_color' to different enumeration type 'enum ec_led_colors'
[-Werror,-Wenum-conversion]
rv = led_set_color_power(color);
~~~~~~~~~~~~~~~~~~~ ^~~~~
board/burnet/led.c:112:23: error: implicit conversion from enumeration type
'enum led_color' to different enumeration type 'enum ec_led_colors'
[-Werror,-Wenum-conversion]
led_set_color_power(LED_WHITE);
~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~
board/burnet/led.c:115:25: error: implicit conversion from enumeration type
'enum led_color' to different enumeration type 'enum ec_led_colors'
[-Werror,-Wenum-conversion]
(power_tick & 0x2) ? LED_WHITE : LED_OFF);
^~~~~~~~~
board/burnet/led.c:115:37: error: implicit conversion from enumeration type
'enum led_color' to different enumeration type 'enum ec_led_colors'
[-Werror,-Wenum-conversion]
(power_tick & 0x2) ? LED_WHITE : LED_OFF);
^~~~~~~
board/burnet/led.c:117:23: error: implicit conversion from enumeration type
'enum led_color' to different enumeration type 'enum ec_led_colors'
[-Werror,-Wenum-conversion]
led_set_color_power(LED_OFF);
~~~~~~~~~~~~~~~~~~~ ^~~~~~~
BRANCH=none
BUG=b:172020503
TEST=CC=arm-none-eabi-clang BOARD=burnet -j
TEST=./util/compare_build.sh -b all
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ie530c1cd3603652748349a65f80242694884f6b1
Reviewed-on:
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M board/burnet/led.c
ap...@google.com <ap...@google.com> #26
Branch: main
commit 90bbe7d16a96041dc7ddb4ababeaf6b079c3d5b7
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Sep 30 16:53:08 2021
driver/charger: Remove unused functions
When building with clang it warns:
driver/charger/isl923x.c:116:34: error: unused function 'raw_read8'
[-Werror,-Wunused-function]
static inline enum ec_error_list raw_read8(int chgnum, int offset,
int *value)
driver/charger/isl923x.c:137:34: error: unused function 'raw_update16'
[-Werror,-Wunused-function]
static inline enum ec_error_list raw_update16(int chgnum, int offset,
int mask,
raw_update16 is only used in some configurations; remove ifdefs from
callers. raw_read8 is not used at all, so it is removed.
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=elm -j
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Iaabdc5f4dfe8d6ad8a8ee5d157f284fff1ed676d
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M driver/charger/isl923x.c
ap...@google.com <ap...@google.com> #27
Branch: main
commit 9c426e6dfd696b464df214fbe0ff9656e22c385b
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 01 22:42:49 2021
chip/stm32: remove unused variable
clang warns:
ip/stm32/usb_hid_keyboard.c:378:21: error: unused variable 'hid_current_buf'
[-Werror,-Wunused-variable]
static volatile int hid_current_buf;
^
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I88b424cbc8930bf2d7d6c0856d81104cbd4d3561
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M chip/stm32/usb_hid_keyboard.c
ap...@google.com <ap...@google.com> #28
Branch: main
commit 55fb1fd6ce8be3d631676af742093db5db0ac239
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 01 22:46:00 2021
common/base_state: Fix enum type
common/base_state.c:65:9: error: implicit conversion from enumeration type
'enum ec_error_list' to different enumeration type 'enum ec_status'
[-Werror,-Wenum-conversion]
return EC_SUCCESS;
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=kakadu
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I7ad0b349270d00a1156462aa32ad19f342b6db61
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M common/base_state.c
ap...@google.com <ap...@google.com> #29
Branch: main
commit da8ee87beffce45ee62fc94227aa48170994fbd5
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 01 22:38:34 2021
board/fluffy: Don't use uninitialized variables
clang warns:
board/fluffy/board.c:263:2: error: variable 'c0' is used uninitialized whenever
switch default is taken [-Werror,-Wsometimes-uninitialized]
default:
^~~~~~~
board/fluffy/board.c:269:17: note: uninitialized use occurs here
gpio_set_level(c0, val & BIT(0));
^~
board/fluffy/board.c:240:2: note: variable 'c0' is declared here
enum gpio_signal c0;
^
board/fluffy/board.c:263:2: error: variable 'c1' is used uninitialized whenever
switch default is taken [-Werror,-Wsometimes-uninitialized]
default:
^~~~~~~
board/fluffy/board.c:270:17: note: uninitialized use occurs here
gpio_set_level(c1, val & BIT(1));
^~
board/fluffy/board.c:241:2: note: variable 'c1' is declared here
enum gpio_signal c1;
^
board/fluffy/board.c:263:2: error: variable 'c2' is used uninitialized whenever
switch default is taken [-Werror,-Wsometimes-uninitialized]
default:
^~~~~~~
board/fluffy/board.c:271:17: note: uninitialized use occurs here
gpio_set_level(c2, val & BIT(2));
^~
board/fluffy/board.c:242:2: note: variable 'c2' is declared here
enum gpio_signal c2;
^
BRANCH=none
BUG=b:172020503
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ie05c31a9f6be8e92d0a8904fe6c20e38ced09e67
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M board/fluffy/board.c
ap...@google.com <ap...@google.com> #30
Branch: main
commit cac9cc4b472547f84efd7afb551a6af60f4e130f
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 04 21:06:22 2021
chip/npcx: Fix enum type
clang reports that the enum types do not match:
chip/npcx/lpc.c:967:9: error: implicit conversion from enumeration type
'enum ec_error_list' to different enumeration type 'enum ec_status'
[-Werror,-Wenum-conversion]
return EC_SUCCESS;
common/power_button_x86.c:523:9: error: implicit conversion from enumeration
type 'enum ec_error_list' to different enumeration type 'enum ec_status'
[-Werror,-Wenum-conversion]
return EC_SUCCESS;
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=aleena
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I25d1526d58e1e8558153592be7174a8448c130f5
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M common/power_button_x86.c
M chip/npcx/lpc.c
ap...@google.com <ap...@google.com> #31
Branch: main
commit 228cc80d943d33fe31007736da45db8f1a0ac15d
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 01 23:16:46 2021
board/zinger: fix compiler error when building with clang
When compiling with clang, it reports the following error:
board/zinger/runtime.c:271:2: error: non-ASM statement in naked function is not
supported
cpu_reset();
^
board/zinger/runtime.c:258:43: note: attribute is here
void exception_panic(void) __attribute__((naked));
This is a partial revert of commit
28c034e69e6610602ef592b89476ce48e7ce58e8. Instead of replacing the "b
cpu_reset" with a C call to cpu_reset(), change to "bl cpu_reset", which
is the same thing.
The code generated by gcc for exception_panic is the same before and
after this change:
00000000 <exception_panic>:
0: 4b04 ldr r3, [pc, #16] ; (14 <exception_panic+0x14>)
2: 1c18 adds r0, r3, #0
4: 466b mov r3, sp
6: 6999 ldr r1, [r3, #24]
8: 695a ldr r2, [r3, #20]
a: f7ff fffe bl 0 <debug_printf>
e: f7ff fffe bl 0 <exception_panic>
12: 46c0 nop ; (mov r8, r8)
14: 00000000 .word 0x00000000
BRANCH=none
BUG=b:172020503, b:172343310
TEST=make CC=arm-none-eabi-clang BOARD=zinger -j
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I590ba4d2caabc77f04288d9f566286e87d08df02
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M board/zinger/runtime.c
ap...@google.com <ap...@google.com> #32
Branch: main
commit 036cda45bba9fca0137add1d8693a264ba686d71
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 04 22:14:20 2021
tree: Fix LED enum type
"enum ec_led_colors" was used here instead of "enum led_color".
Fixes the following clang warning:
error: implicit conversion from enumeration type
'enum led_color' to different enumeration type 'enum ec_led_colors'
[-Werror,-Wenum-conversion]
This is the same fix as commit 533640b6d2ce1189b8c0559ec69e1d64202d2c8b,
but this should fix all instances. These usages were found with:
git grep --name-only 'enum led_color' | xargs grep ec_led_colors
As indicated by the TEST line, all boards match with this change, except
for bloog since it uses the incorrect enum in two places.
BRANCH=none
BUG=b:172020503
TEST=CC=arm-none-eabi-clang BOARD=<affected board>
TEST=./util/compare_build.sh -b all -j 120
=> All match except bloog
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I75cff3769d5b3b82b9218bfb8584f449fb6a781f
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
M board/anahera/led.c
M board/bloog/led.c
M board/haboki/led.c
M board/morphius/led.c
M board/gumboz/led.c
M board/drawcia/led.c
M board/lantis/led.c
M board/redrix/led.c
M board/jinlon/led.c
ap...@google.com <ap...@google.com> #33
Branch: main
commit d7995163073a06e63aa1e48ed7f9a5cb8e1d6fd3
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 04 21:46:21 2021
include/power: Fix header guard typo
When building with clang:
In file included from board/ambassador/board.c:30:
include/power/cometlake-discrete.h:11:9: error:
'__CROS_EC_COMETLAKE_DISCRETE_H' is used as a header guard here,
followed by
include/power/cometlake-discrete.h:12:9: note:
'__CROS_EC_COMETLATE_DISCRETE_H'
is defined here; did you mean '__CROS_EC_COMETLAKE_DISCRETE_H'?
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=ambassador
TEST=./util/compare_build.sh -b all -j 70
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I4cda48bc44720ee7ee59e558bf00f26059e58345
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M include/power/cometlake-discrete.h
ap...@google.com <ap...@google.com> #34
Branch: main
commit 4f116d6472909632871f38cabc63c9d35249ec5e
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 04 21:17:41 2021
driver/led: Remove unused function
Building with clang:
driver/led/lm3630a.c:23:19: error: unused function 'lm3630a_read'
[-Werror,-Wunused-function]
static inline int lm3630a_read(uint8_t reg, int *val)
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=aleena
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: If4a26261d41f470c2cb86208e3c1eaada0b2ff3e
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M driver/led/lm3630a.c
ap...@google.com <ap...@google.com> #35
Branch: main
commit e88b7ee9aedbcf84dcb220db7244d6411e7f7318
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 05 23:27:27 2021
tree: Remove CONFIG_RO_HEAD_ROOM and CONFIG_RW_HEAD_ROOM
CONFIG_RO_HEAD_ROOM and CONFIG_RW_HEAD_ROOM are always defined as 0, so
remove the values and associated code in order to simplify the code and
improve readability.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ie11d23befda674cc15dda9a2d66b9c43ea22d49e
Reviewed-on:
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
M include/config.h
M common/system.c
M util/config_allowed.txt
M core/cortex-m/ec.lds.S
ap...@google.com <ap...@google.com> #36
Branch: main
commit 8951a455c689fe46f8ade669252dd00654def390
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 05 22:31:44 2021
board/dratini: Fix LED enum type
"enum ec_led_colors" was used here instead of "enum led_color".
Fixes the following clang warning:
error: implicit conversion from enumeration type
'enum led_color' to different enumeration type 'enum ec_led_colors'
[-Werror,-Wenum-conversion]
This is the same fix as commit 036cda45bba9fca0137add1d8693a264ba686d71.
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=dratini
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ide9188bef86b44041cf214405aee9461a3fbd917
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M board/dratini/led.c
ap...@google.com <ap...@google.com> #37
Branch: main
commit 0bd313665801b529d5e0622b802812b78148cd20
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 05 22:13:55 2021
common/usbc: Fix constness
When building with clang, it reports:
common/usbc/usb_prl_sm.c:2304:44: error: 'prl_tx_states' causes a
section type conflict with 'flag_bit_names'
static __const_data const struct usb_state prl_tx_states[] = {
^
common/usbc/usb_prl_sm.c:131:37: note: declared here
static __const_data struct bit_name flag_bit_names[] = {
^
common/usbc/usb_prl_sm.c:2346:44: error: 'prl_hr_states' causes a
section type conflict with 'flag_bit_names'
static __const_data const struct usb_state prl_hr_states[] = {
^
common/usbc/usb_prl_sm.c:131:37: note: declared here
static __const_data struct bit_name flag_bit_names[] = {
^
The issue is that flag_bit_names is not const. When making
flag_bit_names const, we must also make the argument to print_bits const
to fix the additional warning:
common/usbc/usb_prl_sm.c:169:56: error: passing 'const struct bit_name
[11]' to parameter of type 'struct bit_name *' discards qualifiers
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
print_bits(group, set_or_clear ? "Set" : "Clr", flag, flag_bit_names,
^~~~~~~~~~~~~~
common/usbc/usb_prl_sm.c:149:28: note: passing argument to parameter 'names' here
struct bit_name *names,
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=cret
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I95d28f53755dd23fe288ae70055e09fcf44511ad
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
M common/usbc/usb_prl_sm.c
ap...@google.com <ap...@google.com> #38
Branch: firmware-dedede-13606.B-master
commit 1db3d3c5607558eb8c2da6cf064aa686edca72c5
Author: Aseda Aboagye <aaboagye@google.com>
Date: Wed Oct 06 14:41:02 2021
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Relevant changes:
git log --oneline ba7c1f49b..793e9a859 -- baseboard/dedede board/beetley
board/blipper board/boten board/bugzzy board/cret board/drawcia
board/galtic board/kracko board/lantis board/madoo board/magolor
board/metaknight board/pirika board/sasuke board/sasukette board/storo
board/waddledee board/waddledoo board/wheelie common/charge_state_v2.c
common/mkbp_* common/ocpc.c common/usbc/usb_tc_drp_acc_trysrc_sm.c
common/usbc/usb_sm.c common/usbc/*_pd_* common/usbc/dp_alt_mode.c
common/usbc/usb_prl_sm.c common/usbc/usb_pe_drp_sm.c
common/usb_charger.c common/usb_common.c common/usbc_ocp.c
driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.*
driver/tcpm/it83* include/power/icelake.h include/intel_x86.h
power/icelake.c power/intel_x86.c util/getversion.sh
0bd313665 common/usbc: Fix constness
036cda45b tree: Fix LED enum type
90bbe7d16 driver/charger: Remove unused functions
a94daa841 zephyr: charger: Allow multiple (different) chips
BRANCH=None
BUG=b:201602829 b:172020503
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: I5f990b936159bd697f6cfcc7a33f73814164ccb2
ap...@google.com <ap...@google.com> #39
Branch: main
commit cd5940ec26f1ad460c80897ed7f0a1b5efb08fe6
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 07 00:05:10 2021
tree: Use bitwise operator instead of logical operator
When building with clang, it warns:
board/lalala/board.c:819:28: error: use of logical '&&' with constant operand
[-Werror,-Wconstant-logical-operand]
if (adc_key_state_change && ADC_VOL_DOWN_MASK)
^ ~~~~~~~~~~~~~~~~~
board/lalala/board.c:819:28: note: use '&' for a bitwise operation
if (adc_key_state_change && ADC_VOL_DOWN_MASK)
^~
&
board/lalala/board.c:819:28: note: remove constant to silence this warning
if (adc_key_state_change && ADC_VOL_DOWN_MASK)
~^~~~~~~~~~~~~~~~~~~~
The code appears to have been copied to several boards, which were found
with:
git grep --name-only 'adc_key_state_change &&'
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=lalala
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I2c473f27f2ea805c94aab0276049acf8282b6092
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
M board/waddledoo2/board.c
M board/magolor/board.c
M board/lalala/board.c
M board/metaknight/board.c
ap...@google.com <ap...@google.com> #40
Branch: main
commit a802c5db759a7124d97defd4d515e7bd16b0ac17
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 05 21:58:50 2021
board/coral: Fix return type
When compiling with clang it warns:
board/coral/battery.c:689:10: error: implicit conversion from enumeration type
'enum ec_error_list' to different enumeration type 'enum ec_status'
[-Werror,-Wenum-conversion]
return EC_SUCCESS;
board/coral/battery.c:692:10: error: implicit conversion from enumeration type
'enum ec_error_list' to different enumeration type 'enum ec_status'
[-Werror,-Wenum-conversion]
return EC_SUCCESS;
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=coral
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8c30176c3c2568c256de6a826624b1ba711dcc1c
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M board/coral/battery.c
ap...@google.com <ap...@google.com> #41
Branch: main
commit 31b25920f2ca2a8ff2d093056b217fababb9fb68
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 05 17:22:30 2021
chip/npcx: Fix return type
ip/npcx/shi.c:1079:9: error: implicit conversion from enumeration type 'enum
ec_error_list' to different enumeration type 'enum ec_status'
[-Werror,-Wenum-conversion]
return EC_SUCCESS;
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=coachz
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Id83c5d74dfc479f02c0260ac4f0086eab5d901fb
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M chip/npcx/shi.c
ap...@google.com <ap...@google.com> #42
Branch: main
commit 1d4c8b3e2256225b944b03b6fda58743ac0d7b37
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Sep 29 23:00:48 2021
core/minute-ia: Fix inline asm in __isnanf
This function doesn't compile with clang:
core/minute-ia/include/fpu.h:207:10: error: unsupported inline asm:
input with type 'float' matching output with type 'uint16_t' (aka
'unsigned short')
: "0" (v));
^
Change the constraint "v" to match the __isinff function. According to
"v" is "any EVEX encodable SSE register (%xmm0-%xmm31)"
As indicated by the TEST line, the output is identical before and after
this change.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 70
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ia6db458fe4894d65af173c1e7dae34f3d675a4bc
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Rong Chang <rongchang@chromium.org>
M core/minute-ia/include/fpu.h
ap...@google.com <ap...@google.com> #43
Branch: firmware-dedede-13606.B-master
commit 4814ddb47664f62b801458616623e5e83991e3ba
Author: Aseda Aboagye <aaboagye@google.com>
Date: Thu Oct 07 10:51:19 2021
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Relevant changes:
git log --oneline 1db3d3c56..cd5940ec2 -- baseboard/dedede board/beetley
board/blipper board/boten board/bugzzy board/cret board/drawcia
board/galtic board/kracko board/lantis board/madoo board/magolor
board/metaknight board/pirika board/sasuke board/sasukette board/storo
board/waddledee board/waddledoo board/wheelie common/charge_state_v2.c
common/mkbp_* common/ocpc.c common/usbc/usb_tc_drp_acc_trysrc_sm.c
common/usbc/usb_sm.c common/usbc/*_pd_* common/usbc/dp_alt_mode.c
common/usbc/usb_prl_sm.c common/usbc/usb_pe_drp_sm.c
common/usb_charger.c common/usb_common.c common/usbc_ocp.c
driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.*
driver/tcpm/it83* include/power/icelake.h include/intel_x86.h
power/icelake.c power/intel_x86.c util/getversion.sh
cd5940ec2 tree: Use bitwise operator instead of logical operator
14891fcf8 chgstv2: Implement battery protection for low voltage
de506307c bugzzy : set VSN/VSP/VBST
BRANCH=None
BUG=b:198226241 b:172020503 b:198072674
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: Id9827bbff59ca1a662d6c2435930ec1e7b206c91
ap...@google.com <ap...@google.com> #44
Branch: main
commit 7a12f14c2a5e5bc5eb69219b1f354ef0158b2d57
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 07 00:32:15 2021
common/panic_output: Disable infinite recursion warning
When CONFIG_CMD_STACKOVERFLOW is enabled, we explicitly want to perform
infinit recursion, so we disable the warning.
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=npcx7_evb
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ie243834d16ecfc55bf95756d31dc0200892cf275
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M common/panic_output.c
ap...@google.com <ap...@google.com> #45
Branch: main
commit 93830adaf8a499e58953c992208cff34106f05cb
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 05 17:03:15 2021
tree: Fix TEMP_SENSOR3 GPIO declaration
When building with clang, it reports:
board/chronicler/gpio.inc:178:1: error: initializer overrides prior
initialization of this subobject [-Werror,-Winitializer-overrides]
ALTERNATE(PIN(F, 1), 0, MODULE_ADC, 0) /* TEMP_SENSOR3 */
This expands to:
static const struct gpio_alt_func gpio_alt_funcs[] = {
...
{GPIO_PORT_F, (1U << (1)), .func = (0), .module_id = (MODULE_ADC), .flags =
(0)}
};
The problem is that struct gpio_alt_func has the order "module_id, func,
port, mask, flags", so in this case we are setting func to (1U << (1))
and then to (0).
It looks like the intent was to use the PIN_MASK macro instead of PIN,
which expands to:
static const struct gpio_alt_func gpio_alt_funcs[] = {
...
{.port = GPIO_PORT_F, .mask = ((1U << (1))), .func = (0), .module_id =
(MODULE_ADC), .flags = (0)},
};
The code appears to be repeated in several boards, which were found
with:
git grep --name-only TEMP_SENSOR3 | grep gpio.inc | sort | uniq
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=chronicler
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I66a097b761c0b15466a30e53a710d532cd48256c
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M board/chronicler/gpio.inc
M board/collis/gpio.inc
M board/halvor/gpio.inc
M board/lingcod/gpio.inc
M board/voema/gpio.inc
M board/copano/gpio.inc
M board/malefor/gpio.inc
M board/terrador/gpio.inc
M board/volet/gpio.inc
M board/delbin/gpio.inc
M board/boldar/gpio.inc
M board/lindar/gpio.inc
M board/trondo/gpio.inc
M board/eldrid/gpio.inc
M board/todor/gpio.inc
M board/drobit/gpio.inc
M board/voxel/gpio.inc
M board/elemi/gpio.inc
M board/volteer/gpio.inc
ap...@google.com <ap...@google.com> #46
Branch: main
commit 15434521097eb5184c5acbc3f37c138bd324c857
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 07 16:50:15 2021
board/sasuke: Fix cast to incorrect type
When building with clang, it warns:
board/sasuke/cbi_ssfc.c:40:9: error: implicit conversion from enumeration type
'enum ec_ssfc_lid_sensor' to different enumeration type 'enum
ec_ssfc_usb_ss_mux' [-Werror,-Wenum-conversion]
return (enum ec_ssfc_lid_sensor) cached_ssfc.usb_ss_mux;
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=sasuke
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Icab0e7d7550ed5a3119ec4c5dc3d904137abe341
Reviewed-on:
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M board/sasuke/cbi_ssfc.c
ap...@google.com <ap...@google.com> #47
Branch: main
commit 7cb20f372fa4ee7a5c98dfd39e06daeed24d67ca
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 07 16:45:02 2021
board/primus: Fix enum type
When building with clang, it warns:
board/primus/usbc_config.c:138:16: error: implicit conversion from enumeration
type 'enum gpio_signal' to different enumeration type 'enum ioex_signal'
[-Werror,-Wenum-conversion]
rst_signal = GPIO_USB_C0_RT_RST_ODL;
~ ^~~~~~~~~~~~~~~~~~~~~~
board/primus/usbc_config.c:140:16: error: implicit conversion from enumeration
type 'enum gpio_signal' to different enumeration type 'enum ioex_signal'
[-Werror,-Wenum-conversion]
rst_signal = GPIO_USB_C1_RT_RST_ODL;
~ ^~~~~~~~~~~~~~~~~~~~~~
board/primus/usbc_config.c:157:18: error: implicit conversion from enumeration
type 'enum ioex_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
gpio_set_level(rst_signal, 1);
~~~~~~~~~~~~~~ ^~~~~~~~~~
board/primus/usbc_config.c:167:18: error: implicit conversion from enumeration
type 'enum ioex_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
gpio_set_level(rst_signal, 0);
~~~~~~~~~~~~~~ ^~~~~~~~~~
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=primus
TEST=./util/compare_build.sh -b primus
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I6ed40493cdce6f972300f4b9c7f49f136c6a0026
Reviewed-on:
Reviewed-by: caveh jalali <caveh@chromium.org>
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M board/primus/usbc_config.c
ap...@google.com <ap...@google.com> #48
Branch: main
commit 151a967b4514e4bb1f56e5c40b9c392341b92afa
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 07 16:42:54 2021
board/rammus: Fix enum type
When building with clang, it warns:
ard/rammus/led.c:160:23: error: implicit conversion from enumeration
type 'enum ec_led_state' to different enumeration type 'enum
led_charge_state' [-Werror,-Wenum-conversion]
config_battery_led(LED_STATE_OFF);
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=rammus
TEST=./util/compare_build.sh -b rammus
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I68850029e872702dafed661b908bb8d5986a5daf
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
M board/rammus/led.c
ap...@google.com <ap...@google.com> #49
Branch: main
commit babe37099f26aab8332485d537922e98c6c5e33a
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Sep 24 21:51:57 2021
core/cortex-m: Disable warning in vecttable.c when building with clang
See the description in commit c1cc2d919e9f21adc0f992dcac00f6e8b282616d.
These files copied the same logic.
BRANCH=none
BUG=b:172020503
TEST=make buildall
TEST=CC=arm-none-eabi-clang make BOARD=servo_micro
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I1d59b3a7eb6e71451313d70fe421880a08dad4b0
Reviewed-on:
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
M core/cortex-m0/vecttable.c
M chip/stm32/usb_endpoints.c
ap...@google.com <ap...@google.com> #50
Branch: main
commit f050111663cb33a061cfbdc07dc836a5af13d362
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Sep 23 18:39:31 2021
core: Fix flash size calculation when linking with lld (clang)
The map file generated by lld has a different format than the gnu linker
(ld). (We save this map file into build/<board>/<image>/ec.<image>.map
during the build.)
Instead of trying to parse the different formats in the .map file, use
the .smap file (the output of "nm"), which has the values of the symbols
and has the same format whether using lld or ld. We need to add a new
"__flash_size" symbol so that we can use that symbol to get the size
from the .smap.
This add flash sizes to a few boards that previously didn't have it:
asurada_scp, cherry_scp, and kukui_scp, since the previous logic was
always looking for FLASH and these use IROM.
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
TEST=make CC=arm-none-eabi-clang BOARD=elemi
TEST=bcompare build_before_change build_after_change
=> only difference between space_free_flash.txt and
space_free_ram.txt files in the two builds is that this change adds
the space_free_flash.txt files for asurada_scp, cherry_scp, and
kukui_scp.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I7c64b6ba9bceeeb4044559188c1c1bebbf60471d
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M core/cortex-m0/ec.lds.S
M chip/npcx/
M Makefile.rules
M core/nds32/ec.lds.S
M core/riscv-rv32i/ec.lds.S
M core/cortex-m/ec.lds.S
ap...@google.com <ap...@google.com> #51
Branch: main
commit 187f9155f684d0aeda4546bf04451ae8825f2de8
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 07 18:59:05 2021
tree: Use correct enum when calling button_disable_gpio
When building with clang, it warns:
board/puff/board.c:484:23: error: implicit conversion from enumeration type
'enum gpio_signal' to different enumeration type 'enum button'
[-Werror,-Wenum-conversion]
button_disable_gpio(GPIO_EC_RECOVERY_BTN_ODL);
button_disable_gpio() takes an "enum button", not "enum gpio_signal".
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=puff
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ic8347e4d6cda0fde824c9edf1979f7f5197e3db4
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
Reviewed-by: Andrew McRae <amcrae@google.com>
M board/moonbuggy/board.c
M board/scout/board.c
M board/puff/board.c
M board/genesis/board.c
M board/ambassador/board.c
ap...@google.com <ap...@google.com> #52
Branch: main
commit b2d5fc19f2b3c46c9fe8abe2bde28223d971dd27
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 07 23:10:42 2021
core/cortex-m[0]: Replace calculation with variable for readability
PANIC_DATA_PTR is defined as
((struct panic_data *)CONFIG_PANIC_DATA_BASE)
which is
CONFIG_RAM_BASE + CONFIG_RAM_SIZE - CONFIG_PANIC_DATA_SIZE
Instead of doing that calculation again, just re-use
PANIC_DATA_PTR, which more clearly shows the relationship between
pdata_ptr and pstack_addr. As indicated by the TEST line, this results
in no change to the generated code.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I52f769b388dd47269b74d70a651868fcd6c339b5
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M core/cortex-m/panic.c
M core/cortex-m0/panic.c
ap...@google.com <ap...@google.com> #53
Branch: firmware-keeby-14119.B-main
commit e6f0059910b772229d1aff9f86a84e3eb380ea56
Author: Aseda Aboagye <aaboagye@google.com>
Date: Tue Oct 12 12:33:37 2021
Merge remote-tracking branch cros/main into firmware-keeby-14119.B-main
Relevant changes:
git log --oneline 821feaf33..3c833cc3b -- baseboard/dedede board/cappy2
board/corori board/driblee board/gooey board/haboki board/lalala
board/waddledoo2 common/charge_state_v2.c common/mkbp_* common/ocpc.c
common/usbc/usb_tc_drp_acc_trysrc_sm.c common/usbc/usb_sm.c
common/usbc/*_pd_* common/usbc/dp_alt_mode.c common/usbc/usb_prl_sm.c
common/usbc/usb_pe_drp_sm.c common/usb_charger.c common/usb_common.c
common/usbc_ocp.c driver/charger/sm5803.* driver/charger/isl923x.*
driver/tcpm/raa489000.* driver/tcpm/it83* include/power/icelake.h
include/intel_x86.h power/icelake.c power/intel_x86.c util/getversion.sh
462229bfe TCPMv2: Clear discovery data on detach
cd5940ec2 tree: Use bitwise operator instead of logical operator
14891fcf8 chgstv2: Implement battery protection for low voltage
de506307c bugzzy : set VSN/VSP/VBST
0bd313665 common/usbc: Fix constness
036cda45b tree: Fix LED enum type
050de1d90 Corori: Initialize the vivaldi keyboard
90bbe7d16 driver/charger: Remove unused functions
a94daa841 zephyr: charger: Allow multiple (different) chips
b521e788b gooey: modify battery fet register define
BRANCH=None
BUG=b:198072674 b:198405407 b:201602829 b:198226241 b:172020503
BUG=b:201340797
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: I6b752acdedcc2a06685d729383b98621c60d6bd9
ap...@google.com <ap...@google.com> #54
Branch: main
commit 191dfd83456aef0813160ef4ac53742f8a1d7756
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 11 18:24:56 2021
core/cortex-m: Fix RW image alignment when using clang (lld)
This change forces the LMA and VMA to start immediately after the .data
section; both LMA and VMA are forced to be equal. The change removes the
BYTE(0xFF), since lld will allocate space for this byte and throw off
the alignment.
The ASSERT line verifies that the __image_size is still correctly
aligned when building with both gcc and clang.
BRANCH=none
BUG=b:172020503
TEST=make buildall
TEST=make CC=arm-none-eabi-clang BOARD=dartmonkey
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I00d4e8f346232d1c5b8b04d397459760976a8a8b
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M core/cortex-m/ec.lds.S
ap...@google.com <ap...@google.com> #55
Branch: main
commit b3ef50743dacfe10bcca63b2017d92af438f87c8
Author: Tom Hughes <tomhughes@chromium.org>
Date: Sat Oct 02 00:02:48 2021
chip/stm32: Avoid out of bounds array access on TCPCI_MSG_TX_BIST_MODE_2
clang warns:
chip/stm32/ucpd-stm32gx.c:797:5: error: array index 582424 is past the
end of the array (which contains 7 elements) [-Werror,-Warray-bounds]
ucpd_txorderset[TX_ORDERSET_SOP];
^ ~~~~~~~~~~~~~~~
chip/stm32/ucpd-stm32gx.c:127:1: note: array 'ucpd_txorderset' declared
here
static int ucpd_txorderset[] = {
The if clause handles SOP -> Cable Reset and the only type that does not
handle is TCPCI_MSG_TX_BIST_MODE_2. That case is a "don't care" for sync
packets as it's just a continuous 1/0 bit pattern.
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=baklava
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ia2b73bcbf7eabe2de480633d4e65b8df55137e2e
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Scott Collyer <scollyer@chromium.org>
M chip/stm32/ucpd-stm32gx.c
ap...@google.com <ap...@google.com> #56
Branch: main
commit e2d5e48487158ccfaa3e0e796e7f1da0761b02b0
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 11 18:29:50 2021
core/cortex-m: Fix __data_lma_start
Without this change, the code compiles and links when using clang, but
does not boot.
__data_lma_start should be the LMA address of the .data section and is
used in core/cortex-m/init.S to copy the data from the LMA address into
the VMA address (flash to RAM). Before this change, examining the smap
and map files shows that __data_lma_start (0x0800bcdc) does not match
the LMA address of the .data section (0x800bce0):
build/dartmonkey/RO/ec.RO.smap:
0800bcdc R __data_lma_start
build/dartmonkey/RO/ec.RO.map
VMA LMA Size Align Out In Symbol
24003538 800bce0 68 8 .data
After the change, the LMA addresses match and the board boots correctly:
build/dartmonkey/RO/ec.RO.smap:
0800bce0 A __data_lma_start
build/dartmonkey/RO/ec.RO.map
VMA LMA Size Align Out In Symbol
24003538 800bce0 68 8 .data
When comparing the behavior of this change with gcc, we find that many
boards match, but some do not (see TEST line). Looking at a few of the
boards that do not match, there appears to be a one-byte difference in
the RO portion. Investigating further on voxel:
Original address from build/voxel/RO/ec.RO.smap:
100a2e20 R __data_lma_start
New address from build/voxel/RO/ec.RO.smap after applying this change:
100a2e60 A __data_lma_start
In both cases, when using objdump on RO.elf, .data's LMA address starts
at 100a2e60, so this change appears to be correct:
arm-none-eabi-objdump -h
/tmp/compare_build.Ltgh/ec-53a576c00f1b0d609d23a68a83e0340a14ee8fe5/build/voxel/RO/ec.RO.elf
Sections:
Idx Name Size VMA LMA File off Algn
3 .data 00000538 200b8368 100a2e60 00058368 2**3
CONTENTS, ALLOC, LOAD, DATA
arm-none-eabi-objdump -h
/tmp/compare_build.Ltgh/ec-f0c36b07d9efa2f5b12e5de7e794d723e8468e26/build/voxel/RO/ec.RO.elf
Sections:
Idx Name Size VMA LMA File off Algn
5 .data 00000538 200b8368 100a2e60 00058368 2**3
CONTENTS, ALLOC, LOAD, DATA
BRANCH=none
BUG=b:172020503, b:202863352
TEST=make buildall
TEST=make CC=arm-none-eabi-clang BOARD=dartmonkey
TEST=./util/compare_build.sh -b all -j 150
All boards match, EXCEPT:
adlrvpp_npcx akemi aleena ambassador anahera atlas berknip bloog
bobba boldar brask brya bugzzy cappy2 careena casta chronicler
coachz collis copano coral corori dalboz delbin dewatt dirinboz dood
dooly dratini driblee drobit drobit_ecmodeentry eldrid elemi
endeavour eve ezkinil felwinter fizz fleex foob garg genesis gimble
grunt gumboz guybrush hatch helios herobrine_npcx9 homestar jinlon
kano karma kindred kingoftown kohaku lalala lazor liara lick lindar
lux madoo magolor marzipan meep metaknight moonbuggy morphius
mrbland mushu nami nautilus nightfury nipperkin nocturne npcx7_evb
npcx9_evb npcx_evb_arm npcx_evb nuwani palkia pazquel phaser pompom
poppy primus puff quackingstick rammus redrix reef sasuke scout
shuboz soraka stryke taeko treeya trembyle trogdor vilboz voema
volet volteer_npcx797fc voxel voxel_ecmodeentry voxel_npcx797fc
waddledoo2 woomax wormdingler yorp
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Icd3df244e202a50a577f21ffa4f8202eb3f8b8d2
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Reviewed-by: Keith Short <keithshort@chromium.org>
M core/cortex-m/ec.lds.S
ap...@google.com <ap...@google.com> #57
Branch: main
commit ac7538a8f03d3b1bac14e54627ec92db05abcaeb
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Sep 28 21:59:00 2021
core/cortex-m[0]: Work around clang inline-asm warning
clang warns that we're clobbering a reserved register:
inline asm clobber list contains reserved registers: R7
[-Werror,-Winline-asm].
According to
When the compiler selects which registers to use to represent input and
output operands, it does not use any of the clobbered registers.
Before this change, the only remaining registers for the compiler to use
to hold the values represented by the symbolic names "pregs" and
"pstack" are R0 and R12. After this change, this still holds on clang,
since it won't clobber the reserved register R7 even if it's not on the
clobber list.
BRANCH=none
BUG=b:172020503
TEST=make V=1 CC=arm-none-eabi-clang BOARD=elm
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I5182ef24f4465d68c97f4160a45cd479fe52e017
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M core/cortex-m/panic.c
M core/cortex-m0/panic.c
ap...@google.com <ap...@google.com> #58
Branch: firmware-dedede-13606.B-master
commit a17891f2f6e0c6d518c464e953b8b70c0153fdc5
Author: Diana Z <dzigterman@chromium.org>
Date: Wed Oct 13 14:58:01 2021
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Relevant changes:
git log --oneline 4814ddb47..b07054862 -- baseboard/dedede board/beetley
board/blipper board/boten board/bugzzy board/cret board/drawcia
board/galtic board/kracko board/lantis board/madoo board/magolor
board/metaknight board/pirika board/sasuke board/sasukette board/storo
board/waddledee board/waddledoo board/wheelie common/charge_state_v2.c
common/mkbp_* common/ocpc.c common/usbc/usb_tc_drp_acc_trysrc_sm.c
common/usbc/usb_sm.c common/usbc/*_pd_* common/usbc/dp_alt_mode.c
common/usbc/usb_prl_sm.c common/usbc/usb_pe_drp_sm.c
common/usb_charger.c common/usb_common.c common/usbc_ocp.c
driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.*
driver/tcpm/it83* include/power/icelake.h include/intel_x86.h
power/icelake.c power/intel_x86.c util/getversion.sh
b07054862 galtic360: Add battery 50wh(3S1P)
12342a67a board: Rename RSMRST_L_PGOOD as PG_EC_RSMRST_ODL
de2867d29 storo: Add motion sense config for BMI220
f0c36b07d lantis: Fix LED behavior
154345210 board/sasuke: Fix cast to incorrect type
462229bfe TCPMv2: Clear discovery data on detach
BRANCH=None
BUG=b:200975143 b:172020503 b:194961842 b:188373185
TEST=`make -j buildall`
Signed-off-by: Diana Z <dzigterman@chromium.org>
Change-Id: Icbcfed60cd6f9dd9656f88b5da3ac85fd1ffaf2d
ap...@google.com <ap...@google.com> #59
Branch: main
commit d3225e63daf32f02e46ad6c5ea865c6b870b1232
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 14 22:19:09 2021
core/cortex-m: Use original __data_lma_start when compiling with gcc
LOADADDR(.data) to fix dartmonkey when compiling with clang. This
changed the LMA address on some boards, such as voxel. Even though the
new address looks correct (matches start of .data section), we are
seeing an exception on voxel during startup. For now, keep clang and gcc
separate until we can diagnose the issue.
BRANCH=none
BUG=b:172020503, b:202863352
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8313210c89559a6159f311821a18e7b310a3ada6
Reviewed-on:
Reviewed-by: caveh jalali <caveh@chromium.org>
Commit-Queue: caveh jalali <caveh@chromium.org>
Tested-by: caveh jalali <caveh@chromium.org>
M core/cortex-m/ec.lds.S
ap...@google.com <ap...@google.com> #60
Branch: main
commit 833baa422d10783531c3293afc8b7ce94a1c846a
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 12 23:36:46 2021
core/cortex-m: Invert if statement for readability
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I39f9d35b22d25c923a768bf86b3a16413b9f0a4b
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M core/cortex-m/ec.lds.S
ap...@google.com <ap...@google.com> #61
Branch: main
commit f0fcad109d75ff48459d2cc7e4c3dde9e691af3f
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Oct 13 23:50:06 2021
tree: Make all host commands static
Almost all of the host commands were already static. This change makes
all of them static for consistency.
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8330e85e6d64a039f08d7620eed1fe897f436567
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
M common/panic_output.c
M driver/battery/bq20z453.c
M common/keyboard_backlight.c
M common/port80.c
M driver/temp_sensor/tmp006.c
M include/i2c.h
M common/system.c
M common/temp_sensor.c
M common/i2c_peripheral.c
M common/rwsig.c
M chip/it83xx/spi.c
M common/pstore_commands.c
M include/host_command.h
ap...@google.com <ap...@google.com> #62
Branch: main
commit 09e3123257d708a59e3ae110f628ecbae74b49db
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 14 20:57:27 2021
tree: Make all console commands static
Almost all of the console commands were already static. This change
makes all of them static for consistency.
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I0ac46358b6fbafa65504c648ce4de0365cdbf723
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M common/fpsensor/fpsensor.c
M core/nds32/task.c
M core/riscv-rv32i/task.c
M common/timer.c
M common/temp_sensor.c
M core/minute-ia/task.c
M include/temp_sensor.h
M board/elm/board.c
M common/led_pwm.c
M core/cortex-m/task.c
M baseboard/kukui/charger_mt6370.c
M core/host/task.c
M chip/mt_scp/mt8183/clock.c
M common/thermal.c
M core/cortex-m0/task.c
M board/nucleo-f411re/board.c
M include/console.h
ap...@google.com <ap...@google.com> #63
Branch: main
commit fc9044a240d5a8767b7b77beda7801c6db45b0df
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 15 20:08:35 2021
board/zinger: Include definition from usb_pd.h
Rather than adding an extern for pd_rx_handler() in
board/zinger/board.c, add the definition to the usb_pd.h header.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I5472b2d0bce416d4a296d425efa5d72e9aa548e1
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M board/zinger/board.c
M include/usb_pd.h
ap...@google.com <ap...@google.com> #64
Branch: main
commit 136e31b0a3027a30601663bc1bfe826bf5e0bb2f
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 15 19:58:34 2021
chip/stm32: Include gpio_chip.h when using gpio_interrupt
These files call gpio_interrupt(), but were not including the function
declaration.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Iaaedce2a4668dd05581aaa237344cd520c7eb715
Reviewed-on:
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M chip/stm32/gpio-stm32f3.c
M chip/stm32/gpio-stm32l4.c
M chip/stm32/gpio_chip.h
M chip/stm32/gpio-stm32f4.c
M chip/stm32/gpio-stm32g4.c
M chip/stm32/gpio-stm32l5.c
M chip/stm32/gpio-stm32h7.c
M chip/stm32/gpio-stm32l.c
ap...@google.com <ap...@google.com> #65
Branch: main
commit 6e4d2aa256c8dad7845f2d24117e734e2b74a229
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 15 18:47:48 2021
chip/npcx: Remove unused GPIO interrupt function
When the interrupt handlers are made static (see followup commits), the
compiler complains that this function is unused (there is no
corresponding DECLARE_IRQ):
chip/npcx/gpio-npcx9.c:182:15: error: '__gpio_wk2fg_interrupt' defined
but not used [-Werror=unused-function]
GPIO_IRQ_FUNC(__gpio_wk2fg_interrupt, WUI_INT(MIWU_TABLE_2, MIWU_GROUP_6));
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I3f58cdcb9b2e113fb9dd079a3e157bf8336b71d5
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M chip/npcx/gpio-npcx9.c
ap...@google.com <ap...@google.com> #66
Branch: main
commit 9229397b613fadac32f025a1be7d6549b2cd6be9
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 15 22:59:35 2021
core/cortex-m0: Function only used when CONFIG_TASK_PROFILING is defined
When compiling with clang, it warns:
core/cortex-m0/task.c:182:19: error: unused function 'get_interrupt_context'
[-Werror,-Wunused-function]
static inline int get_interrupt_context(void)
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I914a2a8f950a340c570f5d105859a80be3efb82a
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M core/cortex-m0/task.c
ap...@google.com <ap...@google.com> #67
Branch: main
commit 0ce1c0db7c906943d22c58c50d2182e87f46de8c
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 18 17:34:12 2021
tree: Files should end with single newline
One of the checks that runs as part of "repo upload" looks for a single
newline at the end of each file. I'm getting warnings about this when I
touch files that do not follow this, even though I didn't add the extra
newlines.
This commit fixes all files by running the following:
for f in $(find . -name '*.[ch]');
do printf '%s\n' "$(cat ${f})" > ${f};
done
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ia3ece5b64b549d21ca11708791368002bb6e9b0e
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
M board/rammus/battery.c
M common/host_command_controller.c
M board/katsu/board.c
M board/phaser/led.c
M driver/sync.c
M third_party/bmi260/accelgyro_bmi260_config_tbin.h
M board/jslrvp_ite/battery.c
M test/rsa.c
M util/uut/opr.c
M common/i2c_wedge.c
M driver/sync.h
M common/power_button.c
M board/galtic/usb_pd_policy.c
M zephyr/shim/chip/npcx/npcx_monitor/npcx_monitor.c
M board/pirika/usb_pd_policy.c
M board/host/usb_pd_config.c
M baseboard/kukui/battery_max17055.c
M chip/mec1322/spi.c
M chip/lm4/clock.c
M test/usb_pd_console.c
M board/helios/led.c
M driver/battery/bq27621_g1.c
M board/shuboz/board.c
M board/bobba/led.c
M board/sasuke/led.c
M board/akemi/led.c
M chip/npcx/sib_chip.h
M test/usb_typec_ctvpd.c
M board/ampton/led.c
M test/motion_angle_data_literals.c
M driver/als_bh1730.h
M common/gesture.c
M zephyr/include/emul/emul_tcpci.h
M chip/stm32/clock-stm32g4.c
M common/bluetooth_le.c
M chip/mchp/gpio.c
M chip/nrf51/radio.c
M zephyr/test/drivers/src/ppc_syv682c.c
M chip/mchp/qmspi_chip.h
M common/virtual_battery.c
M util/ecst.c
M baseboard/intelrvp/adlrvp_battery2s.c
M chip/mchp/gpio_chip.h
M board/madoo/led.c
M board/chocodile_vpdmcu/usb_pd_config.h
M board/palkia/led.c
M include/charge_state_v1.h
M board/nucleo-g431rb/board.c
M board/sasukette/usb_pd_policy.c
M chip/stm32/dma-stm32f4.c
M include/battery_bq27621_g1.h
M common/backlight_lid.c
M board/mushu/led.c
M chip/npcx/spiflashfw/npcx_monitor.c
M board/foob/led.c
M board/servo_v4/usb_pd_config.h
M chip/mchp/port80.c
M board/poppy/battery.c
M driver/temp_sensor/oti502.c
M zephyr/test/i2c/src/main.c
M board/redrix/fans.c
M chip/mchp/system.c
M driver/temp_sensor/tmp411.c
M include/usb_pd_policy.h
M common/chipset.c
M common/btle_ll.c
M baseboard/dedede/variant_ec_it8320.c
M board/lick/led.c
M fuzz/host_command_fuzz.c
M include/motion_lid.h
M util/misc_util.c
M include/battery_smart.h
M board/servo_v4p1/usb_tc_snk_sm.c
M chip/mchp/dma_chip.h
M chip/mchp/spi_chip.h
M chip/stm32/registers-stm32g4.h
M board/yorp/led.c
M board/woomax/thermal.c
M chip/nrf51/bluetooth_le.c
M driver/battery/bq27541.c
M board/delbin/led.c
M chip/npcx/i2c-npcx5.c
M board/cappy2/battery.c
M board/servo_v4p1/usb_pd_config.h
M common/printf.c
M driver/ppc/rt1718s.h
M chip/stm32/config-stm32f09x.h
M common/host_command_pd.c
M chip/mchp/gpspi_chip.h
M chip/stm32/registers-stm32l4.h
M chip/stm32/usb_power.h
M common/motion_lid.c
M common/spi_commands.c
M include/vec4.h
M chip/npcx/sib.c
M board/hadoken/board.h
M chip/mchp/qmspi.c
M chip/stm32/usb_power.c
M board/kukui_scp/board.c
M chip/nrf51/hwtimer.c
M board/stm32f446e-eval/board.c
M chip/nrf51/radio_test.c
M board/taeko/usbc_config.h
M board/hadoken/board.c
M baseboard/honeybuns/usbc_support.c
M board/hatch/led.c
M chip/mchp/gpio_cmds.c
M board/kindred/led.c
M common/led_policy_std.c
M fuzz/usb_tcpm_v2_rev20_fuzz.c
M include/usb_bb.h
M zephyr/include/dt-bindings/wake_mask_event_defines.h
M board/fleex/led.c
M include/btle_hci2.h
M chip/stm32/i2c-stm32f0.c
M board/nautilus/battery.c
M chip/nrf51/registers.h
M chip/mchp/lpc.c
M driver/mag_lis2mdl.h
M driver/tcpm/anx7447.c
M chip/nrf51/config_chip.h
M common/init_rom.c
M chip/npcx/keyboard_raw.c
M chip/it83xx/dac_chip.h
M chip/mchp/gpspi.c
M include/btle_hci_int.h
M board/eldrid/led.c
M board/metaknight/led.c
M common/keyboard_8042.c
M chip/nrf51/i2c.c
M board/woomax/led.c
M driver/temp_sensor/adt7481.c
M board/stryke/led.c
M chip/stm32/registers-stm32l5.h
M include/display_7seg.h
M board/meep/led.c
M driver/tcpm/fusb307.c
M driver/mp4245.c
M board/dood/led.c
M third_party/bmi220/accelgyro_bmi220_config_tbin.h
M board/casta/led.c
M driver/battery/bq4050.c
M baseboard/intelrvp/adlrvp_battery3s.c
M driver/temp_sensor/tmp432.c
M test/usb_sm_checks.h
M cts/common/dut_common.c
M test/motion_common.c
M board/storo/usb_pd_policy.c
M board/lindar/battery.c
M board/kakadu/board.c
M driver/touchpad_st.h
M test/usb_sm_checks.c
M board/garg/led.c
M include/usb_tc_sm.h
ap...@google.com <ap...@google.com> #68
Branch: main
commit 67b59415556e76c453d22125ad5640029efa0cd3
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 18 18:45:14 2021
PRESUBMIT: Add third_party/bmi220 to excluded license check
The cros_license_check presubmit is complaining.
BRANCH=none
BUG=b:172020503, b:188373185, b:193945779
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I9e1f33e427271df4cec340fc3bc0369ee2c9faa0
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M PRESUBMIT.cfg
ap...@google.com <ap...@google.com> #69
Branch: main
commit 2f4e412903fc45e493967730c87790819bcb1bcd
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 18 18:44:40 2021
chip/mchp: Fix license text
The cros_license_check presubmit is complaining.
BRANCH=none
BUG=b:172020503
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I56657835cb96492e4984f7734e96b8436c3a543b
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M chip/mchp/qmspi_chip.h
M chip/mchp/gpspi_chip.h
M chip/mchp/gpio_chip.h
M chip/mchp/dma_chip.h
M chip/mchp/spi_chip.h
ap...@google.com <ap...@google.com> #70
Branch: main
commit 81e812f8a091217a7fedcf5cf88f33b462889af1
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 18 22:41:58 2021
util/genvif: Fix array bounds check
When removing the "-flto" flag when building genvif, gcc warns that that
the array can be out of bounds. This could occur if pushback_count was
set to a negative value since the if statement would be true:
util/genvif.c: In function ‘get_next_tag’:
util/genvif.c:1131:24: error: array subscript [-1, 2147483646] is
outside array bounds of ‘char[20]’ [-Werror=array-bounds]
1131 | return pushback_stack[--pushback_cnt];
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
util/genvif.c:1116:6: note: while referencing ‘pushback_stack’
1116 | char pushback_stack[20];
| ^~~~~~~~~~~~~~
BRANCH=none
BUG=b:172020503
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I1bc84f1b58ceb0b921c2d51bf94ac378211d556c
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M util/genvif.c
ap...@google.com <ap...@google.com> #71
Branch: main
commit 7e646e2457de854a1688ca3a8f7af88ebd9050d3
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 18 22:40:21 2021
util/genvif: Increase buffer size to avoid overflow
When removing the "-flto" flag on genvif, gcc emits the following
warning:
util/genvif.c: In function ‘gen_vif.constprop’:
util/genvif.c:3618:19: error: ‘ mW’ directive writing 3 bytes into a
region of size between 0 and 9 [-Werror=format-overflow=]
3618 | sprintf(str, "%d mW", src_max_power);
| ^~~
In file included from /usr/include/features.h:461,
from /usr/include/errno.h:25,
from util/genvif.c:8:
/usr/include/bits/stdio2.h:45:18: note: ‘__builtin___sprintf_chk’
output between 5 and 14 bytes into a destination of size 10
45 | int __result = __FORTIFY_CALL_VA_BUILTIN (sprintf, __s,
| ^~~~~~~~~~
BRANCH=none
BUG=b:172020503
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I13d66e1eec7703f6e41f93178e758811dcb59d70
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M util/genvif.c
ap...@google.com <ap...@google.com> #72
Branch: main
commit 7dcbbb899b5ee0c68c490a88343305f20074f371
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 11 22:14:31 2021
tree: Remove .bss.slow
The config option to enable .bss.slow was removed in commit
b224441aaaa5dd08274811d65bb795b4abc231d8 because the option was only
used with kunimitsu, which was removed from the EC codebase a long time
ago.
Remove the reference in the linker maps to complete the cleanup.
BRANCH=none
BUG=b:172020503, b:172221339
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ibc519f9974cb26e6d15180e2ce0c359867ced1ac
Reviewed-on:
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
M common/host_command_controller.c
M common/acpi.c
M common/button.c
M common/port80.c
M common/keyboard_scan.c
M common/event_log.c
M common/charge_state_v2.c
M core/nds32/ec.lds.S
M core/riscv-rv32i/ec.lds.S
M core/cortex-m/ec.lds.S
M core/cortex-m0/ec.lds.S
M include/common.h
M common/mkbp_input_devices.c
ap...@google.com <ap...@google.com> #73
Branch: firmware-dedede-13606.B-master
commit 775559b456bd6919627884d80151271514dc9f0a
Author: Aseda Aboagye <aaboagye@google.com>
Date: Thu Oct 21 15:06:37 2021
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Relevant changes:
git log --oneline a9bcc2324..7bb519067 -- baseboard/dedede board/beetley
board/blipper board/boten board/bugzzy board/cret board/drawcia
board/galtic board/kracko board/lantis board/madoo board/magolor
board/metaknight board/pirika board/sasuke board/sasukette board/storo
board/waddledee board/waddledoo board/wheelie common/charge_state_v2.c
common/mkbp_* common/ocpc.c common/usbc/usb_tc_drp_acc_trysrc_sm.c
common/usbc/usb_sm.c common/usbc/*_pd_* common/usbc/dp_alt_mode.c
common/usbc/usb_prl_sm.c common/usbc/usb_pe_drp_sm.c
common/usb_charger.c common/usb_common.c common/usbc_ocp.c
driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.*
driver/tcpm/it83* include/power/icelake.h include/intel_x86.h
power/icelake.c power/intel_x86.c util/getversion.sh
74e6e0bc2 dedede : fix EC_DPWROK toggle after G3
b24f97a5c bugzzy : modify power sequence for MIPI
b09158a90 cleanup: charger: consolidate charger_dump console commands
3a5d9728b TCPMv2: Only clear discovery data on disconnect
7dcbbb899 tree: Remove .bss.slow
0ce1c0db7 tree: Files should end with single newline
b7f5f40c7 bugzzy : LCD current setting on MP3372
9a8fdc565 bugzzy : Change charging current
BRANCH=None
BUG=b:198256003 b:197776876 b:172020503 b:202370937 b:202344727
BUG=b:172020503 b:172221339
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: I6e2a42f1ee59e2e057335be4ec839175dccc016f
ap...@google.com <ap...@google.com> #74
Branch: firmware-keeby-14119.B-main
commit c143608a6404ec9de95457a5107722545e9dd4d0
Author: Aseda Aboagye <aaboagye@google.com>
Date: Thu Oct 21 16:09:48 2021
Merge remote-tracking branch cros/main into firmware-keeby-14119.B-main
Relevant changes:
git log --oneline e6f005991..7bb519067 -- baseboard/dedede board/cappy2
board/corori board/driblee board/gooey board/haboki board/lalala
board/waddledoo2 common/charge_state_v2.c common/mkbp_* common/ocpc.c
common/usbc/usb_tc_drp_acc_trysrc_sm.c common/usbc/usb_sm.c
common/usbc/*_pd_* common/usbc/dp_alt_mode.c common/usbc/usb_prl_sm.c
common/usbc/usb_pe_drp_sm.c common/usb_charger.c common/usb_common.c
common/usbc_ocp.c driver/charger/sm5803.* driver/charger/isl923x.*
driver/tcpm/raa489000.* driver/tcpm/it83* include/power/icelake.h
include/intel_x86.h power/icelake.c power/intel_x86.c util/getversion.sh
74e6e0bc2 dedede : fix EC_DPWROK toggle after G3
b09158a90 cleanup: charger: consolidate charger_dump console commands
3a5d9728b TCPMv2: Only clear discovery data on disconnect
7dcbbb899 tree: Remove .bss.slow
0ce1c0db7 tree: Files should end with single newline
537def841 charge: respect PDO current maximum limit
12342a67a board: Rename RSMRST_L_PGOOD as PG_EC_RSMRST_ODL
BRANCH=None
BUG=b:172020503 b:200975143 b:172020503 b:172221339 b:172878439
BUG=b:202370937
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: I2f6c014ede5405bb3f12fedc265e07d9e4661513
ap...@google.com <ap...@google.com> #75
Branch: main
commit 2441779c0676a80afca692498b1988d6eeee3dfa
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 21 23:58:31 2021
driver/retimer: Avoid converting between enum types
When building with clang, it warns:
board/morphius/board.c:337:18: error: implicit conversion from
enumeration type 'enum ioex_signal' to different enumeration type 'enum
gpio_signal' [-Werror,-Wenum-conversion]
.enable_gpio = IOEX_USB_C0_DATA_EN,
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8d7d9292701732925f7a34daa7d673a61abaebce
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M driver/retimer/pi3dpx1207.h
ap...@google.com <ap...@google.com> #76
Branch: main
commit d4531ba075b951d19df3eb49074073b535be86d2
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 21 23:20:10 2021
baseboard/zork: Unify enum types
enum ec_ssfc_base_gyro_sensor and enum ec_cfg_base_gyro_sensor_type have
the same values. clang warns that we're trying to convert between these
two types:
board/morphius/board.c:257:10: error: implicit conversion from
enumeration type 'enum ec_ssfc_base_gyro_sensor' to different
enumeration type 'enum ec_cfg_base_gyro_sensor_type'
[-Werror,-Wenum-conversion]
return get_cbi_ssfc_base_sensor();
Rather than duplicate the type (and it accidentally getting out of
sync), just use the canonical base type.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_builds.sh -b all -j 120
=> All match, except ezkinil due to the change of the
base_gyro_config variable from "int" to "enum"
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8168518a87469004c33adebed89879225c470ace
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M baseboard/zork/cbi_ec_fw_config.h
M baseboard/zork/cbi_ec_fw_config.c
M board/ezkinil/board.c
M board/morphius/board.c
ap...@google.com <ap...@google.com> #77
Branch: main
commit 03874334eac1b2bf77e33ea60a6587e6801faf6a
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Feb 13 16:14:26 2019
Add support for building dartmonkey firmware with clang
By default all builds will use gcc. To build with clang, set
the environment variable CC=clang.
At this point only dartmonkey has been tested with clang.
BRANCH=none
BUG=b:172020503
TEST=Using icetower, Segger J-Trace, and servo micro:
make BOARD=dartmonkey -j
./flash_jlink.py -b dartmonkey -i ./build/dartmonkey/ec.bin
--remote
=> console on icetower works
TEST=CC=clang make BOARD=dartmonkey -j
./flash_jlink.py -b dartmonkey -i ./build/dartmonkey/ec.bin
--remote
=> console on icetower works
TEST=make buildall -j
TEST=CC=clang make BOARD=dartmonkey tests -j
TEST=make BOARD=dartmonkey tests -j
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Change-Id: Ib7c067d0ebe0561becfd70373216adb445501f94
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M core/cortex-m/
M Makefile.rules
M Makefile.toolchain
M core/cortex-m0/
ap...@google.com <ap...@google.com> #78
Branch: main
commit 20af49a170c2c07ba15173ecd9c9a53e939b257c
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 18:15:03 2021
common/acpi: Disable clang warning
When building with clang, it warns:
common/acpi.c:138:11: error: result of comparison of constant 256 with
expression of type 'uint8_t' (aka 'unsigned char') is always false
[-Werror,-Wtautological-constant-out-of-range-compare]
addr >= EC_ACPI_MEM_MAPPED_BEGIN + EC_ACPI_MEM_MAPPED_SIZE) {
~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It doesn't hurt to leave the check as-is. The values of
EC_ACPI_MEM_MAPPED_BEGIN + EC_ACPI_MEM_MAPPED_SIZE may not be greater
than or equal to 255 on every board.
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=voema
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ibb27421957e99f2f636331fbaa51dab6fa768744
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M common/acpi.c
ap...@google.com <ap...@google.com> #79
Branch: main
commit 71865096d3945f59aec48c784d0db47aa53e53cc
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 17:26:06 2021
board/dalboz: Use correct enum type
When building with clang, it warns:
board/dalboz/board.c:178:43: error: implicit conversion from enumeration
type 'enum ioex_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
enum gpio_signal IOEX_USB_A1_RETIMER_EN = IOEX_USB_A1_RETIMER_EN_OPT1;
~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
board/dalboz/board.c:179:47: error: implicit conversion from enumeration
type 'enum ioex_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
enum gpio_signal IOEX_USB_A1_CHARGE_EN_DB_L = IOEX_USB_A1_CHARGE_EN_DB_L_OPT1;
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I1a90a0814d850406de797077eabc7ba1a4356974
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
M board/dalboz/board.h
M board/dalboz/board.c
ap...@google.com <ap...@google.com> #80
Branch: main
commit 8965eeeab24397648901029668d479f150343632
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 23:04:45 2021
baseboard/kukui: Free up more space in kukui RO and RW
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=burnet
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I0cf7b1da3ad3e0546a7fb53c30721d04710a0947
Reviewed-on:
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M baseboard/kukui/baseboard.h
ap...@google.com <ap...@google.com> #81
Branch: main
commit a28c1cd01a01639a2adc5388838a16afbed06eae
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 17:35:46 2021
board/dirinboz,board/gumboz: Fix variable type
When building with clang, it warns:
board/dirinboz/led.c:47:6: error: implicit conversion from enumeration
type 'enum ioex_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
IOEX_C1_CHARGER_LED_AMBER_DB);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
board/dirinboz/led.c:49:6: error: implicit conversion from enumeration
type 'enum ioex_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
IOEX_C1_CHARGER_LED_WHITE_DB);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
The led variables are used as parameters to gpio_or_ioex_set_level,
which takes an int, so just use int so we don't have to cast between
types.
BRANCH=none
BUG=b:172020503
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I16428fbc5ef49f497a3514ac56049e8bd0e40d53
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
M board/dirinboz/led.c
M board/gumboz/led.c
ap...@google.com <ap...@google.com> #82
Branch: main
commit 09382e18c22f9788bba39300d4d1b1dcfc173332
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 17:43:48 2021
board/felwinter: Fix signal type
When building with clang, it warns:
board/felwinter/usbc_config.c:206:16: error: implicit conversion from
enumeration type 'enum gpio_signal' to different enumeration type 'enum
ioex_signal' [-Werror,-Wenum-conversion]
rst_signal = GPIO_USB_C1_RT_RST_R_ODL;
~ ^~~~~~~~~~~~~~~~~~~~~~~~
When we are mixing gpio_signal and ioex_signal, we should be calling
gpio_or_ioex_set_level, which will call gpio_set_level or ioex_set_level,
depending on the signal type.
BRANCH=none
BUG=b:172020503
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Id835a1a31d686bee128e0908d3916f36447f78ec
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
Reviewed-by: YH Lin <yueherngl@chromium.org>
M board/felwinter/usbc_config.c
ap...@google.com <ap...@google.com> #83
Branch: main
commit ec524d7ca0af4bfd7f851cf244bd992c50013499
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 21 22:55:24 2021
board/metaknight: Fix compilation error when using clang
clang warns:
board/metaknight/board.c:787:10: error: array index 1 is past the end of
the array (which contains 1 element) [-Werror,-Warray-bounds]
if (!(tcpc_config[1].flags & TCPC_FLAGS_TCPCI_REV2_0))
^ ~
board/metaknight/board.c:741:1: note: array 'tcpc_config' declared here
const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
^
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=metaknight
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I510d6ec4343f258d734834f2d1e3b6760fca7761
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M include/usb_pd_tcpm.h
M board/metaknight/board.c
ap...@google.com <ap...@google.com> #84
Branch: main
commit 072f84102c198c9c86af673e4171060311825f27
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Sep 28 22:50:45 2021
core/minute-ia: Disable flag when using clang
"-mno-accumulate-outgoing-args" is not a flag that clang understands.
BRANCH=ish
BUG=b:172020503
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I897a491d7b7c91d21d8cfa1cfb9d8470c1240650
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M core/minute-ia/
ap...@google.com <ap...@google.com> #85
Branch: main
commit c5cb1cd10c416e4a17726033dcea63e8de4b5626
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Oct 27 20:38:19 2021
common/firmware_image: Add _start symbol
When linking with clang (lld), it complains that it can't find the
"_start" symbol:
ld.lld: warning: cannot find entry symbol _start; defaulting to
0x8000000
"_start" is used by the linker to fill in the entry point address in the
ELF header ("e_entry":
arm-none-eabi-readelf -e ./build/servo_micro/ec.obj
ELF Header:
...
Entry point address: 0x8000000
...
Add an explicit "_start" symbol at the beginning of the firmware image
(entry point) to satisfy the linker.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Id077013cb54869b92d18cea2f74be25135bc4e42
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M common/firmware_image.S
ap...@google.com <ap...@google.com> #86
Branch: firmware-dedede-13606.B-master
commit fa4af47204de2eab48ae2f1784ca7893bacc4965
Author: Aseda Aboagye <aaboagye@google.com>
Date: Thu Oct 28 14:36:42 2021
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Relevant changes:
git log --oneline 775559b456..491779d5e8 -- baseboard/dedede
board/blipper board/boten board/bugzzy board/cret board/drawcia
board/galtic board/kracko board/lantis board/madoo board/magolor
board/metaknight board/pirika board/sasuke board/sasukette board/storo
board/waddledee board/waddledoo board/wheelie common/ocpc.c
driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.*
driver/tcpm/it83* util/getversion.sh
a645d15ee4 Beetley:Modify LED code parameter.
ec524d7ca0 board/metaknight: Fix compilation error when using clang
f9aa6a4799 Cret: Add mfgacc_support for some batteries
3610a23adb bugzzy : change power sequence on MIPI off
BRANCH=None
BUG=b:204401300 b:198256003 b:172020503 b:204285159
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: I1c749ea34f8a6c79efa770e7b8745575c87ef4f1
ap...@google.com <ap...@google.com> #87
Branch: main
commit 061ce16de9ad7a57cff270ac82d55c3e0137e544
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Sep 30 00:09:39 2021
driver/accelgyro_lsm6dsm: Add assert
When building metaknight with clang, it warns:
driver/accelgyro_lsm6dsm.c:193:5: error: array index 2 is past the end
of the array (which contains 2 elements) [-Werror,-Warray-bounds]
decimators[FIFO_DEV_MAG]);
^ ~~~~~~~~~~~~
driver/accelgyro_lsm6dsm.c:133:2: note: array 'decimators' declared here
uint8_t decimators[FIFO_DEV_NUM] = { 0 };
^
In the case of metaknight, IS_ENABLED(CONFIG_LSM6DSM_SEC_I2C) should
evaluate to false and we will never hit this issue. Adding an ASSERT
makes clang happy.
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=metaknight
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Id81f51fccb256f281dd5de0c52d0c0008e2a6787
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M driver/accelgyro_lsm6dsm.c
ap...@google.com <ap...@google.com> #88
Branch: main
commit 21569acb2d30e1f8bf6fa7656b02b338088f18a7
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 26 23:11:45 2021
common/firmware_image.lds.S: Add empty text section
Without a text section clang/lld will create one and put it at an
address it selects. Even though the section it creates is empty, if the
LMA is beyond the end of the flash, ec.bin will be too large since the
empty space is filled with 0xFF.
For example, before this change servo_micro's ec.bin is 131075 bytes
instead of 131072 (0x20000) bytes.
Examining the sections, we see the LMA is 0x08020003, which is three
bytes beyond the flash size (0x08000000 + 0x20000 + 0x3):
arm-none-eabi-objdump -h build/servo_micro/ec.obj
Sections:
Idx Name Size VMA LMA File off Algn
...
3 .text 00000000 08014b90 08020003 00024b90 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
...
After this change, servo_micro's ec.bin is the correct size: 131072
(0x20000) bytes.
Now the .text section is at the beginning of flash:
arm-none-eabi-objdump -h build/servo_micro/ec.obj
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000000 08000000 08000000 000000f4 2**2
ALLOC, READONLY, CODE
...
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I48f8019fe6b77f880de0d1a0a4a176b3506f3579
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M common/firmware_image.lds.S
ap...@google.com <ap...@google.com> #89
Branch: main
commit 175eb7bc8f31eda0e047e4f850f258ca27c2f3e7
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Sep 30 17:13:02 2021
power/common.c: Add explicit cast when converting between enum types
clang warns:
power/common.c:118:28: error: implicit conversion from enumeration type 'enum
gpio_signal' to different enumeration type 'enum espi_vw_signal'
[-Werror,-Wenum-conversion]
return espi_vw_get_wire(signal);
~~~~~~~~~~~~~~~~ ^~~~~~
power/common.c:128:36: error: implicit conversion from enumeration type 'enum
gpio_signal' to different enumeration type 'enum espi_vw_signal'
[-Werror,-Wenum-conversion]
return espi_vw_disable_wire_int(signal);
~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~
power/common.c:138:35: error: implicit conversion from enumeration type 'enum
gpio_signal' to different enumeration type 'enum espi_vw_signal'
[-Werror,-Wenum-conversion]
return espi_vw_enable_wire_int(signal);
The conversion appears to be intentional, so add an explicit cast.
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=elm -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ide2abc115957385097f6ed938b0a15139cbf3d83
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M baseboard/dedede/baseboard.c
M power/common.c
ap...@google.com <ap...@google.com> #90
Branch: main
commit 85839a2c40377397bc5d23d12bc3b86bb9d5e137
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Sep 30 23:19:40 2021
core/cortex-m[0]: Enable "-Oz" when using clang
"-Oz" is like "-Os" (and thus "-O2"), but reduces code size further.
dartmonkey, clang, -Os:
RO: 733500 flash remaining
RW: 979488 flash remaining
dartmonkey, clang, -Oz:
RO: 737980 flash remaining
RW: 984776 flash remaining
BRANCH=none
BUG=b:172020503
TEST=make buildall
TEST=CC=clang make BOARD=dartmonkey
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ia787845ffdeff26134162007a621b902bbc0d051
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M core/cortex-m/
M core/cortex-m0/
ap...@google.com <ap...@google.com> #91
Branch: firmware-dedede-13606.B-master
commit 2dbfbe7202ba341c27f4b55ab701589e40f9885f
Author: Aseda Aboagye <aaboagye@google.com>
Date: Mon Nov 01 17:31:23 2021
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Relevant changes:
git log --oneline fa4af4720..5ff00345b -- baseboard/dedede board/beetley
board/blipper board/boten board/bugzzy board/cret board/drawcia
board/galtic board/kracko board/lantis board/madoo board/magolor
board/metaknight board/pirika board/sasuke board/sasukette board/storo
board/waddledee board/waddledoo board/wheelie common/charge_state_v2.c
common/mkbp_* common/ocpc.c common/usbc/usb_tc_drp_acc_trysrc_sm.c
common/usbc/usb_sm.c common/usbc/*_pd_* common/usbc/dp_alt_mode.c
common/usbc/usb_prl_sm.c common/usbc/usb_pe_drp_sm.c
common/usb_charger.c common/usb_common.c common/usbc_ocp.c
driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.*
driver/tcpm/it83* include/power/icelake.h include/intel_x86.h
power/icelake.c power/intel_x86.c util/getversion.sh
f8f839e25 Cret: Change D-FET detect mask
175eb7bc8 power/common.c: Add explicit cast when converting between enum types
dc9db9545 common: Make EC power delivery cmd more verbose
0d5624fc0 it83xx_pd.h: fix header dependency
BRANCH=None
BUG=b:204285159 b:172020503 b:194402616
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: I9c2539f73ff6a762bf8e35c0ac945a8511ccdcfc
D common/fpsensor/OWNERS
ap...@google.com <ap...@google.com> #92
Branch: main
commit 19552a15af11e6a0d3fc1498aabf8338c8804b80
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 17:59:54 2021
board/woomax,board/morphius: Fix return type
clang warns:
board/morphius/board.c:406:8: error: implicit conversion from
enumeration type 'enum ioex_signal' to different enumeration type 'enum
gpio_signal'
[-Werror,-Wenum-conversion]
? IOEX_USB_C1_HPD_IN_DB
^~~~~~~~~~~~~~~~~~~~~
board/woomax/board.c:864:6: error: implicit conversion from enumeration
type 'enum ioex_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
: IOEX_USB_C1_HPD_IN_DB;
^~~~~~~~~~~~~~~~~~~~~
The only caller appears to be svdm_set_hpd_gpio() and
svdm_get_hpd_gpio(), which correctly calls gpio_or_ioex_set_level()
since the signal may be either gpio_signal or ioex_signal. Rename the
board_usbc_port* function to indicate that it can return gpio or ioex.
BRANCH=none
BUG=b:172020503
TEST=make buildall
TEST=CC=clang make BOARD=woomax
TEST=CC=clang make BOARD=morphius
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I7be75c8a714ba103362b293413aadc6a92ab72c3
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M board/morphius/board.h
M board/woomax/board.c
M board/morphius/board.c
M board/woomax/board.h
ap...@google.com <ap...@google.com> #93
Branch: main
commit dcc080eeeee889be594af9fb20a1344de5d2cbc7
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 18:20:17 2021
chip/npcx: Fix monitor compilation with clang
Disable LTO when compiling the monitor header since clang will generate
an LLVM IR bitcode file instead of an ARM object file. objcopy then
fails since it doesn't recognize the file type. This shouldn't result in
any loss of optimization since these are single .c files that are not
being linked.
Also add a DISCARD section in the linker script to fix the clang (lld)
warning:
ld.lld: error: no memory region specified for section '.ARM.exidx'
This should be safe since there is no ".ARM.exidx" section in
npcx_monitor.elf generated by gcc before this change as shown by
arm-none-eabi-objdump -h build/brya/chip/npcx/spiflashfw/npcx_monitor.elf
Go ahead and discard any other ".ARM.*" sections as well since we do
that in our other EC linker scripts. Details on these sections can be
found in
under the "Sections" section.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I784d7a9e69989b330f58f89ae3a901d459e7cd21
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
M chip/npcx/spiflashfw/npcx_monitor.ld
M Makefile.rules
ap...@google.com <ap...@google.com> #94
Branch: main
commit c55ec606e81674df19e26b364ab7550c1a4da5f8
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 28 20:59:45 2021
board/zinger: Disable CONFIG_DEBUG_PRINTF
We're getting low on RO flash space, so disable CONFIG_DEBUG_PRINTF to
free up more space.
BRANCH=none
BUG=b:172020503
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I44345f076d26b8aab111f01081fe9bdfd0a69dee
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
M board/zinger/board.h
ap...@google.com <ap...@google.com> #95
Branch: main
commit 2a0e0dcc0f0356c7bdf711a5e59af14e6629027c
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Sep 27 23:21:48 2021
core/cortex-m0: Fix atomic.h compilation with clang
clang warns about the following invalid instructions in the inline
assembly:
core/cortex-m0/atomic.h:44:9: error: invalid instruction, any one of the
following would fix this:
<inline asm>:4:1: note: instantiated into assembly here
orr r3, r3, r2
^
<inline asm>:4:1: note: instantiated into assembly here
bic r2, r2, r1
^
ld.lld: error: <inline asm>:1:5: invalid instruction, any one of the
following would fix this:
mov r1, #0
^
ld.lld: error: <inline asm>:4:1: invalid instruction, any one of the
following would fix this:
sub r2, r2, r1
^
The Cortex M0 instruction set only has the variant of these instructions
that set the condition codes (e.g., "bics", "orrs"):
The "s" at the end indicates that the condition flags will be updated,
but we already indicate that we are clobbering condition codes with "cc"
in the inline asm.
We need to add ".syntax unified" to tell gcc's assembler we're using
unified assembler language
(
/tmp/ccnA5Gkb.s:15936: Error: instruction not supported in Thumb16 mode
-- `orrs r1,r1,r3'
/tmp/ccnA5Gkb.s:15996: Error: instruction not supported in Thumb16 mode
-- `bics r1,r1,r3'
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=burnet
TEST=CC=clang make BOARD=servo_micro
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ifafaf67080e25ab2c5d2aad3efc90a9d61978bf9
Reviewed-on:
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
M core/cortex-m0/atomic.h
ap...@google.com <ap...@google.com> #96
Branch: main
commit 1afc2d2704568e5d587eb2ceb18802a4d9bdf7af
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 01 21:11:39 2021
core/cortex-m0: Use compiler_rt version of clz and ctz
Use __clzsi2 and __ctzsi2 from compiler_rt instead of our own version.
Using the compiler_rt versions result in a slightly smaller image.
servo_micro before this change:
RO: 18744 bytes in flash remaining
RW: 23192 bytes in flash remaining
servo_micro after this change:
RO: 18808 bytes in flash remaining
RW: 23256 bytes in flash remaining
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=servo_micro
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ibc19a3670127dde211fb20d247c1284d0aec5f61
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M core/cortex-m0/config_core.h
ap...@google.com <ap...@google.com> #97
Branch: main
commit d6271635b6a8cdc875626433cef4faed4d068fcc
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Sep 28 00:12:34 2021
core/cortex-m0: Use builtins from compiler-rt when using clang
When compiling with clang, use the builtins from compiler-rt rather than
our own hand-rolled versions. When trying to compile with our versions,
clang fails to link:
ld.lld: error: core/cortex-m0/div.S:52:(.text.__aeabi_idiv+0x10):
unrecognized relocation R_ARM_THM_JUMP8
ld.lld: error: core/cortex-m0/div.S:97:(.text.__aeabi_idivmod+0x24):
unrecognized relocation R_ARM_THM_JUMP8
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=servo_v4
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I33db397c13bcdcb63bd931d0d8425f9f02a76327
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M core/cortex-m0/
ap...@google.com <ap...@google.com> #98
Branch: firmware-keeby-14119.B-main
commit 896cce0b14662909b7d6843e1892b6e61783eef3
Author: Aseda Aboagye <aaboagye@google.com>
Date: Wed Nov 03 15:10:42 2021
Merge remote-tracking branch cros/main into firmware-keeby-14119.B-main
Relevant changes:
git log --oneline 7c4706b4d..7709b4732 -- baseboard/dedede board/cappy2
board/corori board/driblee board/gooey board/haboki board/lalala
board/waddledoo2 common/charge_state_v2.c common/mkbp_* common/ocpc.c
common/usbc/usb_tc_drp_acc_trysrc_sm.c common/usbc/usb_sm.c
common/usbc/*_pd_* common/usbc/dp_alt_mode.c common/usbc/usb_prl_sm.c
common/usbc/usb_pe_drp_sm.c common/usb_charger.c common/usb_common.c
common/usbc_ocp.c driver/charger/sm5803.* driver/charger/isl923x.*
driver/tcpm/raa489000.* driver/tcpm/it83* include/power/icelake.h
include/intel_x86.h power/icelake.c power/intel_x86.c util/getversion.sh
67b3cae16 TCPMv2: Avoid hard reset on shutdown with no battery
175eb7bc8 power/common.c: Add explicit cast when converting between enum types
dc9db9545 common: Make EC power delivery cmd more verbose
0d5624fc0 it83xx_pd.h: fix header dependency
8106efd33 Battery: Move battery code to battery_v1.c and v2.c
1f1103b4b TCPMv2: Add PD timer unit test
3e21911a0 TCPMv2: Support 64 timers
BRANCH=None
BUG=b:141363146 b:172020503 b:194402616 b:198722643 b:203031618
BUG=b:202804110
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: Ifb6bef2db5a344f9f702482f096ba4946415571c
D common/fpsensor/OWNERS
ap...@google.com <ap...@google.com> #99
Branch: main
commit a311557a3165950a5ef3d0a36e46764ecb428f32
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 18 23:03:09 2021
tree: Create usb_pd_pdo.c
genvif depends on usb_pd_policy.c. However, the usb_pd_policy.c files
often depend on other symbols that are not included when building
genvif. genvif only needs the pd_src_pdo and pd_src_pdo_count variables
(and charge_manager_get_source_pdo() in one case). Extract these
variables into their own files.
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=zinger -j
TEST=make buildall
TEST=compare generated *_vif.xml files before and after change:
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I765750cd86243a0a355dcc6a29b80fc23403d99f
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
M baseboard/kalista/
M common/usb_common.c
M board/coffeecake/usb_pd_policy.c
M board/zinger/
A baseboard/ite_evb/usb_pd_pdo.c
A board/pdeval-stm32f072/usb_pd_pdo.h
M board/fizz/
A board/host/usb_pd_pdo.c
A board/pdeval-stm32f072/usb_pd_pdo.c
M baseboard/kalista/usb_pd_policy.c
M board/twinkie/usb_pd_policy.c
M board/pdeval-stm32f072/
M zephyr/CMakeLists.txt
A board/host/usb_pd_pdo.h
A baseboard/ite_evb/usb_pd_pdo.h
A baseboard/kalista/usb_pd_pdo.h
M board/hoho/usb_pd_policy.c
M common/
A board/dingdong/usb_pd_pdo.h
M board/dingdong/usb_pd_policy.c
M board/plankton/
A board/plankton/usb_pd_pdo.h
A board/dingdong/usb_pd_pdo.c
A board/plankton/usb_pd_pdo.c
A board/zinger/usb_pd_pdo.c
M board/host/usb_pd_policy.c
M board/pdeval-stm32f072/usb_pd_policy.c
A board/zinger/usb_pd_pdo.h
A board/coffeecake/usb_pd_pdo.h
A baseboard/kalista/usb_pd_pdo.c
A common/usb_pd_pdo.c
A board/coffeecake/usb_pd_pdo.c
M board/hoho/
M baseboard/ite_evb/
A board/servo_v4/usb_pd_pdo.c
M board/twinkie/
A board/servo_v4/usb_pd_pdo.h
M baseboard/ite_evb/usb_pd_policy.c
A board/fizz/usb_pd_pdo.c
A board/twinkie/usb_pd_pdo.c
M board/plankton/usb_pd_policy.c
A board/twinkie/usb_pd_pdo.h
M board/zinger/usb_pd_policy.c
M board/fizz/usb_pd_policy.c
M util/genvif.c
A board/fizz/usb_pd_pdo.h
M board/coffeecake/
A board/hoho/usb_pd_pdo.c
M board/host/
M common/usbc/usb_pd_dpm.c
A board/hoho/usb_pd_pdo.h
M util/
M board/dingdong/
M board/servo_v4/
M board/servo_v4/usb_pd_policy.c
A include/usb_pd_pdo.h
ap...@google.com <ap...@google.com> #100
Branch: main
commit e1d5982202bebb794d8bd28833efb0b31642744f
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 21 21:55:29 2021
tree: Work around clang bug
clang warns:
error: initializer element is not a compile-time constant
There is an upstream LLVM review with proposed fix:
In the meantime, we will work around it.
BRANCH=none
BUG=b:172020503, b:202062363
TEST=./util/compare_builds.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I066e082870bcd726555a5f2461f09988d4e6ce55
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
M board/terrador/board.c
M board/mushu/board.c
M board/voxel/board.c
M board/nami/board.c
M board/chronicler/board.c
M board/metaknight/board.c
M board/stryke/board.c
M board/primus/sensors.c
M board/scout/board.c
M board/kano/sensors.c
M board/lalala/board.c
M board/pirika/board.c
M board/akemi/board.c
M board/halvor/board.c
M board/kindred/board.c
M board/helios/board.c
M board/brask/sensors.c
M board/magolor/board.c
M board/corori/board.c
M board/volet/board.c
M board/woomax/board.c
M board/anahera/sensors.c
M board/hatch/board.c
M board/malefor/board.c
M board/boldar/board.c
M board/puff/board.c
M board/ambassador/board.c
M board/lingcod/board.c
M board/voema/board.c
M board/drobit/board.c
M board/berknip/board.c
M board/elemi/board.c
M board/lindar/board.c
M board/volteer/board.c
M board/taeko/sensors.c
M board/felwinter/sensors.c
M board/trondo/board.c
M board/copano/board.c
M board/driblee/board.c
M board/redrix/sensors.c
M board/genesis/board.c
M board/kohaku/board.c
M board/moonbuggy/board.c
M board/nightfury/board.c
M board/eldrid/thermal.c
M board/jinlon/board.c
M board/dooly/board.c
M board/palkia/board.c
M board/galtic/board.c
M board/brya/sensors.c
M board/waddledoo2/board.c
M board/trembyle/board.c
M board/collis/board.c
M board/ezkinil/board.c
M board/gimble/sensors.c
M board/todor/board.c
M board/morphius/board.c
M board/dratini/board.c
M board/delbin/board.c
ap...@google.com <ap...@google.com> #101
Branch: main
commit 04e6a2380e1cbafb169c7194f0fc58d460193ea6
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 15 20:10:00 2021
tree: Make DECLARE_IRQ routine static
For consistency, make all IRQ handler routines static.
BRANCH=none
BUG=b:172020503
TEST=make buildall -j
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I43dc4dd0a8cd593d6eb761768acc5c7b6b95e22b
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
M chip/mt_scp/mt8183/uart.c
M chip/stm32/clock-f.c
M chip/npcx/uart.c
M board/twinkie/injector.c
M chip/mchp/uart.c
M board/zinger/runtime.c
M chip/mec1322/adc.c
M chip/lm4/lpc.c
M chip/mchp/adc.c
M chip/stm32/usart-stm32f0.c
M chip/lm4/uart.c
M chip/stm32/clock-stm32l4.c
M chip/stm32/usart-stm32f4.c
M chip/stm32/usart-stm32l5.c
M chip/nrf51/uart.c
M test/stm32f_rtc.c
M core/host/irq_handler.h
M chip/stm32/ucpd-stm32gx.c
M chip/lm4/i2c.c
M chip/mec1322/keyboard_raw.c
M chip/it83xx/intc.c
M chip/mchp/gpio.c
M chip/stm32/gpio-stm32l.c
M chip/stm32/hwtimer32.c
M chip/stm32/usb_pd_phy.c
M chip/stm32/dma-stm32f4.c
M chip/stm32/gpio.c
M chip/mt_scp/mt8183/hrtimer.c
M chip/mchp/keyboard_raw.c
M chip/stm32/clock-stm32h7.c
M core/riscv-rv32i/irq_handler.h
M chip/stm32/usart-stm32l.c
M chip/stm32/gpio-stm32f4.c
M chip/mchp/port80.c
M chip/mt_scp/mt8183/ipi_chip.h
M chip/stm32/gpio-stm32l5.c
M chip/mec1322/port80.c
M chip/stm32/system.c
M chip/stm32/gpio-stm32h7.c
M chip/stm32/usart-stm32f3.c
M chip/mchp/system.c
M board/zinger/usb_pd_policy.c
M chip/mt_scp/mt8183/ipi.c
M chip/stm32/i2c-stm32l4.c
M chip/npcx/shi.c
M board/twinkie/sniffer.c
M chip/stm32/dma.c
M chip/mec1322/uart.c
M chip/npcx/espi.c
M chip/npcx/ps2.c
M chip/mec1322/system.c
M chip/mec1322/hwtimer.c
M chip/npcx/adc.c
M chip/npcx/wov.c
M chip/stm32/hwtimer.c
M chip/stm32/gpio-stm32f3.c
M chip/stm32/gpio-stm32l4.c
M chip/mchp/hwtimer.c
M board/mchpevb1/board.c
M chip/mchp/espi.c
M chip/mt_scp/mt8183/clock.c
M chip/npcx/peci.c
M chip/nrf51/hwtimer.c
M chip/max32660/gpio_chip.c
M chip/lm4/system.c
M chip/npcx/lpc.c
M chip/ish/uart.c
M chip/max32660/uart_chip.c
M chip/npcx/i2c.c
M chip/mec1322/gpio.c
M core/nds32/irq_handler.h
M chip/stm32/i2c-stm32f0.c
M chip/lm4/keyboard_raw.c
M chip/lm4/hwtimer.c
M chip/stm32/i2c-stm32f4.c
M chip/mchp/lpc.c
M chip/npcx/hwtimer.c
M board/zinger/board.c
M chip/lm4/gpio.c
M chip/nrf51/gpio.c
M chip/npcx/keyboard_raw.c
M chip/mec1322/i2c.c
M chip/mt_scp/mt8183/gpio.c
M board/twinkie/simpletrace.c
M include/task.h
M chip/stm32/usb_dwc.c
M chip/mec1322/lpc.c
M chip/mchp/i2c.c
M chip/max32660/i2c_chip.c
M core/minute-ia/irq_handler.h
M chip/npcx/gpio-npcx5.c
M chip/lm4/adc.c
M chip/stm32/gpio-stm32g4.c
M chip/npcx/gpio-npcx9.c
M core/cortex-m0/irq_handler.h
M core/cortex-m/irq_handler.h
M chip/stm32/usb.c
M chip/stm32/uart.c
M chip/npcx/cec.c
ap...@google.com <ap...@google.com> #102
Branch: main
commit 4433b13348b354f1eca560fdbcb3c97257a36865
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 05 22:05:23 2021
board/coral: Fix keyboard backlight GPIO
When building with clang, it reports:
board/coral/gpio.inc:164:1: error: initializer overrides prior initialization
of this subobject [-Werror,-Winitializer-overrides]
ALTERNATE(PIN(B, 6), 3, MODULE_PWM, 0) /* PWM KB Backlight */
This expands to:
static const struct gpio_alt_func gpio_alt_funcs[] = {
...
{GPIO_PORT_B, (1U << (6)), .func = (3), .module_id = (MODULE_PWM), .flags =
(0)},
};
The problem is that struct gpio_alt_func has the order "module_id, func,
port, mask, flags", so in this case we are setting func to (1U << (1))
and then to (0).
It looks like the intent was to use the PIN_MASK macro instead of PIN,
which expands to:
static const struct gpio_alt_func gpio_alt_funcs[] = {
...
{.port = GPIO_PORT_B, .mask = ((1U << (6))), .func = (3), .module_id =
(MODULE_PWM), .flags = (0)},
};
BRANCH=none
BUG=b:172020503
TEST=make V=1 CC=arm-none-eabi-clang BOARD=coral
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Idcf0d0f9883eb46439d5b1a57c0118e496b74d44
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M board/coral/gpio.inc
ap...@google.com <ap...@google.com> #103
Branch: main
commit 71a950203dbd641ef73353e14024731b892db80c
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 23:56:37 2021
common/usb_pd: Move common functions
pd_send_host_event and pd_notify_dp_alt_mode_entry aren't specific to
usb_pd_host_cmd.c. Move them to the usb_common.c file. This allows us to
disable CONFIG_USB_PD_HOST_CMD and still compile successfully.
BRANCH=none
BUG=b:172020503
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Id48fbea250ca206368c251adf30583e231fbdd4f
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M common/usb_common.c
M common/usb_pd_host_cmd.c
ap...@google.com <ap...@google.com> #104
Branch: main
commit f2c11d776e5d5d4aba69045cd1a5901185cc7295
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 17:55:15 2021
power/rk3399: Change fake GPIO
When building with clang, it warns:
power/rk3399.c:605:26: error: implicit conversion from enumeration type
'enum power_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
power_signal_interrupt(POWER_SIGNAL_COUNT);
~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
It appears the intent is to derive a signal to send that is beyond the
number of power signals, but "enum gpio_signal" and "enum power_signal"
are separate enums, so POWER_SIGNAL_COUNT could be some other valid
GPIO.
Note that this is a functional change.
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=scarlet
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Iba143e8903c11a4315e6b74fdb8e3245938b2b50
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
M power/rk3399.c
ap...@google.com <ap...@google.com> #105
Branch: main
commit 01afc0fb674113c3ec59b7b19a071840e18a1888
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Sep 30 17:35:15 2021
core/cortex-m0: Fix inline asm in in_interrupt_context
"lsl" is not a valid instruction for Cortex-M0:
Instead of "lsl", gcc will silently emit the correct variant of the
instruction ("lsls" which updates condition codes).
However, when using clang, it fails to compile due to the invalid
instruction:
core/cortex-m0/task.c:178:7: error: invalid instruction, any one of the
following would fix this:
"lsl %0, #23\n" : "=r"(ret)); /* exception bits are the 9 LSB */
^
<inline asm>:2:1: note: instantiated into assembly here
lsl r0, #23
^
core/cortex-m0/task.c:178:7: note: instruction requires: thumb2
"lsl %0, #23\n" : "=r"(ret)); /* exception bits are the 9 LSB */
^
<inline asm>:2:1: note: instantiated into assembly here
lsl r0, #23
^
core/cortex-m0/task.c:178:7: note: no flag-preserving variant of this
instruction available
"lsl %0, #23\n" : "=r"(ret)); /* exception bits are the 9 LSB */
^
Instead of writing assembly to do the shifting, use C. The generated
code adds a few instructions since we're now returning a "bool" (0 or 1)
instead of the raw shifted value:
Before:
arm-none-eabi-objdump -d build/servo_micro/RO/core/cortex-m0/task.o
00000000 <in_interrupt_context>:
0: f3ef 8005 mrs r0, IPSR
4: 05c0 lsls r0, r0, #23
6: 4770 bx lr
After:
arm-none-eabi-objdump -d build/servo_micro/RO/core/cortex-m0/task.o
00000000 <in_interrupt_context>:
0: f3ef 8005 mrs r0, IPSR
4: 05c0 lsls r0, r0, #23
6: 1e43 subs r3, r0, #1
8: 4198 sbcs r0, r3
a: b2c0 uxtb r0, r0
c: 4770 bx lr
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=servo_micro -j
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I530896186c2dbbd582f7c9973d1157ebe3601b34
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M core/cortex-m0/task.c
ap...@google.com <ap...@google.com> #106
Branch: main
commit 107bea02fefdc4286e929d5cde48b2a57a0ded21
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Nov 03 22:40:26 2021
task: Use bool for truthy return types
Using bool makes it clear that the function returns "true" or "false",
rather than any integer. It also avoids the need to use "!!" to set the
value to 0 or 1, since the compiler ensures that "bool" is always a 0 or
1, even if another value is assigned.
BRANCH=none
BUG=b:172020503
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I164e5c03c23fa2f0ffb61e87f5613e080814ce10
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M core/nds32/task.c
M core/cortex-m/task.c
M zephyr/shim/src/tasks.c
M core/riscv-rv32i/task.c
M core/host/task.c
M core/minute-ia/task.c
M core/cortex-m0/task.c
M include/task.h
ap...@google.com <ap...@google.com> #107
Branch: main
commit 0ef5b9815b2caf5fc3aa919e62129b4f757c0fe1
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 28 19:07:52 2021
core/cortex-m0: fix vecttable.c when compiling with clang
This is the same as commit 0907090490b07357902927f089228d63a775cdf0,
which made the same change for core/cortex-m/vecttable.c.
The vecttable section was attempting to add the "a" flag, which
indicates the section is allocatable:
Comparing the "text.vecttable" ELF section headers for gcc before and
after this change, in both cases the ALLOC flag is set and there are no
other difference in flags:
arm-none-eabi-objdump -h \
build/discovery-stm32f072/RO/core/cortex-m0/vecttable.o
Sections:
Idx Name Size VMA LMA File off Algn
...
4 .text.vecttable 000000c0 00000000 00000000 0000003c 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
...
However, if we examine the clang section headers before this change we
see that before the change the section name is .text.vecttable,"a",
rather than .text.vecttable:
arm-none-eabi-objdump -h \
build/discovery-stm32f072/RO/core/cortex-m0/vecttable.o
Sections:
Idx Name Size VMA LMA File off Algn
...
3 .text.vecttable,"a" @ 000000c0 00000000 00000000 00000044 2**2
CONTENTS, ALLOC, LOAD, RELOC, DATA
...
After the change, the section is correctly named .text.vecttable:
Sections:
Idx Name Size VMA LMA File off Algn
...
3 .text.vecttable 000000c0 00000000 00000000 00000044 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
...
We also see that the ALLOC flag is correctly set.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8d84f44266fe3bfe3a942401d9fdbe7760c6af53
Reviewed-on:
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M core/cortex-m0/vecttable.c
ap...@google.com <ap...@google.com> #108
Branch: firmware-dedede-13606.B-master
commit 6d74c9481836aba8fe9f0d26a082c964cdbfc908
Author: Diana Z <dzigterman@chromium.org>
Date: Thu Nov 11 08:45:41 2021
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Relevant changes:
git log --oneline f98d59590..8a9a3e4eb -- baseboard/dedede board/beetley
board/blipper board/boten board/bugzzy board/cret board/drawcia
board/galtic board/kracko board/lantis board/madoo board/magolor
board/metaknight board/pirika board/sasuke board/sasukette board/storo
board/waddledee board/waddledoo board/wheelie common/charge_state_v2.c
common/mkbp_* common/ocpc.c common/usbc/usb_tc_drp_acc_trysrc_sm.c
common/usbc/usb_sm.c common/usbc/*_pd_* common/usbc/dp_alt_mode.c
common/usbc/usb_prl_sm.c common/usbc/usb_pe_drp_sm.c
common/usb_charger.c common/usb_common.c common/usbc_ocp.c
driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.*
driver/tcpm/it83* include/power/icelake.h include/intel_x86.h
power/icelake.c power/intel_x86.c util/getversion.sh
71a950203 common/usb_pd: Move common functions
687b23983 Task: Introduce generic deferred check
e1d598220 tree: Work around clang bug
a311557a3 tree: Create usb_pd_pdo.c
BRANCH=None
BUG=b:172020503 b:202062363 b:172020503 b:195137794
TEST=`make -j buildall`
Signed-off-by: Diana Z <dzigterman@chromium.org>
Change-Id: I81655a7b974fb9991b67aedebed93075e951932b
ap...@google.com <ap...@google.com> #109
Branch: main
commit f5b8386e9ce857d8057ea8bedf19d94885a08cde
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 25 17:11:58 2021
power: add casts for power signals
When building with clang, it warns:
power/icelake.c:49:11: error: implicit conversion from enumeration type
'enum espi_vw_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
.gpio = SLP_S4_SIGNAL_L,
^~~~~~~~~~~~~~~
include/power/intel_x86.h:40:25: note: expanded from macro
'SLP_S4_SIGNAL_L'
Although "enum espi_vw_signal" and "enum gpio_signal" are not directly
compatible, it appears that the code in power/common.c takes that into
account by calling espi_signal_is_vw().
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ibb3ac42516d2e293cf707ca92eacd6bd7c11049c
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M power/skylake.c
M power/alderlake_slg4bd44540.c
M power/icelake.c
ap...@google.com <ap...@google.com> #110
Branch: main
commit 2f128a15b96b61257a4ec04b7618deac0913ba16
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 21 23:52:55 2021
power: Combine chipset_reset_reason and chipset_shutdown_reason
When building with clang, it warns:
power/amd_x86.c:59:18: error: implicit conversion from enumeration type
'enum chipset_reset_reason' to different enumeration type 'enum
chipset_shutdown_reason' [-Werror,-Wenum-conversion]
report_ap_reset(reason);
The two enums are already set up so that they don't overlap, so just
combine them into a single enum.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> All boards match, except:
burnet cerise damu fennel jacuzzi juniper kakadu kappa katsu kodama
krane kukui makomo stern willow
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I47620e59e02a84c04dde4469f36ad37dccbcd9e5
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M include/ec_commands.h
M power/mt8183.c
M power/mt8192.c
M power/rk3399.c
M power/qcom.c
M include/chipset.h
M power/braswell.c
M power/amd_x86.c
M power/sdm845.c
M board/host/chipset.c
M power/intel_x86.c
M power/falconlite.c
M power/mt817x.c
M power/rk3288.c
M zephyr/test/drivers/src/stubs.c
ap...@google.com <ap...@google.com> #111
Branch: main
commit e5f8a7323b80c999a862b0b73da58fb72e8980eb
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 08 00:09:53 2021
core/cortex-m0: Use symbolic name instead of r0
With gcc, the generated assembly for exception_panic after this change
removes a "adds r0, r0, #0" instruction and a nop.
00000000 <exception_panic>:
0: 4b08 ldr r3, [pc, #32] ; (24 <exception_panic+0x24>)
2: 4809 ldr r0, [pc, #36] ; (28 <exception_panic+0x28>)
4: 469c mov ip, r3
; No more "adds r0, r0, #0" here
6: f3ef 8109 mrs r1, PSP
a: f3ef 8205 mrs r2, IPSR
e: 466b mov r3, sp
10: c0fe stmia r0!, {r1, r2, r3, r4, r5, r6, r7}
12: 4641 mov r1, r8
14: 464a mov r2, r9
16: 4653 mov r3, sl
18: 465c mov r4, fp
1a: 4675 mov r5, lr
1c: c03e stmia r0!, {r1, r2, r3, r4, r5}
1e: 46e5 mov sp, ip
20: f7ff fffe bl 0 <exception_panic>
; No more nop here
24: 20003f70 .word 0x20003f70
28: 20003f74 .word 0x20003f74
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=c2d2
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I5282369fd97a21b5927175adecff2ba74c4f8fc3
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M core/cortex-m0/panic.c
ap...@google.com <ap...@google.com> #112
Branch: main
commit 1cdedb45fd67ec24df9ac8190ed5f202e35db5e8
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 07 22:04:48 2021
core/cortex-m: Use symbolic name instead of r0
This assembly is supposed to force the compiler to use r0 for pregs and
r12 for pstack. When compiling with clang, it uses r12 for pregs and r0
for pstack, so the "stmia r0" instruction is using the wrong value.
Instead of assuming that pregs will be in r0 and pstack will be in r12,
just use the symbolic name ("pregs") with the stmia instruction. This
generates the correct behavior regardless of whether pregs or pstack use
r0 or r12.
With gcc, the generated assembly for exception_panic after this change
removes the "mov r0, r0" instruction and adds a nop at the end:
00000000 <exception_panic>:
0: 480e ldr r0, [pc, #56] ; (3c <exception_panic+0x3c>)
2: f8df c03c ldr.w ip, [pc, #60] ; 40 <exception_panic+0x40>
; No more "mov r0, r0" here
6: f3ef 8109 mrs r1, PSP
a: f3ef 8205 mrs r2, IPSR
e: 466b mov r3, sp
10: 05d6 lsls r6, r2, #23
12: bf1c itt ne
14: 2400 movne r4, #0
16: 2500 movne r5, #0
18: f04f 0600 mov.w r6, #0
1c: f04f 0700 mov.w r7, #0
20: f04f 0800 mov.w r8, #0
24: f04f 0900 mov.w r9, #0
28: f04f 0a00 mov.w sl, #0
2c: f04f 0b00 mov.w fp, #0
30: e880 4ffe stmia.w r0, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
34: 46e5 mov sp, ip
36: f7ff fffe bl 0 <exception_panic>
3a: bf00 nop ; adds nop instruction
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=bloonchipper
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I150d685bde701171630ae02b16e6050e1e0e77a6
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M core/cortex-m/panic.c
ap...@google.com <ap...@google.com> #113
Branch: main
commit 613294b31937124638b43f8adb18a82efc3d5807
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 12 23:44:25 2021
core/cortex-m: Include subsections in bss
The FPC library used on bloonchipper has bss subsections (e.g.,
bss.sensor_config). These subsections must be put within __bss_start and
__bss_end or the initialization performed in core/cortex-m/init.S will
not clear it, resulting in potentially random values in the variables
rather than zero.
Before this change:
arm-none-eabi-objdump -h build/bloonchipper/RW/ec.RW.elf
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00022eee 08060000 08060000 00010000 2**5
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .rodata 00008ab8 08082ef0 08082ef0 00032ef0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .bss 000134b0 20000000 20000000 00050000 2**3
ALLOC
...
13 .bss.sensor_config 00000004 200134f0 200134f0 00050000 2**2
ALLOC
...
22 .data 000000b8 20013508 0808b9a8 00043508 2**3
CONTENTS, ALLOC, LOAD, DATA
...
After this change:
arm-none-eabi-objdump -h build/bloonchipper/RW/ec.RW.elf
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00022eee 08060000 08060000 00010000 2**5
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .rodata 00008ab8 08082ef0 08082ef0 00032ef0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .bss 00013508 20000000 20000000 00050000 2**3
ALLOC
3 .data 000000b8 20013508 0808b9a8 00043508 2**3
CONTENTS, ALLOC, LOAD, DATA
...
BRANCH=none
BUG=b:172020503, b:201113851
TEST=On dragonclaw with servo_micro attached:
> fpenroll
> fpmatch
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I9a9187e05b8e734f9513ff27c49571ccb12d86df
Reviewed-on:
Reviewed-by: Patryk Duda <patrykd@google.com>
Reviewed-by: Keith Short <keithshort@chromium.org>
M core/cortex-m/ec.lds.S
ap...@google.com <ap...@google.com> #114
Branch: firmware-dedede-13606.B-master
commit fd5614877613ff52ef2652ccc9d7696cc74a0648
Author: Aseda Aboagye <aaboagye@google.com>
Date: Tue Nov 16 13:07:16 2021
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Relevant changes:
git log --oneline 6d74c94818..71569c14d2 -- baseboard/dedede
board/beetley board/blipper board/boten board/bugzzy board/cret
board/drawcia board/galtic board/kracko board/lantis board/madoo
board/magolor board/metaknight board/pirika board/sasuke board/sasukette
board/storo board/waddledee board/waddledoo board/wheelie
common/charge_state_v2.c common/mkbp_* common/ocpc.c
common/usbc/usb_tc_drp_acc_trysrc_sm.c common/usbc/usb_sm.c
common/usbc/*_pd_* common/usbc/dp_alt_mode.c common/usbc/usb_prl_sm.c
common/usbc/usb_pe_drp_sm.c common/usb_charger.c common/usb_common.c
common/usbc_ocp.c driver/charger/sm5803.* driver/charger/isl923x.*
driver/tcpm/raa489000.* driver/tcpm/it83* include/power/icelake.h
include/intel_x86.h power/icelake.c power/intel_x86.c util/getversion.sh
cecf944509 TCPMv2: Prepare for boards using USB mux task
baceb4eb56 TCPMv2: Add DPM setup enum
c5e1303856 TCPMV2: Prevent EC boot loop when battery is dead
f5b8386e9c power: add casts for power signals
2f128a15b9 power: Combine chipset_reset_reason and chipset_shutdown_reason
c31b47cde0 bugzzy : change accel/gyro sensor
9167d6932d ISL923x: Set charge current to 0 when ocpc precharge complete
1e7adae17c baseboard: dedede: Reduce amount of logs
011b2680db TCPMv2: Wake TCPC when changing dual role
9cb0465fec RAA489000: Configure I2C wake function
BRANCH=None
BUG=b:172020503 b:202796060 b:205883173 b:201961774 b:172222942
BUG=b:186777984 b:204832951 b:195393479
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: I784d759604a8c3c6debf34c623b9f0dcbb53c823
ap...@google.com <ap...@google.com> #115
Branch: firmware-keeby-14119.B-main
commit eff51ca60572c33a4abf9390798de8e684d1469c
Author: Aseda Aboagye <aaboagye@google.com>
Date: Tue Nov 16 13:20:22 2021
Merge remote-tracking branch cros/main into firmware-keeby-14119.B-main
Relevant changes:
git log --oneline 896cce0b14..71569c14d2 -- baseboard/dedede
board/cappy2 board/corori board/driblee board/gooey board/haboki
board/lalala board/waddledoo2 common/charge_state_v2.c common/mkbp_*
common/ocpc.c common/usbc/usb_tc_drp_acc_trysrc_sm.c
common/usbc/usb_sm.c common/usbc/*_pd_* common/usbc/dp_alt_mode.c
common/usbc/usb_prl_sm.c common/usbc/usb_pe_drp_sm.c
common/usb_charger.c common/usb_common.c common/usbc_ocp.c
driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.*
driver/tcpm/it83* include/power/icelake.h include/intel_x86.h
power/icelake.c power/intel_x86.c util/getversion.sh
cecf944509 TCPMv2: Prepare for boards using USB mux task
baceb4eb56 TCPMv2: Add DPM setup enum
c5e1303856 TCPMV2: Prevent EC boot loop when battery is dead
f5b8386e9c power: add casts for power signals
2f128a15b9 power: Combine chipset_reset_reason and chipset_shutdown_reason
9167d6932d ISL923x: Set charge current to 0 when ocpc precharge complete
1e7adae17c baseboard: dedede: Reduce amount of logs
011b2680db TCPMv2: Wake TCPC when changing dual role
9cb0465fec RAA489000: Configure I2C wake function
71a950203d common/usb_pd: Move common functions
687b239833 Task: Introduce generic deferred check
d1378e4416 Driblee: Change charging current
8c25665c51 Driblee: Change D-FET detect mask
e1d5982202 tree: Work around clang bug
a311557a31 tree: Create usb_pd_pdo.c
BRANCH=None
BUG=b:195137794 b:202796060 b:172222942 b:186777984 b:201961774
BUG=b:205496800 b:172020503 b:202062363 b:195393479 b:205883173
BUG=b:205496805 b:172020503
TEST=`make -j buildall`
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: I4aa169b8515d19b30d6efba23c14a28a94764832
ap...@google.com <ap...@google.com> #116
Branch: main
commit 5374c39953e955b25f7bf4bdc0d240edc469a4f8
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 15 23:08:30 2021
core/cortex-m0: Include .bss and .data subsections
When compiling with clang (linking with lld), there are many .data and
.bss subsections that are not being included in .data and .bss. For
example, .data.board_get_version.ver and .bss.usart3_usb_state.
The following shows the complete section output when compiling with
clang before this change:
arm-none-eabi-objdump -h build/servo_v4/RO/ec.RO.elf
build/servo_v4/RO/ec.RO.elf: file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000c39c 08000000 08000000 00010000 2**3
CONTENTS, ALLOC, LOAD, CODE
1 .rodata 00002b44 0800c39c 0800c39c 0001c39c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .data.board_get_version.ver 00000004 20000000 20000000 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA
3 .data..compoundliteral.158 0000003a 20000004 20000004 00020004 2**1
CONTENTS, ALLOC, LOAD, DATA
4 .data.iface_next 00000001 2000003e 2000003e 0002003e 2**0
CONTENTS, ALLOC, LOAD, DATA
5 .data.last_tx_ok 00000004 20000040 20000040 00020040 2**2
CONTENTS, ALLOC, LOAD, DATA
6 .data.print_reg.rname 00000003 20000044 20000044 00020044 2**0
CONTENTS, ALLOC, LOAD, DATA
7 .data..L_MergedGlobals 00000068 20000048 20000048 00020048 2**3
CONTENTS, ALLOC, LOAD, DATA
8 .vtable 000000c0 200000b0 200000b0 000200b0 2**0
ALLOC
9 .bss 00000480 20000170 20000170 000200b0 2**0
ALLOC
10 .data 00000000 200005f0 0800eee0 000205f0 2**0
CONTENTS, ALLOC, LOAD, DATA
11 .usb_ram 00000278 40006000 40006000 000205f0 2**3
ALLOC
12 .bss.usart3_usb_state 00000008 200005f0 0800eee0 000205f0 2**2
ALLOC
13 .bss.usart4_usb_state 00000008 200005f8 0800eee8 000205f0 2**2
ALLOC
14 .bss..compoundliteral.64 00000008 20000600 0800eef0 000205f0 2**2
ALLOC
15 .bss..compoundliteral.66 00000040 20000608 0800eef8 000205f0 2**0
ALLOC
...
61 .bss..L_MergedGlobals.845 00000070 20003550 08011e40 000205f0 2**2
ALLOC
62 .debug_info 00014398 00000000 00000000 000205f0 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
...
When compiling with gcc (and clang with this fix), we see that there is
only a single .data and .bss section (all of the subsections have been
included in .data and .bss):
build/servo_v4/RO/ec.RO.elf: file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000c390 08000000 08000000 00010000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .rodata 00002a50 0800c390 0800c390 0001c390 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .vtable 000000c0 20000000 20000000 00030000 2**0
ALLOC
3 .bss 00003408 200000c0 200000c0 00030000 2**3
ALLOC
4 .data 000000b8 200034c8 0800ede0 000234c8 2**3
CONTENTS, ALLOC, LOAD, DATA
...
The output for all boards is exactly the same before and after this
change when compiling with gcc.
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=servo_v4
TEST=./util/compare_board.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Id8ae9689c739779fe048c3577e105280c3c6869b
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M core/cortex-m0/ec.lds.S
ap...@google.com <ap...@google.com> #117
Branch: main
commit bc85da4ee284112fd8589de8e71bf16c8fe99de5
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 05 23:54:40 2021
chip/npcx: Disable linker section check warning
When linking with clang (lld), it complains that the .header and .text
virtual memory address (VMA) overlaps:
ld.lld: error: section .header virtual address range overlaps with .text
>>> .header range is [0x10070000, 0x1007003F]
>>> .text range is [0x10070000, 0x10095DDB]
However, in this case it appears that it's ok that the header overlaps
with the text section, since the bootloader uses the header to copy the
firmware from flash to RAM (the header itself is not copied).
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=elemi
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ic2a7058c85bbcb90c69d2b372f6d33930ac4d212
Reviewed-on:
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
M chip/npcx/
ap...@google.com <ap...@google.com> #118
Branch: main
commit 92c39fcf0f6f62722ec6fa8440de689055e2d398
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Nov 18 14:03:33 2021
core/cortex-m[0]: Replace numeric index with readable name
The code is easier to read with human readable names instead of numeric
values.
BRANCH=none
BUG=b:172020503, b:207001076
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ie7474729dcb43edb9b6a728b9b944b55d76a1f0f
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
M core/cortex-m/panic.c
M core/cortex-m0/panic.c
ap...@google.com <ap...@google.com> #119
Branch: main
commit 9d96e18a05a09a8e6b7c8de64f0f4ce3d83a859e
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 05 23:33:39 2021
core/cortex-m0: Fix div.S compilation with clang
Add an additional label at the same address as __aeavi_uidivmod to work
around a linker crash crash when using clang:
ld.lld: error: core/cortex-m0/div.S:51:(.text+0x10): internal linker
error: cannot read addend for relocation R_ARM_THM_JUMP8
BRANCH=none
BUG=b:172020503, b:205351146
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I5a7f682377311e881ac2bcdb85b854127f5907ba
Reviewed-on:
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
M third_party/libaeabi-cortexm0/core/cortex-m0/div.S
ap...@google.com <ap...@google.com> #120
Branch: firmware-fpmcu-bloonchipper-release
commit 84c3602333aeeab99219601af7a29c91c9e26011
Author: Patryk Duda <pdk@semihalf.com>
Date: Fri Feb 04 13:47:09 2022
Merge remote-tracking branch cros/main into firmware-fpmcu-bloonchipper-release
Relevant changes:
git log --oneline 87ebfe5f6a..8e7852d2bb -- board/hatch_fp
board/bloonchipper common/fpsensor docs/fingerprint driver/fingerprint
util/getversion.sh
408c741584 docs/fingerprint: Fix formatting with mdformat
1f997a95b7 cortex-m: Introduce FPU interrupt handler
8367fb87a3 docs/fingerprint: Update audit report link
a117f3d715 docs/fingerprint: Update JLink installation instructions
14b2c63ddc docs/fingerprint: Add FPMCU RAM and Flash doc
c53da4bba3 atomic: fix printing atomic_t type
cf66b52887 atomic: change atomic_t to long
4f7cd7509d atomic: use atomic_t where it is possible
0b30dbb888 COIL: Update links for inclusive language
9203b2b7d0 COIL: Update SPI references to controller/peripheral
5aa338628b docs/fingerprint: Update links
e88d582ee2 docs/fingerprint: Fix formatting with mdformat
a9fe8ed20b fpsensor: Use global fingerprint OWNERS file
09e3123257 tree: Make all console commands static
ce0d7699e6 docs/fingerprint: replace master with HEAD in URLs
BRANCH=None
BUG=b:207082842 b:180546850 b:178132109 b:213510520 b:172020503
BUG=b:163885307 b:215606535 b:200828093
TEST=`make -j buildall`
TEST=`./test/run_device_tests.py -b bloonchipper`
Test "aes": PASSED
Test "cec": PASSED
Test "cortexm_fpu": PASSED
Test "crc": PASSED
Test "flash_physical": PASSED
Test "flash_write_protect": PASSED
Test "fpsensor_hw": PASSED
Test "fpsensor": PASSED
Test "mpu": PASSED
Test "mutex": PASSED
Test "pingpong": PASSED
Test "printf": PASSED
Test "queue": PASSED
Test "rollback": PASSED
Test "rollback_entropy": PASSED
Test "rtc": PASSED
Test "sha256": PASSED
Test "sha256_unrolled": PASSED
Test "static_if": PASSED
Test "timer_dos": PASSED
Test "utils": PASSED
Test "utils_str": PASSED
Test "stm32f_rtc": PASSED
Cq-Include-Trybots: chromeos/cq:cq-orchestrator
Signed-off-by: Patryk Duda <pdk@semihalf.com>
Change-Id: I5163dde5ba96dd6370c9156850604900998fed89
D common/fpsensor/OWNERS
ap...@google.com <ap...@google.com> #121
Branch: firmware-fpmcu-dartmonkey-release
commit 325d5f052cab38802e8f1c18c90375dc7d33a872
Author: Patryk Duda <pdk@semihalf.com>
Date: Fri Feb 04 14:39:04 2022
Merge remote-tracking branch cros/main into firmware-fpmcu-dartmonkey-release
Relevant changes:
git log --oneline eecc138183..8e7852d2bb -- board/nocturne_fp
board/dartmonkey common/fpsensor docs/fingerprint driver/fingerprint
util/getversion.sh
408c741584 docs/fingerprint: Fix formatting with mdformat
1f997a95b7 cortex-m: Introduce FPU interrupt handler
8367fb87a3 docs/fingerprint: Update audit report link
a117f3d715 docs/fingerprint: Update JLink installation instructions
14b2c63ddc docs/fingerprint: Add FPMCU RAM and Flash doc
c53da4bba3 atomic: fix printing atomic_t type
cf66b52887 atomic: change atomic_t to long
4f7cd7509d atomic: use atomic_t where it is possible
0b30dbb888 COIL: Update links for inclusive language
9203b2b7d0 COIL: Update SPI references to controller/peripheral
5aa338628b docs/fingerprint: Update links
e88d582ee2 docs/fingerprint: Fix formatting with mdformat
a9fe8ed20b fpsensor: Use global fingerprint OWNERS file
09e3123257 tree: Make all console commands static
ce0d7699e6 docs/fingerprint: replace master with HEAD in URLs
BRANCH=None
BUG=b:213510520 b:180546850 b:178132109 b:207082842 b:163885307
BUG=b:215606535 b:172020503 b:200828093
TEST=`make -j buildall`
TEST=`./test/run_device_tests.py -b dartmonkey`
Test "aes": PASSED
Test "cec": PASSED
Test "cortexm_fpu": PASSED
Test "crc": PASSED
Test "flash_physical": PASSED
Test "flash_write_protect": PASSED
Test "fpsensor_hw": PASSED
Test "fpsensor": PASSED
Test "mpu": PASSED
Test "mutex": PASSED
Test "pingpong": PASSED
Test "printf": PASSED
Test "queue": PASSED
Test "rollback": PASSED
Test "rollback_entropy": PASSED
Test "rtc": PASSED
Test "sha256": PASSED
Test "sha256_unrolled": PASSED
Test "static_if": PASSED
Test "timer_dos": PASSED
Test "utils": PASSED
Test "utils_str": PASSED
Cq-Include-Trybots: chromeos/cq:cq-orchestrator
Signed-off-by: Patryk Duda <pdk@semihalf.com>
Change-Id: I0d866eb2e66557f84296db538d46d72ff50e1cd9
D common/fpsensor/OWNERS
ap...@google.com <ap...@google.com> #122
Branch: main
commit a995e5207db7020bbad2352007894e8196d65bfa
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Mar 24 13:38:06 2022
util: Increase buffer size to account for terminating NUL
When building with clang it warns:
util/ecst.c:464:7: error: 'sscanf' may overflow; destination buffer in
argument 3 has size 20, but the corresponding specifier may require size
21 [-Werror,-Wfortify-source]
main_str_temp) != 1)) {
^
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I0556973263ce2b220e64640e585997c44324db55
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
M util/ecst.h
ap...@google.com <ap...@google.com> #123
Branch: main
commit f7330f4cfa3934d7d48a982a164de6987c8a4744
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Mar 24 13:36:04 2022
power: add casts for power signals
When building with clang, it warns:
power/alderlake_slg4bd44540.c:71:11: error: implicit conversion from
enumeration type 'enum espi_vw_signal' to different enumeration type 'enum
gpio_signal' [-Werror,-Wenum-conversion]
.gpio = SLP_S5_SIGNAL_L,
^~~~~~~~~~~~~~~
include/power/intel_x86.h:53:25: note: expanded from macro 'SLP_S5_SIGNAL_L'
Although "enum espi_vw_signal" and "enum gpio_signal" are not directly
compatible, it appears that the code in power/common.c takes that into
account by calling espi_signal_is_vw().
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ic2531bf6c6d5e99674c2a2c35cd4374e7eda1bcd
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M power/alderlake_slg4bd44540.c
M power/icelake.c
ap...@google.com <ap...@google.com> #124
Branch: main
commit f74e2c127e68c0f203a0e3372f4d5784e61b7454
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Mar 24 14:09:12 2022
Makefile: Disable unused function warning when building with clang
The CLs required to fix this warning when building with clang are large
and touch many files:
For now, we'll disable the warning so that compiling with clang
succeeds.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I232b41824cf66286866808733a6728ec964d45ce
Reviewed-on:
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
M Makefile.toolchain
ap...@google.com <ap...@google.com> #125
Branch: main
commit d59d28590dccd73097c0089ad8081589f7901bc6
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Mar 24 09:44:08 2022
Makefile: --print-memory-usage is not supported by lld
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8ef6b4e27288c501e60c7eda5931e35aeb22b98a
Reviewed-on:
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
M Makefile.toolchain
ap...@google.com <ap...@google.com> #126
Branch: main
commit 51b22ed2733027e8ba76942a7008f537fc7f59dd
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Mar 24 17:01:38 2022
common: Remove "__visible" from __keep
"__visible" prevents using "__keep" on static functions:
error: 'externally_visible' attribute have effect only on public objects
[-Werror=attributes]
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ibf140138ff6e9509340b482a5cbd4d376c041bcd
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
M include/common.h
ap...@google.com <ap...@google.com> #127
Branch: main
commit 3b0ca45921e5111f89c34ef96c8667bd65973684
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Mar 28 15:11:46 2022
tree: Replace __attribute__((used)) with __keep
The two are equivalent, so use __keep everywhere for consistency.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ie2d15e8fa00dbe35a190060c80f15f4ba720e3a6
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M common/util_stdlib.c
M core/cortex-m/irq_handler.h
M core/cortex-m/llsr.c
M core/minute-ia/irq_handler.h
M include/task.h
ap...@google.com <ap...@google.com> #128
Branch: firmware-brya-14505.B-main
commit 2824cf9de724b9501fb8ab2aec934bb605e6bde6
Author: Boris Mittelberg <bmbm@google.com>
Date: Tue Mar 29 13:31:55 2022
Merge remote-tracking branch cros/main into firmware-brya-14505.B-main
Generated by: util/update_release_branch.py --baseboard brya
--relevant_paths_file baseboard/brya/relevant-paths.txt
firmware-brya-14505.B-main
Relevant changes:
git log --oneline a7898db136..c19ceb263f -- baseboard/brya board/agah
board/anahera board/banshee board/brya board/crota board/felwinter
board/gimble board/kano board/primus board/redrix board/taeko
board/taniks board/vell board/volmar driver/bc12/pi3usb9201_public.*
driver/charger/bq25710.* driver/ppc/nx20p348x.*
driver/ppc/syv682x_public.* driver/retimer/bb_retimer_public.*
driver/tcpm/nct38xx.* driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.*
include/power/alderlake* include/intel_x86.h power/alderlake*
power/intel_x86.c util/getversion.sh
35e833c0ff Banshee: modify fan frequency
4a47cd5779 volmar: Initialize the vivaldi keyboard
a514bf6f08 Felwinter: Fixed EN_PP5000_PEN doesn't deasserted when pen is plug-out
f7330f4cfa power: add casts for power signals
96e9f2b61a Banshee: Enable sensor fifo for ALS sensor
b81c17122e primus: send suspend mode to trackpoint
81dff9c98a primus: Add SSFC field for 2nd trackpoint
5550735942 primus: init touchpad interface after PLT_RST#
9583729c35 primus: Add genvif overrides
6585b72ac1 brya: Use GPIO and host event when generating MKBP events
15da7ebfba Banshee: sync low battery percent with OS
b55808cecd Revert "primus: fix Goodix touchpad initialize failed"
ac822d7eeb Banshee : Enable FRS.
BRANCH=None
BUG=b:221094331 b:223492897 b:226256607 b:220584239 b:222375516
BUG=b:214150759 b:226215983 b:196009529 b:214339085 b:172020503
BUG=b:208182468 b:220954645
TEST=`make -j buildall`
Signed-off-by: Boris Mittelberg <bmbm@google.com>
Change-Id: I05f84952670a6a9e6e149fab20c1d0352831df4d
ap...@google.com <ap...@google.com> #129
Branch: firmware-dedede-13606.B-master
commit 4bc8a1a16d25004f9f4359f0c2324ae7a7b49ddc
Author: Diana Z <dzigterman@chromium.org>
Date: Wed Mar 30 15:57:26 2022
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Relevant changes:
git log --oneline 8e392a9de..8be1e6b6b -- baseboard/dedede board/beadrix
board/beetley board/blipper board/boten board/bugzzy board/corori2
board/cret board/drawcia board/drawcia_riscv board/galtic board/kracko
board/lantis board/madoo board/magolor board/metaknight board/pirika
board/sasuke board/sasukette board/storo board/waddledee board/waddledoo
board/wheelie common/charge_state_v2.c common/mkbp_* common/ocpc.c
common/usbc/usb_tc_drp_acc_trysrc_sm.c common/usbc/usb_sm.c
common/usbc/*_pd_* common/usbc/dp_alt_mode.c common/usbc/usb_prl_sm.c
common/usbc/usb_pe_drp_sm.c common/usb_charger.c common/usb_common.c
common/usbc_ocp.c driver/charger/sm5803.* driver/charger/isl923x.*
driver/tcpm/raa489000.* driver/tcpm/it83* include/power/icelake.h
include/intel_x86.h power/icelake.c power/intel_x86.c util/getversion.sh
62f95a169 hooks: add HOOK_PRIO_POST_CHARGE_MANAGER
e38f4cb87 hooks: rename charger init priority to match others
863d8d834 hooks: add HOOK_PRIO_POST_LID
f08f86b89 landia: Add supporting of 2nd source LID accel sensor BMA422
9196f57b1 landia: Tune lid and base accel rotation configuration.
f7330f4cf power: add casts for power signals
BRANCH=None
BUG=b:172020503 b:226041272
TEST=`make -j buildall`
Signed-off-by: Diana Z <dzigterman@chromium.org>
Change-Id: I8e679ad563245e8c0d9743558d846a0ea1b63fc0
ap...@google.com <ap...@google.com> #130
Branch: main
commit caf06d733d84975a91eb5b331678be04b5ac18aa
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Mar 28 15:03:40 2022
tree: Add __keep to all core irq handler routines
When using LTO, we want to avoid having the IRQ handler optimized out.
__keep was already added for several of the cores (e.g.,
consistency.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I2f96266d6ea04b13f7ee8a83e56b2ac2c1e6798f
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M core/nds32/irq_handler.h
M core/riscv-rv32i/irq_handler.h
M core/cortex-m0/irq_handler.h
M core/host/irq_handler.h
ap...@google.com <ap...@google.com> #131
Branch: main
commit ed55b93c6cbf9fb327d9945691dfa86c618eb275
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Apr 01 16:20:56 2022
cortex-m/irq_handler: Replace inline asm with C
When building with clang and LTO is enabled, clang optimizes out
"routine" (the interrupt handler) and fails to link. gcc does not
optimize out the routine.
Rewriting IRQ_HANDLER in C makes it compile with both compilers, though
it uses two more instructions.
Before this change the generated assembly for an interrupt handler on
dartmonkey:
arm-none-eabi-objdump -d ./build/dartmonkey/RW/ec.RW.elf
081027a8 <irq_37_handler>:
81027a8: 4670 mov r0, lr
81027aa: b501 push {r0, lr}
81027ac: f7ff ffea bl 8102784 <uart_interrupt>
81027b0: e8bd 4001 ldmia.w sp!, {r0, lr}
81027b4: f009 bbc4 b.w 810bf40 <task_resched_if_needed>
After this change the generated assembly for an interrupt handler on
dartmonkey:
arm-none-eabi-objdump -d ./build/dartmonkey/RW/ec.RW.elf
081027e0 <irq_37_handler>:
81027e0: b507 push {r0, r1, r2, lr}
81027e2: f8cd e004 str.w lr, [sp, #4]
81027e6: f7ff ffe9 bl 81027bc <uart_interrupt>
81027ea: 9801 ldr r0, [sp, #4]
81027ec: b003 add sp, #12
81027ee: f85d eb04 ldr.w lr, [sp], #4
81027f2: f009 bbc5 b.w 810bf80 <task_resched_if_needed>
BRANCH=none
BUG=b:172020503
TEST=make buildall
TEST=./test/run_device_tests.py --board dartmonkey
=> PASS
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I7029556afc4a760e81885d8f84b7d787f48c4036
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M core/cortex-m/irq_handler.h
ap...@google.com <ap...@google.com> #132
Branch: main
commit eca67f364e6c7da698c3164f53c8e12a1e5c9080
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Oct 13 23:24:09 2021
firmware_builder: Call build_with_clang.py script
The util/build_with_clang.py script helps us validate that boards that
build successfully with clang continue to do so. As compilation errors
are fixed for boards, they can be added to the list.
The script is called from firmware_builder.py as part of the CQ process.
BRANCH=none
BUG=b:172020503
TEST=CQ passes
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8d9384e04dbfc25191d5ebf93425e6d178631168
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
A util/build_with_clang.py
M firmware_builder.py
ap...@google.com <ap...@google.com> #133
Branch: main
commit 3b64a741c8a6ba2292128cec52a9281f9877eb48
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Nov 15 19:00:11 2021
core/cortex-m[0]: Use architecture-specific compiler rt
The previously referenced compiler-rt library was only built for
ARMv7-M. The toolchain has been updated to provide both an ARMv7-M and
ARMv6-M version.
BRANCH=none
BUG=b:172020503, b:205342596
TEST=CC=clang make BOARD=discovery-stm32f072
TEST=CC=clang make BOARD=dartmonkey
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I70ac495b43449bc40bb149b0f84d113cafb49f10
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M core/cortex-m/
M core/cortex-m0/
ap...@google.com <ap...@google.com> #134
Branch: main
commit 6b3a0839404611c18b9dcee800688871414b49a3
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 18 23:37:11 2021
util/build_with_clang: Add parallelism
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I6cc9f78483d550e4981d9d685bf6ca739ceb526c
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #135
Branch: firmware-volteer-13672.B-main
commit 7b0b1ab9e0972c92ee4dce7fd140f8a2ef27ad95
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 05 17:03:15 2021
tree: Fix TEMP_SENSOR3 GPIO declaration
When building with clang, it reports:
board/chronicler/gpio.inc:178:1: error: initializer overrides prior
initialization of this subobject [-Werror,-Winitializer-overrides]
ALTERNATE(PIN(F, 1), 0, MODULE_ADC, 0) /* TEMP_SENSOR3 */
This expands to:
static const struct gpio_alt_func gpio_alt_funcs[] = {
...
{GPIO_PORT_F, (1U << (1)), .func = (0), .module_id = (MODULE_ADC), .flags =
(0)}
};
The problem is that struct gpio_alt_func has the order "module_id, func,
port, mask, flags", so in this case we are setting func to (1U << (1))
and then to (0).
It looks like the intent was to use the PIN_MASK macro instead of PIN,
which expands to:
static const struct gpio_alt_func gpio_alt_funcs[] = {
...
{.port = GPIO_PORT_F, .mask = ((1U << (1))), .func = (0), .module_id =
(MODULE_ADC), .flags = (0)},
};
The code appears to be repeated in several boards, which were found
with:
git grep --name-only TEMP_SENSOR3 | grep gpio.inc | sort | uniq
BRANCH=none
BUG=b:172020503
TEST=make CC=arm-none-eabi-clang BOARD=chronicler
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I66a097b761c0b15466a30e53a710d532cd48256c
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Reviewed-on:
Tested-by: Abe Levkoy <alevkoy@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
Commit-Queue: Abe Levkoy <alevkoy@chromium.org>
M board/chronicler/gpio.inc
M board/collis/gpio.inc
M board/halvor/gpio.inc
M board/lingcod/gpio.inc
M board/voema/gpio.inc
M board/copano/gpio.inc
M board/malefor/gpio.inc
M board/terrador/gpio.inc
M board/volet/gpio.inc
M board/delbin/gpio.inc
M board/boldar/gpio.inc
M board/trondo/gpio.inc
M board/lindar/gpio.inc
M board/eldrid/gpio.inc
M board/todor/gpio.inc
M board/voxel/gpio.inc
M board/drobit/gpio.inc
M board/elemi/gpio.inc
M board/volteer/gpio.inc
ap...@google.com <ap...@google.com> #136
Branch: main
commit dbd7e8249d3cf0a834629127ee378fdf4b700681
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Jun 06 17:06:58 2022
Makefile: Set core-specific LLVM toolchain
There are separate toolchains for ARMv6-M (cortex-m0) and ARMv7-M
(cortex-m).
BRANCH=none
BUG=b:172020503, b:234181908
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Icc131934a7b721ef3732d1b0e3f26bd4906239d2
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
M core/cortex-m/
M Makefile.toolchain
M core/cortex-m0/
ap...@google.com <ap...@google.com> #137
Branch: main
commit 38ef6b7306679544e8e86adcebb3cb8ff3c78a3d
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Jun 14 14:18:34 2022
tree: Files should end with single newline
One of the checks that runs as part of "repo upload" looks for a single
newline at the end of each file. I'm getting warnings about this when I
touch files that do not follow this, even though I didn't add the extra
newlines.
This commit fixes additional files not included in
for f in $(find . -name '*.mk');
do printf '%s\n' "$(cat ${f})" > ${f};
done
for f in $(find . -name '*.S'); do
printf '%s\n' "$(cat ${f})" > ${f}
done
BRANCH=none
BUG=b:172020503, b:234181908
TEST=./util/compare_build.sh -b all -j 120
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ib4e4d0e74bf3b00a0b2c81505fef65e2c1b7401f
Reviewed-on:
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M baseboard/kalista/
M board/hatch_fp/
M third_party/unacl-curve25519/core/cortex-m0/curve25519/mul.S
M core/cortex-m/init.S
M baseboard/nucleo-h743zi/
M chip/mt_scp/mt8192/
M third_party/unacl-curve25519/core/cortex-m0/curve25519/reduce25519.S
M baseboard/guybrush/
M chip/max32660/
M fuzz/
M core/nds32/switch.S
M chip/mt_scp/mt8195/
M core/cortex-m0/init.S
M third_party/unacl-curve25519/core/cortex-m0/curve25519/mpy121666.S
M core/cortex-m/switch.S
ap...@google.com <ap...@google.com> #138
Branch: main
commit fcb67abf10d9505939a9d858d20f3024775fe9f9
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Jun 14 09:50:26 2022
Makefile: Make sure CROSS_COMPILE is set correctly
When testing a change to set the default compiler to clang for
dartmonkey, I encountered an error when building with
"make proj-bloonchipper":
ccache: error: execv of /opt/coreboot-sdk/bin/arm-eabi-clang failed: No
such file or directory
In this case the CC variable (defined in Makefile.toolchain as
"CC=$(CCACHE) $(CROSS_COMPILE)$(cc-name))" had CROSS_COMPILE set to
"/opt/coreboot-sdk/bin/arm-eabi-" (gcc toolchain) and cc-name set to
"clang", which is not correct.
The problem was that the Makefile has simply expanded variables
(
that reference CC before the core/$(CORE)/
"_tsk_lst_ro" that uses CPP, which is defined as "CPP=$(CC) -E").
This change pulls the toolchain configuration out of
core/$(CORE)/
that is included earlier in the top-level Makefile, which ensures that
CC is defined before it is used by the simply expanded variables.
BRANCH=none
BUG=b:172020503, b:234181908
TEST=make proj-bloonchipper -j
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ia41d2de61ee786df044d484c146d6970de183562
Reviewed-on:
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M core/minute-ia/
M core/riscv-rv32i/
A core/riscv-rv32i/
M Makefile
M core/cortex-m/
A core/cortex-m/
M core/nds32/
A core/minute-ia/
A core/nds32/
M core/cortex-m0/
A core/cortex-m0/
ap...@google.com <ap...@google.com> #139
Branch: firmware-fpmcu-bloonchipper-release
commit e5fb0b9ba488614b5684e640530f00821ab7b943
Author: Firas Sammoura <fsammoura@google.com>
Date: Fri Jun 17 16:40:54 2022
Merge remote-tracking branch cros/main into firmware-fpmcu-bloonchipper-release
Generated by: ./util/update_release_branch.py --board bloonchipper --relevant_paths_file ./util/fingerprint-relevant-paths.txt firmware-fpmcu-bloonchipper-release
Relevant changes:
git log --oneline ad46fafb27..a46d3f3fea -- board/hatch_fp
board/bloonchipper common/fpsensor docs/fingerprint driver/fingerprint
util/getversion.sh
981fb88cf8 docs/fingerprint: Resolve contradictory FPMCU factory flashing instructions
38ef6b7306 tree: Files should end with single newline
60032a8828 docs/fingerprint: Clean up formatting in fingerprint-factory-quick-guide.md
f49eb6f894 docs/fingerprint: Run mdformat
64aa5fc7bb docs/fingerprint: Add links to info on fuzz testing
8bd99cc434 fpsensor: Use correct return type
2b2d7a991d fpsensor: Use correct return type
BRANCH=None
BUG=b:234772776 b:234181908 b:172020503 b:234181908
TEST=`make -j buildall`
Cq-Include-Trybots: chromeos/cq:cq-orchestrator
Signed-off-by: Firas Sammoura <fsammoura@google.com>
Change-Id: I18b58de542c8b439d0f9327a7d4f0ec897da080f
ap...@google.com <ap...@google.com> #140
Branch: main
commit 218ef03663da94ec0738cb4e7bc674d713f917d6
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Jun 16 09:44:49 2022
sys-libs/libcxx,llvm-unwind: Turn off PIC for baremetal toolchains
BUG=b:234507656, b:234181908, b:172020503
TEST=CQ passes
Change-Id: Id97664b29ae84fb9736927d22ba8ac505f63703e
Reviewed-on:
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Tom Hughes <tomhughes@chromium.org>
M sys-libs/libcxx/libcxx-15.0_pre458507.ebuild
M sys-libs/llvm-libunwind/llvm-libunwind-15.0_pre458507.ebuild
ap...@google.com <ap...@google.com> #141
Branch: main
commit 3823427de7f1129e073bfb1fec468d8f5b7d1572
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Jun 24 15:14:30 2022
common/util: Remove __stdlib_compat from functions not in C standard library
These functions are not in the C standard library, so they should not be
annotated with __stdlib_compat.
BRANCH=none
BUG=b:234181908, b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Iccc532764056dd22f93ffea170f2d7e422d1b6dc
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M common/util.c
ap...@google.com <ap...@google.com> #142
Branch: main
commit ff355e3dc31830f70b5ad603c5fce17e1ca012ce
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Jun 17 15:14:11 2022
util: Move stdlib declarations to builtin directory
The "builtin" directory is EC's copy of the C standard library headers.
Move the declarations for functions that are provided by the standard
library to the "builtin" directory. This change makes it easier for
future changes to optionally build with the C standard library instead
of the standalone EC subset.
BRANCH=none
BUG=b:172020503, b:234181908
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I4822e49677e0c0e1b092711b533f2aaa762cb4e3
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
A builtin/stdlib.h
M builtin/string.h
A builtin/strings.h
M include/util.h
A builtin/ctype.h
M builtin/stdlib.c
ap...@google.com <ap...@google.com> #143
Branch: main
commit 12865c86276d642a526df5f7b053db62409fe421
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Jun 24 12:00:53 2022
tree: Move stdlib implementation to builtin directory
Keeping all of the standard library implementation in a single directory
makes it easier to choose between EC's implementation or the
implementation from the toolchain.
BRANCH=none
BUG=b:234181908, b:172020503
TEST=make buildall -j
TEST=Using icetower v0.1, Segger J-Trace, and servo micro:
./test/run_device_tests.py -b dartmonkey
Test "aes": PASSED
Test "cec": PASSED
Test "cortexm_fpu": PASSED
Test "crc": PASSED
Test "flash_physical": PASSED
Test "flash_write_protect": PASSED
Test "fpsensor_hw": PASSED
Test "fpsensor_spi_ro": PASSED
Test "fpsensor_spi_rw": PASSED
Test "fpsensor_uart_ro": PASSED
Test "fpsensor_uart_rw": PASSED
Test "mpu_ro": PASSED
Test "mpu_rw": PASSED
Test "mutex": PASSED
Test "pingpong": PASSED
Test "printf": PASSED
Test "queue": PASSED
Test "rollback_region0": PASSED
Test "rollback_region1": PASSED
Test "rollback_entropy": PASSED
Test "rtc": PASSED
Test "sha256": PASSED
Test "sha256_unrolled": PASSED
Test "static_if": PASSED
Test "system_is_locked_wp_on": PASSED
Test "system_is_locked_wp_off": PASSED
Test "timer_dos": PASSED
Test "utils": PASSED
Test "utils_str": PASSED
Test "panic_data_dartmonkey_v2.0.2887": PASSED
Test "panic_data_nocturne_fp_v2.2.64": PASSED
Test "panic_data_nami_fp_v2.2.144": PASSED
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I75f8591e87a9076d47208eb598186a391c77966d
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
M common/
M Makefile
M zephyr/CMakeLists.txt
M builtin/stdlib.c
A builtin/
M chip/mchp/
M Makefile.toolchain
ap...@google.com <ap...@google.com> #144
Branch: main
commit 2c4345a9eeb1665327dafaa3ac2a1060d34ff452
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Jul 06 13:17:39 2022
tree: Fix -Wstrict-prototypes warning
The latest clang complains about missing 'void' in function
definition if it's specified in the declaration:
core/cortex-m/vecttable.c:23:21: error: a function declaration without a
prototype is deprecated in all versions of C
[-Werror,-Wstrict-prototypes]
void default_handler()
^
void
BRANCH=none
BUG=b:230345382, b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I5a3d95203cc6cbb59676f4a66876a4a6f2946e31
Reviewed-on:
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
M chip/stm32/bkpdata.c
M chip/npcx/system.c
M core/cortex-m/vecttable.c
ap...@google.com <ap...@google.com> #145
Branch: main
commit 1bc7945394c90dd2b00d8ea7c9201dc368904718
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Jun 17 15:47:18 2022
tree: Move printf declarations to stdio.h
The "builtin" directory is EC's copy of the C standard library headers.
Move the declarations for printf functions that are provided by the
standard library to the "builtin" directory. This change makes it easier
for future changes to optionally build with the C standard library
instead of the standalone EC subset.
BRANCH=none
BUG=b:172020503, b:234181908, b:237823627
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I4a5b4f8b98b972e86c4cca65d4910b5aa07ec524
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M zephyr/shim/src/console.c
M common/printf.c
M include/printf.h
M builtin/stdlib.c
A builtin/stdio.h
M test/printf.c
ap...@google.com <ap...@google.com> #146
Branch: factory-brya-14517.B-main
commit d2b3ca2f64e46eb5f16d3b74584440de5ceedcca
Author: YH Lin <yueherngl@google.com>
Date: Tue Aug 02 18:24:20 2022
Merge remote-tracking branch cros/main into factory-brya-14517.B-main
Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file
baseboard/brya/relevant-paths.txt factory-brya-14517.B-main
Relevant changes:
git log --oneline 0c8b23d6bf..ca9e23552c -- baseboard/brya board/agah
board/anahera board/banshee board/brya board/crota board/felwinter
board/ghost board/gimble board/kano board/mithrax board/osiris
board/primus board/redrix board/taeko board/taniks board/vell
board/volmar driver/bc12/pi3usb9201_public.* driver/charger/bq25710.*
driver/ppc/nx20p348x.* driver/ppc/syv682x_public.*
driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.*
driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake*
include/intel_x86.h power/alderlake* power/intel_x86.c
util/getversion.sh
122b831f70 agah: update ppc ilimit to 5.5A
aac009a814 ghost: Disable CONFIG_BRINGUP
1f99ace055 mithrax: Update RGBKBD type to 4-zones-4-LEDs
bb4f797a23 agah: extend CONFIG_EXTPOWER_DEBOUNCE_MS to 500ms
a211a65b42 mithrax: Update RGBKBD type to 4-zones-15-LEDs
29cae0fe31 crota: modify SWD battery manufacturer name
acbc8a2f17 osiris: Remove tablet mode
0b5d4baf5a util/getversion.sh: Fix empty file list handling
b958d4835c crota: enable BBR firmware update
9f43d2a15d Banshee: modified the als calibration value
322492d5c7 mithrax: Update rgbkbd_map
7fb2c45f5a ghost: Enable logo LED
2395e5b5ef ghost: Update PWM channel names
99e885ac2d ghost: Update PWM frequency to match spec
9f6da1141f ghost: Update BB I2C target address
83b8d53fa2 vell: Update fan table version 4
9a394f3896 banshee: workaround for enter recovery mode
59014d8c50 agah: update charger setting
53baccd1ed banshee: configure the correct location of the refresh key
fba0a2092a osiris: Update thermal policy
cb73a82a28 volmar: Update thermal policy
2911d8fd06 Banshee: Config BBR USB3 bit for USB card port in suspend/resume
2a05849ced crota: switch both volume buttons GPIO
ce12b52b10 osiris: Move second fan enable pin to gpio97
26e3fe3184 TCPCI: nct38xx: Only restore mask registers during hard reset
304061cded Mithrax : Add control normal keyboard backlight for Mithrax.
5f359117fa banshee: keyboard init fix
2626270978 taniks: Remove "SECTION_IS_RW" in board_init
50b0a70166 Revert "Taniks: Disable RGB keyboard in RO"
8af8056eb3 agah: set EN_PP5000_FAN to initial low
f43ad912a1 agah: implement LED behavior
93c2fd7df9 osiris: Remove unused gpio define
94f92cd7f1 clang-format: Ran clang-format on all files again
a673a273a6 nx20p348x: expose public header
3c13e20a5b board/brya/usbc_config.c: Format with clang-format
9741d3be9e board/osiris/fans.c: Format with clang-format
5966dc4526 board/agah/board.c: Format with clang-format
228b847126 board/agah/charger_isl9241.c: Format with clang-format
fa82a2ed84 board/osiris/pwm.c: Format with clang-format
9afb32b790 board/crota/fans.c: Format with clang-format
7be23fa82e osiris: rgbkbd: Add rgb keyboard type field
7c733a4c9e taniks: rgbkbd: Add rgb keyboard type field
8032d57617 mithrax: rgbkbd: Add rgb keyboard type field
ebc002b264 osiris: Update EN_PP5000_FAN init state
793f84faac board/agah/board.h: Format with clang-format
8e8d1d8780 board/osiris/keyboard.c: Format with clang-format
2369c8f88a board/crota/sensors.c: Format with clang-format
7468eea7d9 board/osiris/board.h: Format with clang-format
b4b52c4e17 board/brya/board.h: Format with clang-format
d6a4ab5e0c board/agah/sensors.c: Format with clang-format
266cdc9f4b board/gimble/thermal.c: Format with clang-format
1103385717 baseboard/brya/charger_bq25720.c: Format with clang-format
eae9efb36d board/taniks/led.c: Format with clang-format
472aca6dfa board/mithrax/sensors.c: Format with clang-format
faa19aaeac board/anahera/fw_config.h: Format with clang-format
6acb160e0a board/taeko/usbc_config.h: Format with clang-format
429a0ad579 board/gimble/fw_config.c: Format with clang-format
c95e4f9343 board/vell/sensors.c: Format with clang-format
ae3fecbf71 board/gimble/fans.c: Format with clang-format
b3d34a9203 board/felwinter/usbc_config.c: Format with clang-format
ba1b078a15 board/felwinter/fans.c: Format with clang-format
12eefbeedb board/banshee/led.c: Format with clang-format
95f6b262c8 board/osiris/usbc_config.h: Format with clang-format
6035797412 board/felwinter/charger_isl9241.c: Format with clang-format
5afc10f809 board/taniks/sensors.c: Format with clang-format
e3045c2a45 board/brya/sensors.c: Format with clang-format
f0879b4959 board/kano/sensors.c: Format with clang-format
5d062d6ea8 board/gimble/charger.c: Format with clang-format
2963615d72 driver/tcpm/tcpci.c: Format with clang-format
a02a54978e board/taniks/i2c.c: Format with clang-format
0c110ab287 board/crota/board.h: Format with clang-format
8cda1ea81a board/gimble/keyboard.c: Format with clang-format
36b2c00b57 Agah: Enable GPU over temperature notification
d77f639c74 board/brya/fw_config.h: Format with clang-format
0c7bcf0813 board/vell/keyboard.c: Format with clang-format
68d1a3781e board/primus/fw_config.c: Format with clang-format
df8b05aa9d baseboard/brya/baseboard.c: Format with clang-format
84f1accf5b board/redrix/board.c: Format with clang-format
2333b18a3c board/kano/keyboard.c: Format with clang-format
1e646b474f board/mithrax/led.c: Format with clang-format
a396d5a10e board/brya/fw_config.c: Format with clang-format
37dc319a47 board/anahera/fans.c: Format with clang-format
925b0821d7 board/banshee/fw_config.c: Format with clang-format
1ac81ec76d board/taniks/battery.c: Format with clang-format
1e9ada19f1 board/anahera/fw_config.c: Format with clang-format
0648cafc5a board/vell/usbc_config.c: Format with clang-format
f2a5afae28 board/anahera/charger.c: Format with clang-format
5b25ea2727 include/power/alderlake_slg4bd44540.h: Format with clang-format
e3d469a416 board/felwinter/board.c: Format with clang-format
16f0f90edc board/kano/charger.c: Format with clang-format
6c867258e9 board/volmar/fans.c: Format with clang-format
68eaf9f522 baseboard/brya/prochot.c: Format with clang-format
099250b1a6 board/crota/i2c.c: Format with clang-format
e50b220f90 board/crota/led.c: Format with clang-format
bc10f2240f board/banshee/i2c.c: Format with clang-format
df13c1fa47 board/gimble/usbc_config.c: Format with clang-format
9830d28010 board/ghost/sensors.c: Format with clang-format
9efae79693 board/osiris/fw_config.h: Format with clang-format
5b4c64bce2 baseboard/brya/usb_pd_policy.c: Format with clang-format
9326e7a9bb board/banshee/charger.c: Format with clang-format
a716512690 board/agah/fw_config.c: Format with clang-format
cca54a502f board/volmar/board.h: Format with clang-format
f905e631f3 board/mithrax/board.c: Format with clang-format
b563e94e0a board/mithrax/usbc_config.c: Format with clang-format
1c8445d344 board/primus/usbc_config.h: Format with clang-format
4909c647eb board/banshee/keyboard_customization.h: Format with clang-format
06960cd928 board/vell/usbc_config.h: Format with clang-format
51bf98eb98 board/mithrax/keyboard_customization.c: Format with clang-format
dc165d8f18 board/taniks/charger.c: Format with clang-format
d8bb5625bf board/volmar/sensors.c: Format with clang-format
522cd466f9 board/vell/board.c: Format with clang-format
6306a201e9 board/mithrax/fw_config.c: Format with clang-format
5aa417fb82 board/anahera/usbc_config.h: Format with clang-format
d4a508a198 board/volmar/fw_config.h: Format with clang-format
ca2c12f651 board/redrix/fans.c: Format with clang-format
2e57ad3b83 board/osiris/i2c.c: Format with clang-format
e1f4fc0122 board/taeko/led.c: Format with clang-format
4b7e8b728d board/agah/board.c: Format with clang-format
ee3a23d209 board/ghost/usbc_config.c: Format with clang-format
ab3b2be1f7 board/banshee/usbc_config.c: Format with clang-format
7cdebf07e2 board/agah/usbc_config.h: Format with clang-format
890b1bf862 baseboard/brya/baseboard.h: Format with clang-format
54f3c1f5f7 board/volmar/charger.c: Format with clang-format
05bc69753d board/taeko/fw_config.h: Format with clang-format
b5c5743534 board/primus/ps2.h: Format with clang-format
e8a5ca6aac board/taeko/board.c: Format with clang-format
e830eaa75e board/felwinter/board.h: Format with clang-format
aaaa3c770e board/crota/charger.c: Format with clang-format
0bea4d2b10 board/taniks/usbc_config.h: Format with clang-format
773670cbd6 board/kano/fans.c: Format with clang-format
e5e5cb167a board/vell/led.c: Format with clang-format
5e6bd7fa72 board/volmar/board.c: Format with clang-format
f84c09f0d9 board/taeko/charger.c: Format with clang-format
bbf87229f2 crota: remove set_board_legacy_i2c_speeds
2ef111c88d board/kano/fw_config.h: Format with clang-format
f19210efe1 Revert "crota: add power share support"
5d2460698a Banshee: remove tuning MP2964
664700ea59 osiris: Support second fan control
c97000ce0e board/volmar/usbc_config.h: Format with clang-format
49007151e2 board/agah/fans.c: Format with clang-format
77b1f42afd board/primus/led.c: Format with clang-format
58e912236e board/redrix/thermal.c: Format with clang-format
9a122e5194 board/vell/board.h: Format with clang-format
9ef2f1ee7a board/taniks/board.c: Format with clang-format
afc0b691e1 board/brya/i2c.c: Format with clang-format
6edf9ab0c2 board/felwinter/keyboard.c: Format with clang-format
9478d8da03 driver/tcpm/nct38xx.c: Format with clang-format
c23ad60ae2 board/agah/keyboard.c: Format with clang-format
8a16a5e84a board/redrix/fw_config.h: Format with clang-format
d2e674b699 board/kano/usbc_config.h: Format with clang-format
ad2709eef9 board/redrix/fw_config.c: Format with clang-format
63f0fb69f6 board/primus/thermal.c: Format with clang-format
432ef4a30f board/redrix/charger.c: Format with clang-format
ff0b722336 board/vell/fw_config.c: Format with clang-format
bcc3ad6536 board/anahera/thermal.c: Format with clang-format
a628b86210 board/ghost/fw_config.h: Format with clang-format
02f01fb049 board/primus/fans.c: Format with clang-format
a11e8ae9dc crota: add custom fan control
bd8cdbe80c Agah: Enable Nvidia GPU D-Notify driver
4b3e08964c board/brya/charger.c: Format with clang-format
5d575a5983 board/redrix/sensors.c: Format with clang-format
78848a1648 board/osiris/fw_config.c: Format with clang-format
49e01a4838 board/felwinter/sensors.c: Format with clang-format
96513e1137 board/gimble/board.h: Format with clang-format
d957ad57d4 board/felwinter/fw_config.h: Format with clang-format
e7cf17a0c1 board/kano/board.c: Format with clang-format
34226d97dc board/osiris/fans.c: Format with clang-format
165ce2a1c9 board/taniks/fw_config.h: Format with clang-format
c29af88682 board/volmar/usbc_config.c: Format with clang-format
6f3e6db15e board/banshee/fans.c: Format with clang-format
b132c4723f board/osiris/charger.c: Format with clang-format
ce7daff481 board/taeko/usbc_config.c: Format with clang-format
5e3586240b board/ghost/fw_config.c: Format with clang-format
3750e27930 board/banshee/board.h: Format with clang-format
cf50057bf9 driver/ppc/nx20p348x.h: Format with clang-format
96b65e39f7 board/mithrax/usbc_config.h: Format with clang-format
4303c950e5 board/taniks/pwm.c: Format with clang-format
649793803d board/taeko/pwm.c: Format with clang-format
6f382e2554 board/taeko/battery.c: Format with clang-format
25e662b29c board/agah/fw_config.h: Format with clang-format
f422d3193b board/vell/charger.c: Format with clang-format
11868f1dcd board/brya/led.c: Format with clang-format
6f7c2df57f board/crota/keyboard.c: Format with clang-format
88a970c061 driver/ppc/nx20p348x.c: Format with clang-format
dd4b4ecf4f board/felwinter/usbc_config.h: Format with clang-format
b9b5197caf board/volmar/keyboard.c: Format with clang-format
1f431f69b0 board/ghost/board.h: Format with clang-format
a3ddef2ef2 baseboard/brya/battery_presence.c: Format with clang-format
32c00d82db board/anahera/board.h: Format with clang-format
5fe1e4b667 board/volmar/fw_config.c: Format with clang-format
517ef13832 board/mithrax/board.h: Format with clang-format
ac123b9409 board/redrix/led.c: Format with clang-format
0320cee07f board/volmar/led.c: Format with clang-format
83de023619 board/agah/led.c: Format with clang-format
a37b8fa073 board/ghost/charger.c: Format with clang-format
374aa4418e board/gimble/usbc_config.h: Format with clang-format
0528defe99 board/taeko/fans.c: Format with clang-format
3a25ff56af board/crota/fw_config.c: Format with clang-format
4c767c1e8f power/intel_x86.c: Format with clang-format
9ee82188d2 board/agah/i2c.c: Format with clang-format
c4821157f0 board/banshee/board.c: Format with clang-format
cb07f219bf board/mithrax/fans.c: Format with clang-format
04498a1a57 board/taniks/board.h: Format with clang-format
fd9861f1a8 board/banshee/usbc_config.h: Format with clang-format
19f4e88afa board/anahera/led.c: Format with clang-format
f4b7dbcae3 board/crota/usbc_config.c: Format with clang-format
adcff512a0 board/taniks/keyboard.c: Format with clang-format
99da43b855 board/taniks/fans.c: Format with clang-format
8666dd2d36 board/primus/fw_config.h: Format with clang-format
0f10a3f550 board/felwinter/fw_config.c: Format with clang-format
c81f13aaa5 board/agah/charger_isl9241.c: Format with clang-format
4d347b6e3c board/vell/thermal.c: Format with clang-format
67870ffbc4 board/banshee/keyboard_customization.c: Format with clang-format
376174ef72 board/primus/ps2.c: Format with clang-format
d44c8ffee3 board/gimble/board.c: Format with clang-format
a85db40a02 board/primus/board.h: Format with clang-format
976caaa6ed board/crota/fans.c: Format with clang-format
294cf086e0 board/anahera/usbc_config.c: Format with clang-format
3ea5df4c58 board/redrix/board.h: Format with clang-format
6cb3ae977b board/taniks/fw_config.c: Format with clang-format
9ef2059d81 board/kano/board.h: Format with clang-format
558afd4a16 board/taeko/board.h: Format with clang-format
7eaf01e8ac board/banshee/keyboard.c: Format with clang-format
b5d6e60b51 board/mithrax/keyboard.c: Format with clang-format
51d511bb5b board/crota/usbc_config.h: Format with clang-format
b8bbc5d0d5 osiris: Update rgbkbd_map
029e72a661 board/felwinter/led.c: Format with clang-format
3c8e30a84d board/osiris/usbc_config.c: Format with clang-format
0211d98b16 board/agah/usbc_config.c: Format with clang-format
b8ed31147e board/taeko/sensors.c: Format with clang-format
d527a47bb3 board/redrix/keyboard.c: Format with clang-format
47492263a5 board/anahera/sensors.c: Format with clang-format
0562326b5c board/kano/usbc_config.c: Format with clang-format
b34ed18b70 board/ghost/usbc_config.h: Format with clang-format
8ce79ce935 board/banshee/tune_mp2964.c: Format with clang-format
06e4f16aad board/vell/fans.c: Format with clang-format
eaab6467c0 board/crota/fw_config.h: Format with clang-format
fb79964db3 board/osiris/sensors.c: Format with clang-format
a1be4f86a2 board/anahera/board.c: Format with clang-format
bd7fccdcab board/osiris/board.c: Format with clang-format
7f4ab49140 board/mithrax/charger_isl9241.c: Format with clang-format
4ee224442e board/kano/fw_config.c: Format with clang-format
67b3b2595f board/primus/usbc_config.c: Format with clang-format
b641a12713 board/ghost/board.c: Format with clang-format
b58a385250 board/gimble/fw_config.h: Format with clang-format
37af0878bd driver/tcpm/nct38xx.h: Format with clang-format
cb2d2cf3a6 board/mithrax/keyboard_customization.h: Format with clang-format
634094113c board/taeko/keyboard.c: Format with clang-format
a61728b0d8 board/brya/usbc_config.c: Format with clang-format
bb7c307e10 board/brya/board.c: Format with clang-format
13d7af2a76 board/primus/charger.c: Format with clang-format
2aaaa3f347 board/redrix/usbc_config.c: Format with clang-format
cf1043d05f board/brya/fans.c: Format with clang-format
8f772e6212 board/mithrax/fw_config.h: Format with clang-format
8e7ecdb70f board/taeko/fw_config.c: Format with clang-format
3be373f376 board/crota/board.c: Format with clang-format
b1c05494b9 board/kano/led.c: Format with clang-format
0f9368b13b board/gimble/led.c: Format with clang-format
ed44112c8e power/alderlake_slg4bd44540.c: Format with clang-format
ccf09958a1 board/vell/fw_config.h: Format with clang-format
491385a3b9 board/anahera/keyboard.c: Format with clang-format
664713ef1b board/primus/sensors.c: Format with clang-format
fdae0464ce board/gimble/sensors.c: Format with clang-format
5516fe8e9b board/primus/board.c: Format with clang-format
5d0fafb8e6 board/banshee/sensors.c: Format with clang-format
5f08fdbbb4 board/banshee/fw_config.h: Format with clang-format
5df0f74143 baseboard/brya/cbi.c: Format with clang-format
10c0f96f0e agah: support USBC to 100W
bc5a5a8f08 agah: add new adc channel
7fe658ee75 agah: update thermal sensor setting
6322d1ed28 driver/charger/bq25710.h: Format with clang-format
6e7df6418c gimble: fix fan table behavior
beaa8c12bb driver/charger/bq25710.c: Format with clang-format
9a7e943187 board/volmar/i2c.c: Format with clang-format
a10a1e387a board/taniks/usbc_config.c: Format with clang-format
01bfb01a82 board/osiris/led.c: Format with clang-format
6d1c9630b9 board/brya/usbc_config.h: Format with clang-format
1f37c24033 crota: add more BYD battery support
0d97ededdb board/redrix/usbc_config.h: Format with clang-format
48319c2beb brya: Only control KB_LB_EN when KBLIGHT is enabled
60530c83eb brya: Remove MPS tuning for board ID 1
cdd87a52dc brya: Deprecate board ID 1 support
9711c893fb ghost: Remove brya battery config
02c753ab1c Revert "taniks: modify RGB mapping table for 4 zone"
0733d39183 Banshee: modify BBR I2C frequency to 400kHz
7217db0090 osiris: Remove unused battery
c151cd1758 vell: Enable PPC controlled FRS
2ba1247712 vell: Configure FRS GPIOs for PPC
7aa9acd43c gimble: configure fan thermal_params
a6f34df083 taniks: update fan table
5fed947f16 taeko: remove CONFIG_CMD_POWERINDEBUG configuration
9070742e52 mithrax: Implement a new battery parameter
9dae5323bb agah: delay thermal sensor read in the first time
320e85aa6e Agah: Add command to block power sequence
e461433999 ghost: Change charger to ISL 9241
4820509bef ghost: Update signal names to match schematics
c3ec66115c ghost: Update I2C port map to match schematics
1001293e1e ghost: Update auto-generated GPIOs
0ea2bbb637 ghost: Set I2C addrs for USB targets
64d733f1b7 ghost: Enable CONFIG_BRINGUP
c85ceb0c23 osiris: Update gpio output type
f2dcbad5a8 osiris: Remove unused i2c port
a3af20f62b agah: support USBC retimer
32ab877877 Agah: Change GPIO_EN_PPVAR_BJ_ADP control method
edc4ea8a39 Felwinter: Move RT_RST to different pin
02ad89b288 Mithrax: Turn on RGB enable pin by CBI
ce5856c769 Agah: Enable bypass mode
096b7a4dc8 Mithrax:implement keyboard matrix
6bd927a56b gimble: modify ectool control battery led
8f6fc6ce71 taniks: remove unused define and code for clamshell system
fbb6ee32d3 Banshee: Support different vivaldi keyboard
cc103df244 brya: increase SYV226 PWM freq
f13a4a3b2b taniks: remove BYPASS_CBI_EEPROM_WP and SYSTEM_UNLOCKED define
c715061c29 baseboard/brya: add ifdef for CONFIG_TABLET_MODE
e31fe489cb osiris: Modify thermal and fan configuration
cb9a0937d6 crota: modify fan frequency
90ef39a38c taniks: set aw20198 init and scale setting
c09ca7dbad osiris: Support factory keyboard test
c841862895 crota: correct BBR address
cb1b3c5fad crota: enable FRS
2b89eb28d1 Mithrax: Enable RGB keyboard
1fe2899ffe osiris: Update gpio config
64643a516e RGBKBD: Set scale per key
8e41b1691e osiris: Update KYBL_EN output type
03bff63345 zephyr: move Brya USB mux configuration into the DTS
9caff41316 osiris: Update PWM setting
e0d93f1445 Mithrax: Configure LED behavior
0be1ce8e25 vell: Correct battery charging OTP point
74bde68fa5 anahera: Fix FAN acoustic while EC resetting
5dd57b42b0 osiris: Initialize the vivaldi keyboard
4c3d93b213 osiris: Add battery AP22ABN
f136334948 osiris: Fixed keyboard matrix
4190083f1c osiris: Add rgb kb function
4022a02a3d osiris: Update FW_CONFIG field
2024fc296c usbc: wrap task_set_event to have an explicit port argument
d8bdc76aae mithrax:remove CONFIG_USB_PD_REQUIRE_AP_MODE_ENTRY
cee89411f5 baseboard/{brya,brask,intelrvp}: Change eSPI VW pulse width to 100 us
9fddea2eab osiris: Update gpio power control function
f56eaff676 zephyr: drop ioex_init for Zephyr ioex drivers
43b53f2586 nx20p348x: add board init function
6abe6202a5 taniks: modify RGB mapping table for 4 zone
b2f20d1c83 osiris: Update USB type-c ppc address
fe59881f9b osiris: Update pd 0 reset function
827219ccaf ghost: disable ADC_CHANNELS_RUNTIME_CONFIG
be0415c6f3 ghost: remove some unused symbols
7e9737be7f ghost: replace references to brya with ghost
63955a6d10 felwinter: remove force mode for lid accel
4f75f97d53 crota: remove force mode for lid accel
8a1ca222a7 brya: remove force mode for lid accel
cf1fec66a9 taniks: remove interrupt setup for lid accel
e7d8d80a21 taeko: remove interrupt setup for lid accel
af72a4dfd4 board: remove CONFIG_ACCEL_LIS2DW_AS_BASE variable
a593260b9c board/baseboard: Remove ACCEL_INTERRUPTS
b77fa11679 ghost: update FW_CONFIG
740d83c4d5 ghost: remove some unsed BC1.2 related code
4ea7a59988 ghost: add TODO for BB interrupts
8fbbf916e8 ghost: update TCPC reset timing
f2e845e176 ghost: add TODO for temp sensor ranges
4bf79c4bd7 NX20P348x: Handle reverse current events
aa949e591d crota: add power share support
859ca20d51 RGBKBD: Use alias macros for LED map
9749e6df54 osiris: Modify keyboard matrix
719b871af3 taeko: fix system tablet mode will fail issue
4a60d9aa8b Taniks: Add board_kblight_shutdown
d621541e40 RGBKBD: Set GCC, scale, color in rgbkbd_init
7d6fd649d0 ghost: remove support for the ps8815 TCPC
7957fe031c ghost: remove support for the nx20p3483 PPC
227e7abd06 ghost: add SWD battery config
f4290a1853 ghost: enable second fan
5929cd5b07 ghost: enable LEDs on boot
604c43d377 ghost: update PWM channels
b89d98db46 ghost: disable LED_PWM
8b4610fcb6 ghost: disable fan control loop
36435faf2c ghost: add TODO for battery
bcef742985 ghost: remove the volteer battery config
2689d4bf61 ghost: only include-what-you-use
717f407bce ghost: remove VIF overrides inherited from brya
f4bc5fcbba ghost: set 1 MHz I2C buses to 400 KHz
3bd1b607a4 ghost: remove physical buttons support
dc40cd1f8d zephyr: brya: Remove resetting the NCT3808 from EC
cebfa87186 crota: remove PS8815 and NX20P3483 config
7202a24fad ghost: remove TCS3400 ALS support
0bc3e8c5ac ghost: remove tablet mode support
50d513c151 ghost: remove USB port C1
e54bb599a6 ghost: remove USB-A port
30a4c43b0e ghost: remove BC1.2 support
6825969d96 ghost: remove USB DB from FW config
aba14f9ef2 ghost: remove brya board ID 1 support
be1432292d ghost: remove mp2964 tuning
fc4d3d09b5 ghost: remove support for obsolete EC stepping
ef6873604e mithrax: Implement new battery parameters
813506af89 Mithrax: modify FW_config for RGB type
a5b7e1b2c8 Agah: Disable CONFIG_CHIPSET_X86_RSMRST_AFTER_S5
ffa5f4544b zephyr: tcpc: Add NCT38xx TCPC driver into common TCPC shim
a3809a62ae crota remove CONFIG_ADC_CHANNELS_RUNTIME_CONFIG
1a41718626 mithrax:GPIO setting for rgb backlight
2d146ce62a agah: remove unuse PD config
25c08b7164 agah: clean up unused PWM setting
b42c65314f agah: support fan2
3a5ff62b39 agah: update keyboard mask and support numpad
af8559a435 agah: support vivaldi keyboard
cc7a3236a4 agah: update USB C2 port setting
2eff2bdae4 Banshee: modified T3 key configuration for customization
08c365d880 volmar: Increase CONFIG_POWER_BUTTON_INIT_TIMEOUT
ce210663f3 crota: enable body detection
46cc9f2a3c gimble: enable CONFIG_USB_PD_TCPM_PS8815_FORCE_DID
ac57e666eb ghost: Initial EC image
e0b1b73469 mithrax: felwinter renamed to mithrax
200542008d treewide: Convert ESPI_DEFAULT_SCI_WIDTH_US to default VWIRE pulse width
74aa410552 mithrax: Initial EC image
999b1a6384 vell: cleanup: Remove unused PPC define
16f2a77807 osiris: Move CHARGER_VAP_OTG_EN gpio pin
a7a3423284 osiris: Remove volume button
3f39e2393f volmar: Add battery AP19B8M
03df4b2fc4 TCPCI: Allow TCPM to use sink/source control without PPCs presence
041042627a zephyr: add a zephyr/ prefix to all zephyr includes
07b9ef5897 mithrax: Initial EC image
2a39f3df35 agah: bypass power on signal
1951715384 vell: Limit input current to fraction of negotiated limit
7bc1364631 vell: Change Battery LEDs signal
da3db5b7a0 osiris: Remove unused sensor
94b53640ad osiris: Remove GPIO_ID_1_EC_KB_BL_EN
eeb16b9683 volmar: undefine unnecessary PD config
db1971c576 taniks: undefine unnecessary PD config
99b644aa42 crota: add battery support
7506938c4c osiris: Remove unused pwm and update LED behavior
78ac5a0604 Felwinter : Fix bc12 interrupt event
09c33dd0a7 Felwinter : Correct temp_fan_off setting to make fan control normally.
317eee5ea0 osiris: Modify USB type-c configuration
404fbb8297 crota: Configure LED behavior
8eb4cf1b73 crota: remove ALS sensor and color light sensor
cf37bc26c7 Taniks: Remove resume/suspend hooks for RGB keyboard
c0d675dc0b brya: Use GPIO and host event when generating MKBP events
2754181c80 Felwinter : Fix keyboard backlight flashs when EC cold reset.
d70508c12c crota: change orientation matrix to motion sensors
95d12b1d87 tcpm/anx7477: support TCPCI get_vbus_voltage
8ca6fec2e0 vell: Fix thermal high/halt point version 3
76c71c3092 Taniks: Disable RGB keyboard in RO
f194805d19 osiris: Delete CONFIG_ADC_CHANNELS_RUNTIME_CONFIG
b03b9e1cd1 Revert "brya: Use GPIO and host event when generating MKBP events"
fab3d6ee15 zephyr: brya: add charger chips
c461799838 brya: add CONFIG_CHIPSET_X86_RSMRST_AFTER_S5
18c53a3fea osiris: Update charger IC config
5bfdd74b54 osiris: Add battery AP19B8M
788f5d4099 volmar: Support factory keyboard test
3b8faa486e crota: add dual BB retimer on port1
17cd0a6b11 volmar: Remove unused battery
9f7def3f86 crota: add vivaldi keyboard support
41093502ff osiris: Remove unused adc channel
07591da3e8 crota: disable BBR firmware update
e6f206838a brask,brya,intelrvp: Increase SCI pulse width for Alder Lake chipsets
bf6f0c21d9 power/intel_x86: block RSMRST until the system is in S5
5efd8eea4b osiris: Remove als tcs4300
3239b05e1d osiris: Change board name
08f979c24e osiris: Remove unused task
2b9d3f2b6b osiris: Move generated-gpio.inc to gpio.inc
a700910c6e osiris: Remove tune_mp2964.c
7f9c2475d6 volmar: add refresh key mask
bd8016e95e kano: Support factory keyboard test
7ec76fcbd2 taniks: change ksi threshold to 250mV
c3f686e41d taniks: modify for Prochot function setting
9f32fe0f87 bq25710: add more options for Prochot setting
4e3e616fba taniks: Override NVME and EMMC FW_CONFIG bits
3b725e6fe0 osiris: Initial EC image
6782c98092 brya variants: properly define power button for clamshell devices
bcf19be676 brya: Fix typo in comment
98493ee98c crota: remove type-c port 2 to avoid confusion
88a19dd1b5 anahera: Tune USBA retimer EQ revision 2
37d45dd56c kano: Support 28w cpu fan table
e4309526ab Taniks: Support keyboard backlight control
c0333e1cbc vell: Fix C3 TCPPC i2c address
61e177e691 anahera: Update fan table version 6-4
302a665c88 anahera: Update thermal high/halt point version 6-4
70016156d4 kano: Update keyboard backlight pwm frequency
82b4173c6c vell: Raise usbc ports i2c speed to 1Mhz
fd753e96c9 tarlo: undef configuration for clamshell device
3e3ef8f7a1 vell: Update thermal high/halt point version 3
76f3e5ad39 vell: Update fan table version 3
73502f93b7 taniks: add RGB mapping table
272b89865d Felwinter : Remove CONFIG_CMD_POWERINDEBUG.
906818f9bb gimble: fix unused gpio pin
abf28671f0 zephyr: move usb-a configuration to DTS
e3ffea79e9 Banshee: modified the als calibration value
56e269edb5 taniks: set USB_C0_FRS_EN pin default LOW for NCT3807
27bd0eac40 primus: modify USB4_PCIe_Switch_Device_ID to meet ADL iTBT design
77b76d949b vell: Fix tcpc get alert status
76e5a7bf48 agah: enable USBC0 FRS
8be1e6b6b4 primus: read trackpoint device id
121be587a2 taeko: set USB_C0_FRS_EN pin to LOW for NCT3807
9d951e74e8 Banshee: Revise GPIO define for leakage issue
9b2ef47ab9 RGBKBD: Add EC_CMD_RGBKBD_SET_COLOR command
35e833c0ff Banshee: modify fan frequency
4a47cd5779 volmar: Initialize the vivaldi keyboard
a514bf6f08 Felwinter: Fixed EN_PP5000_PEN doesn't deasserted when pen is plug-out
f7330f4cfa power: add casts for power signals
96e9f2b61a Banshee: Enable sensor fifo for ALS sensor
b81c17122e primus: send suspend mode to trackpoint
81dff9c98a primus: Add SSFC field for 2nd trackpoint
5550735942 primus: init touchpad interface after PLT_RST#
9583729c35 primus: Add genvif overrides
6585b72ac1 brya: Use GPIO and host event when generating MKBP events
15da7ebfba Banshee: sync low battery percent with OS
b55808cecd Revert "primus: fix Goodix touchpad initialize failed"
ac822d7eeb Banshee : Enable FRS.
fb5993f74d taniks: enable BYPASS_CBI_EEPROM_WP_CHECK
a995a1aade Banshee:Remove PPC NX20P3483
79d42e8fae taniks: modify for Prochot function setting
9f35fcfd6a board/taeko: Override NVME and EMMC FW_CONFIG bits based on GPIO
0a4cd04b22 tarlo: modify battery name and voltage max value
9e85143c20 gimble: enable FRS on C1
4b2c8e284f Banshee:Initialize the vivaldi keyboard
6fab7742bf taeko/tarlo: Top row key T12, T13, T14 can't work
df6b4b49ab gimble: remove obsolete C1 reset configuration
57b31e765b taniks: fix LG battery cut off fail issue
c00f37d67a banshee: modify current limit setting
f9ee774c60 primus: remove CONFIG_SYSTEM_UNLOCKED
b259a4fe19 brya: enable CONFIG_BOARD_HAS_RTC_RESET for brya baseboard
5ec058f42a Taniks: Enable RGB keyboard
521ffdd6f2 Banshee: Remove useless function
4412c9404d power: Add chipset and board callbacks for sleep hangs
b2372919ae banshee: Modify sense resistor configs of ISL9241
4a6bb8c6dd Banshee: Implement fan table
f267998011 Banshee: change LED active port condition
c4f19aaf2b gimble: do not reset PS8815 when AC only during power on
dadd1edfe5 felwinter: modify fan frequency
41dd96a78d taniks: fix 71W battery table
ea315f5575 gimble: set SYV682X HV_ILIM to 5.5A
6b4ce2a74b anahera: Tune USBA retimer EQ
63fc4e9543 taniks: enable FRS on ports 0 and 1
0265f0de24 vell: Change FAN pwm to 25000 frequency
5c47e9461c primus: fix keyboard backlight in G3
7c2e48bd49 taeko: modify for Prochot function setting
d8c9c40325 anahera: Add USBA retimer support
f10cb56534 anahera: Update FW_CONFIG for LTE
3b1c412971 redrix: Update thermal high/halt point
8008c2bdfe redrix: Update fan table version 4
6ffb45e48e redrix: Fix FAN acoustic while EC reset
37e04fd413 vell: Lower host shutdown percentage to 3%
d35c26c433 anahera: Remove battery LED blink during S0ix
06a1f95418 taeko/tarlo: support 71wh battery
149714923f anahera: Update thermal high/halt point
5003d36cab anahera: Update fan table version 5
84136ee658 gimble: enable FRS on C0
4c95add9f0 Banshee:implement LED behavior
5e2e973b4e intel_x86: Add config to configure S5 exit timer
c419ab8d4c Banshee:implement keyboard matrix
7a3656311f Banshee: fix typec disable
ac751871ef anahera: Add USB3 redriver PD pin support
8dad81f65f tcpci: support tcpci_get_vbus_voltage
e116e868ac taeko: enable FRS on ports 0 and 1
9a2b3d50fb primus: set keyboard backlight pwm clock source to LFCLK
139575824e taniks: fix toolkit can't verify power btn issue
97c2f900bd taniks: fix key T12 T13 T14 no function issue
6ca8bcf884 taeko: remove CBI eeprom wp and system unlocked setting
7a3cea0513 taeko/tarlo: add refresh row3 config for keyboard
1e70180175 anahera: Override keyboard mapping by board version
3dc6dc1098 volmar: Modify thermal and fan configuration
f3d59ce74b gpio: cleanup header usage for sensors
9877be7ea5 gpio: cleanup header usage for i2c
d197a82baa gpio: cleanup header usage for buttons
79f33ce4d6 felwinter: modify fan rpm setting
60314954cc vell: Update charging LEDs behavior
4f0c35a0d3 taniks: GPIO config for KB module
b5ee4bed21 taniks: Enable CONFIG_KEYBOARD_SCAN_ADC
334577b251 gimble: turn off power led in s0ix
b88d5765c4 Banshee : Correct IOEX wrong calling, PD, Charger setting.
10bf02bbae vell: Disable BBR firmware update
1440bb3798 crota: modify I2C address
b487ab421c felwinter: modify and add the thermal sensor setting
f7e9c6ab32 vell: Update fan table version 2
1461395883 crota: remove tuning MP2964
7c923d9ff3 Banshee: modify BB-retimer configure
2f0fc1db10 Felwinter : Dynamic adjust CP point.
ff2b02502f anahera: add menu button to keyboard
07c36e17a5 taniks: Add KSI adc channels
662819b5bb crota: configure EC GPIO/ I2C channel
1efc263fa5 Banshee: Modify ALS drive
eedacab7c0 redrix: Add SSFC field for 2nd LID sensor
547d8f2ea1 baseboard/brya: Add SSFC entry
611079e622 vell: Set battery current Prochot# threshold
b825368db4 vell: Change battery/AC current sense value
8eb09176c5 agah: update gpio
f1a946c302 agah: config USBC0 port and remove db
a9f8632cba volmar: Modify USB C1 i2c port speed
757b2b7708 brya: increase prochot release threshold when adapter < 60w
65bc16a421 anahera: Enable PPC controlled FRS
ccf4303c65 anahera: Configure FRS GPIOs for PPC
c145bbae26 volmar: Remove unused pwm and update LED behavior
9babbbe5be volmar: Update FW_CONFIG field
d62c68b989 volmar: Remove retimer config
3a1d09a725 volmar: Remove GPIO_ID_1_EC_KB_BL_EN
6918967a08 volmar: Add battery AP18C8K
7c27b6d72d volmar: Add battery COSMX AP20CBL
b0aa99495d brya: Add genvif overrides
8e34b55cbf volmar: Remove unused sensor
BRANCH=None
BUG=b:222438906 b:234560670 b:232134905 b:236386294 b:233120385
BUG=b:221390875 b:222026259 b:230277336 b:222375516 b:237745790
BUG=b:223737611 b:211791444 b:224438397 b:222218984 b:219450750
BUG=b:229352299 b:223917643 b:239653506 b:208721153 b:215338892
BUG=b:236222296 b:229934138 b:231930177 b:226215987 b:221094331
BUG=b:237138941 b:233319598 b:227472576 b:227290966 b:214150759
BUG=b:199246802 b:228525798 b:226215987 b:225786668 b:226256607
BUG=b:216391312 b:228775653 b:229411952 b:231894374 b:237350685
BUG=b:223091246 b:232494108 b:235285356 b:226200706 b:235453573
BUG=b:233986174 b:234530397 b:216734502 b:203837657 b:197169349
BUG=b:240506866 b:230813256 b:229804436 b:227681800 b:213162351
BUG=b:231249540 b:223950148 b:238055898 b:219176652 b:219378769
BUG=b:210073795 b:223526803 b:227359727 b:220584239 b:222375516
BUG=b:227367177 b:223465912 b:232905358 b:230813416 b:220634230
BUG=b:208773873 b:220800586 b:228237412 b:229938038 b:223084533
BUG=b:216026302 b:223490888 b:218856245 b:224884408 b:232486473
BUG=b:236781082 b:210970640 b:199995751 b:191742284 b:215231068
BUG=b:240242331 b:237947887 b:221390875 b:196009529 b:231291434
BUG=b:229186412 b:225941782 b:227522597 b:235552938 b:234545460
BUG=b:229039902 b:220922170 b:218976941 b:233323599 b:224423318
BUG=b:211891086 b:230411931 b:222006623 b:235763023 b:220941729
BUG=b:218628427 b:226215983 b:231457091 b:230401133 b:223213015
BUG=b:220215182 b:219176652 b:233170573 b:203739613 b:232889856
BUG=b:214191903 b:232494102 b:216485035 b:228222444 b:231265647
BUG=b:220196847 b:232656160 b:221094660 b:218400524 b:230366077
BUG=b:226724606 b:225943238 b:235898482 b:228768947 b:221391649
BUG=b:237357634 b:219424210 b:224423318 b:235020065 b:223302153
BUG=b:233126129 b:231458203 b:229039902 b:218892808 b:226475792
BUG=b:230813416 b:239783282 b:219394601 b:220996030 b:229035875
BUG=b:214339085 b:231458605 b:230813416 b:224423318 b:208181774
BUG=b:226411332 b:223084533 b:226438219 b:233099161 b:238157096
BUG=b:183246197 b:230813256 b:232326002 b:223315425 b:216485035
BUG=b:236674641 b:235020065 b:237712167 b:231086773 b:208181774
BUG=b:228403079 b:235281906 b:215038215 b:195673113 b:224915024
BUG=b:214871796 b:220258340 b:218400524 b:233552228 b:233311897
BUG=b:238683420 b:223492897 b:230303809 b:214893572 b:236739228
BUG=b:231281125 b:236589603 b:208182468 b:220954645 b:233317538
BUG=b:222038282 b:203158255 b:234545460 b:218754289 b:220669916
BUG=b:238713881 b:222125478 b:230401133 b:179648721 b:227367177
BUG=b:220996030 b:225754859 b:203837657 b:233975818 b:220814040
BUG=b:233986174 b:214885316 b:233323599 b:233012340 b:223526806
BUG=b:208724534 b:210772504 b:232647819 b:172020503 b:233323599
BUG=b:214057333 b:216206104 b:230567623 b:216594621 b:229351940
BUG=b:230074336 b:230083233 b:229948419 b:226438219 b:215033682
BUG=b:212359724 b:212363905 b:238505283 b:231265647;b:238683420
BUG=b:226315400 b:229935118 b:227522597 b:231747095 b:223526803
BUG=b:229186412 b:231398359 b:218400524 b:228410337 b:224516847
BUG=b:192898571 b:198371480 b:229665979 b:229947325
TEST=`make -j buildall`
Signed-off-by: YH Lin <yueherngl@google.com>
Change-Id: I39c6a33d2a1bb24ed9f40ee368193f69d12d2153
M board/taniks/board.h
M include/config.h
M include/ec_commands.h
M include/rgb_keyboard.h
M board/prism/board.c
M driver/led/aw20198.h
M baseboard/brya/baseboard.h
M driver/led/is31fl3733b.c
M util/ectool.c
M board/taniks/keyboard.c
M board/taniks/gpio.inc
M test/rgb_keyboard.c
M board/prism/board.h
M driver/led/aw20198.c
M board/prism/ec.tasklist
M driver/
M driver/led/is31fl3743b.c
M util/comm-usb.h
M util/comm-usb.c
M zephyr/Kconfig.keyboard
M common/rgb_keyboard.c
M test/test_config.h
ap...@google.com <ap...@google.com> #147
Branch: main
commit 0ad2280aae820537e6c4e03afdc70ef644f91991
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Aug 29 17:04:54 2022
core/cortex-m0: Remove noop
The pragma disables a warning and then immediately re-enables it, which
has no effect.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I5e50a8886cf093a21c2f9385ce60fa950749f962
Reviewed-on:
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M core/cortex-m0/vecttable.c
ap...@google.com <ap...@google.com> #148
Branch: main
commit 7b1a9478ab9e5dc62df8b161dde019e0636fb07f
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Sep 09 16:20:40 2022
chromeos-config/env: Remove chromeos-ec gcc
cros-ec.eclass already calls cros_use_gcc.
BUG=b:245855590, b:172020503
TEST=CQ passes
Change-Id: Icae69c94e98079db76ddcc416c5cf2195116e0d2
Reviewed-on:
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Alex Klein <saklein@chromium.org>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
M chromeos-base/chromeos-ec/chromeos-ec-9999.ebuild
D chromeos/config/env/chromeos-base/chromeos-ec
ap...@google.com <ap...@google.com> #149
Branch: firmware-trogdor-13577.B-master
commit 88f10f3f352cc5fa08857bd967f60fb28aca15be
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Sep 29 23:40:39 2021
common/motion_sense: Avoid comparison between negative value and unsigned char
clang fails to compile due to the following:
common/motion_sense.c:1123:34: error: result of comparison of constant -1
with expression of type 'const uint8_t' (aka 'const unsigned char') is
always false [-Werror,-Wtautological-constant-out-of-range-compare]
(in->sensor_odr.sensor_num ==
~~~~~~~~~~~~~~~~~~~~~~~~~ ^
common/motion_sense.c:1454:27: error: result of comparison of constant -1
with expression of type 'const uint8_t' (aka 'const unsigned char') is
always false [-Werror,-Wtautological-constant-out-of-range-compare]
in->spoof.sensor_id == MOTION_SENSE_ACTIVITY_SENSOR_ID) {
~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As indicated by the TEST line, the output is identical before and after
this change.
BRANCH=torgdor
BUG=b:172020503, b:243492849
TEST=./util/compare_build.sh -b all -j 90
=> MATCH
(cherry picked from commit 506dcb5e5b2aa1d4864a98972540ad95396ef372)
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Change-Id: Ieb55b385dfe9e07a8a7098ac3b456a0504215d94
Reviewed-on:
Reviewed-by: Chao Gui <chaogui@google.com>
Commit-Queue: Bob Moragues <moragues@chromium.org>
Tested-by: Chao Gui <chaogui@google.com>
Reviewed-by: Bob Moragues <moragues@chromium.org>
M common/motion_sense.c
ap...@google.com <ap...@google.com> #150
Branch: main
commit 8d2069f7e7188ff28a09f7533e8cacb96825db45
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Sep 12 16:12:22 2022
eclass/cros-ec: Allow EC to choose toolchain
Some EC boards compile with the gcc toolchain and other boards compile
with clang. The EC Makefiles have logic to select the appropriate
toolchain depending on the board being compiled, so rely on that rather
than specifying the compiler via environment variables.
BUG=b:246424843, b:172020503
TEST=emerge-hatch chromeos-ec
TEST=FEATURES="test" emerge-hatch chromeos-ec
TEST=CQ passes
Cq-Depend: chromium:3910904, chromium:3910905
Change-Id: I48496a8d398abcc41624fff258099682f649c0bd
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
M sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-9999.ebuild
M sys-firmware/chromeos-fpmcu-release-nocturne/chromeos-fpmcu-release-nocturne-9999.ebuild
M chromeos-base/chromeos-ec/chromeos-ec-9999.ebuild
M eclass/cros-ec.eclass
M sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-9999.ebuild
M chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-9999.ebuild
M sys-firmware/chromeos-fpmcu-release-nami/chromeos-fpmcu-release-nami-9999.ebuild
ap...@google.com <ap...@google.com> #151
Branch: main
commit a1dbdc91ae1b3d60d307e5bad9514f5ed2d6b65f
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 11 16:30:19 2022
chip/stm32: Remove self-assignment
When building with clang it warns:
chip/stm32/clock-stm32l4.c:400:9: error: explicitly assigning value of
variable of type 'uint32_t' (aka 'unsigned int') to itself
[-Werror,-Wself-assign]
val = val;
~~~ ^ ~~~
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=hyperdebug
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ie4fae7251747d27b96ed08c3ef166fddd5411b9a
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M chip/stm32/clock-stm32l4.c
ap...@google.com <ap...@google.com> #152
Branch: main
commit 7929e0335ef69fedb5a2f27b5b840845792a38b4
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 11 16:16:01 2022
common/i2c_peripheral: Fix return type
When building with clang it warns:
common/i2c_peripheral.c:30:9: error: implicit conversion from
enumeration type 'enum ec_error_list' to different enumeration type
'enum ec_status' [-Werror,-Wenum-conversion]
return EC_SUCCESS;
~~~~~~ ^~~~~~~~~~
BRANCH=none
BUG=b:172020503
TEST=none
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ifd3507a4bf08a768ad7e84abcafaf2ebc69503b5
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M common/i2c_peripheral.c
ap...@google.com <ap...@google.com> #153
Branch: main
commit 65da9cc08766e307e5d288e1d7848c83384dae21
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 11 13:58:46 2022
include/ec_commands.h: Fix unaligned access warnings
When building with clang, it now warns if there is an unpacked struct
nested in a packed struct:
include/ec_commands.h:3053:4: error: field within 'struct
ec_params_motion_sense::(unnamed at include/ec_commands.h:3044:3)' is
less aligned than 'union ec_params_motion_sense::(anonymous at
include/ec_commands.h:3053:4)' and is usually due to 'struct
ec_params_motion_sense::(unnamed at include/ec_commands.h:3044:3)' being
packed, which can lead to unaligned accesses
[-Werror,-Wunaligned-access]
union {
^
See
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I5c89746d7e2e93183f4706376e6cda0be4589c01
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M include/ec_commands.h
ap...@google.com <ap...@google.com> #154
Branch: main
commit c2ac97e9c24566451d2e24df2b4b2af9f4076ba4
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Apr 15 17:32:03 2022
util/build_with_clang: Add more boards that compile
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I965583d9d147617b1f560cfd4cc78cedd6c39bb4
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #155
Branch: main
commit dc6a5f010be58345289bfb9d2f86153ef35b2223
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Aug 29 16:00:24 2022
include/compiler.h: Add generic macro for disabling compiler warnings
These macros are easier to read and use than the underlying pragmas.
BRANCH=none
BUG=b:172020503
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I2f67cbb3f83230b7e1a6a4512471bbd2bec0498f
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M chip/stm32/usb_endpoints.c
M common/acpi.c
M common/panic_output.c
M core/cortex-m/vecttable.c
M core/cortex-m0/vecttable.c
M include/compiler.h
M test/printf.c
M test/stdlib.c
ap...@google.com <ap...@google.com> #156
Branch: main
commit 6003975a719df8440fb8da8ff7270eb6a3edc412
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Oct 12 15:16:40 2022
chip/mchp: Fix return type
When building with clang it warns:
chip/mchp/lpc.c:966:9: error: implicit conversion from enumeration type
'enum ec_error_list' to different enumeration type 'enum ec_status'
[-Werror,-Wenum-conversion]
return EC_SUCCESS;
~~~~~~ ^~~~~~~~~~
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=reef_mchp
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I680cea90f72d3743ef4b92e13e57e63557cba702
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M chip/mchp/lpc.c
ap...@google.com <ap...@google.com> #157
Branch: main
commit 32ff920e7474bd6467193501c1489efd4ea8ccb9
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 13:41:30 2022
baseboard/intelrvp: Work around clang bug
clang warns:
error: initializer element is not a compile-time constant
There is an upstream LLVM review with proposed fix:
In the meantime, we will work around it.
BRANCH=none
BUG=b:172020503, b:202062363
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: If48c7bd9544c0fae0a889693122673016e1ba183
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M baseboard/intelrvp/baseboard.c
ap...@google.com <ap...@google.com> #158
Branch: main
commit e2aa8ef9165d7f65b65d81ea1412891bfae5db41
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 12:09:59 2022
board/coachz: Free up more flash space
BRANCH=none
BUG=b:172020503
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Iea7d3c0400cc7af8bbad109d6adbbf18e73714a2
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M board/coachz/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #159
Branch: main
commit 080c095d8b742a30322270aa2ede14240819eab6
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 16:19:51 2022
util/build_with_clang: Print failed boards in sorted order
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ia3c5840dc32d9fba6913eb33d82ebf46bda3bdf0
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #160
Branch: main
commit 79c710c708205c89a6bd485f424e949273ccc4bf
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 13:09:32 2022
baseboard/trogdor: Enable LTO
Before (homestar):
RO: 5376 bytes in flash and 28448 bytes in RAM still available
RW: 5536 bytes in flash and 28448 bytes in RAM still available
After (homestar):
RO: 16272 bytes in flash and 28832 bytes in RAM still available
RW: 16428 bytes in flash and 28832 bytes in RAM still available
BRANCH=none
BUG=b:172020503
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I48613449cab4977c59a47d98255e0ab683a46fbf
Reviewed-on:
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
M baseboard/trogdor/baseboard.h
ap...@google.com <ap...@google.com> #161
Branch: main
commit 68ac8294e9bd15dd79628fbca0aebae93865adb9
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 14 08:43:28 2022
driver/als_si114x.c: Fix LED enable
SI114X_PARAM_CHLIST_EN_PS3, regardless of the number of LEDs.
This was found on inspection when fixing
BRANCH=none
BUG=b:172020503
TEST=make BOARD=eve
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Iccc77d0cfc6c70635df8553406dbf28e5f37f129
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M driver/als_si114x.c
ap...@google.com <ap...@google.com> #162
Branch: main
commit aabf5bf9a3a943a2c69355ddab98fe8263293781
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 11 15:55:33 2022
tree: Disable false positive warning when building with clang
BRANCH=none
BUG=b:172020503, b:253292373
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I1ef6244d426c8b611be8766575916bbd38429772
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M board/eve/board.c
M board/kukui/board.c
M board/poppy/board.c
M board/reef/board.c
M board/reef_mchp/board.c
ap...@google.com <ap...@google.com> #163
Branch: main
commit a78f22de6b33f79edc8b76a27d41cefe514f12bc
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 13:17:11 2022
util/build_with_clang: Enable trogdor-based boards
Now that LTO is enabled, there is enough flash space.
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: If716209190bd75c1df92739e35230e184f823ce0
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #164
Branch: main
commit 4f320abaf6c88861573830284fec79c1f356ae44
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Oct 12 12:48:14 2022
driver/als_si114x: Add missing case statement
When building with clang it warns:
driver/als_si114x.c:317:10: error: no case matching constant switch
condition '0' [-Werror]
switch (SI114X_NUM_LEDS) {
^~~~~~~~~~~~~~~
./driver/als_si114x.h:35:25: note: expanded from macro 'SI114X_NUM_LEDS'
^~~~~~~~~~~~~~~~~~~~~~~~~~
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=eve
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I94db5530c681c438db53bb065c45b223caea7917
Reviewed-on:
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
M driver/als_si114x.c
ap...@google.com <ap...@google.com> #165
Branch: main
commit b5ec6ecf73d287551fb2e2def5c23022c9533b43
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 13:34:45 2022
baseboard/intelrvp: Add casts
When building with clang it warns:
baseboard/intelrvp/adlrvp.c:235:23: error: implicit conversion from
enumeration type 'enum ioex_signal' to different enumeration type 'enum
gpio_signal' [-Werror,-Wenum-conversion]
.retimer_rst_gpio = IOEX_USB_C3_BB_RETIMER_RST,
^~~~~~~~~~~~~~~~~~~~~~~~~~
baseboard/intelrvp/adlrvp.c:236:21: error: implicit conversion from
enumeration type 'enum ioex_signal' to different enumeration type 'enum
gpio_signal' [-Werror,-Wenum-conversion]
.usb_ls_en_gpio = IOEX_USB_C3_BB_RETIMER_LS_EN,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
baseboard/intelrvp/adlrvp.c:310:44: error: implicit conversion from
enumeration type 'const enum gpio_signal' to different enumeration type
'enum ioex_signal' [-Werror,-Wenum-conversion]
ioex_set_level(bb_controls[me->usb_port].usb_ls_en_gpio, 1);
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
baseboard/intelrvp/adlrvp.c:319:44: error: implicit conversion from
enumeration type 'const enum gpio_signal' to different enumeration type
'enum ioex_signal' [-Werror,-Wenum-conversion]
ioex_set_level(bb_controls[me->usb_port].retimer_rst_gpio, 1);
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I5ba7821d47b07a14925274fadbfaf963d061a4b6
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M baseboard/intelrvp/adlrvp.c
ap...@google.com <ap...@google.com> #166
Branch: main
commit eae5e48f0a3e741578914bd21a49fb5fe6f6ed63
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 13:54:47 2022
power/icelake: add casts for power signals
When building with clang, it warns:
power/icelake.c:43:11: error: implicit conversion from enumeration type
'enum espi_vw_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
.gpio = SLP_S3_SIGNAL_L,
^~~~~~~~~~~~~~~
include/power/intel_x86.h:36:25: note: expanded from macro 'SLP_S3_SIGNAL_L'
^~~~~~~~~~~
Although "enum espi_vw_signal" and "enum gpio_signal" are not directly
compatible, it appears that the code in power/common.c takes that into
account by calling espi_signal_is_vw().
clang also produces another warning:
power/icelake.c:267:19: error: implicit conversion from enumeration type
'enum espi_vw_signal' to different enumeration type 'enum gpio_signal'
[-Werror,-Wenum-conversion]
gpio_set_flags(SLP_S3_SIGNAL_L, GPIO_ODR_LOW);
~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~
include/power/intel_x86.h:36:25: note: expanded from macro 'SLP_S3_SIGNAL_L'
^~~~~~~~~~~
However, this warning should not be emitted because this code is inside
an IS_ENABLED(CONFIG_CHIPSET_SLP_S3_L_OVERRIDE) block. Changing
IS_ENABLED(CONFIG_CHIPSET_SLP_S3_L_OVERRIDE) to
"#if defined(CONFIG_CHIPSET_SLP_S3_L_OVERRIDE)" works around this.
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I1fe6bbb1881572a3eff756220ee960d397344c69
Reviewed-on:
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Keith Short <keithshort@chromium.org>
M power/icelake.c
ap...@google.com <ap...@google.com> #167
Branch: main
commit b9be252fa3d0acf5c0306e823680564117750c3c
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Nov 16 09:25:35 2021
test: Add panic test
Add a test for ARM that verifies that exception_panic() correctly
preserves the registers we expect it to.
BRANCH=none
BUG=b:172020503
TEST=./test/run_device_tests.py --board bloonchipper -t panic
TEST=make BOARD=discovery-stm32f072 test-panic
openocd -c "set BOARD discovery-stm32f072" \
-c "set BUILD_DIR build/discovery-stm32f072/panic" \
-f board/discovery-stm32f072/openocd-flash.cfg
screen /dev/ttyUSB1
> runtest
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I592483c922652df8a4fb2b0a0a5fb57b1480b8b6
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M board/discovery-stm32f072/
M board/hatch_fp/
M board/nocturne_fp/
M test/
A test/panic.c
A test/panic.tasklist
M test/run_device_tests.py
M test/test_config.h
ap...@google.com <ap...@google.com> #168
Branch: main
commit 20aafac57bafacf185fe3915cd75f26ac4f2729f
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 13:56:27 2022
util/build_with_clang: Enable adlrvpp_npcx
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=adlrvpp_npcx
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ia446e30b71e1a0c3b87bd5cf22f3773d99cd0bcc
Reviewed-on:
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #169
Branch: main
commit 5bbfc39ee834d3ff33f8a53926f905ec03da0cda
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 14:01:26 2022
util/build_with_clang: Enable vell
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=vell
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I87ec7a3ce4987efb96f64b50ed6af61973881c86
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #170
Branch: main
commit d0307eb698f45490cea28ab032a8cce445c948ec
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 14:00:25 2022
board/vell: Fix compilation with clang
BRANCH=none
BUG=b:172020503, b:202062363
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8131e8a38cea468c1bbe2fbd37d8eba89b6d28b8
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M board/vell/sensors.c
ap...@google.com <ap...@google.com> #171
Branch: firmware-brya-14505.B-main
commit 109f73cf297e4fef7d95bfdefbc2e20220363ca2
Author: Kyle Lin <kylelinck@google.com>
Date: Wed Oct 19 09:23:16 2022
Merge remote-tracking branch cros/main into firmware-brya-14505.B-main
Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file
baseboard/brya/relevant-paths.txt firmware-brya-14505.B-main
Relevant changes:
git log --oneline 069298a17e..0dfb30f220 -- baseboard/brya board/agah
board/anahera board/banshee board/brya board/crota board/felwinter
board/gimble board/kano board/mithrax board/osiris board/primus
board/redrix board/taeko board/taniks board/vell board/volmar
driver/bc12/pi3usb9201_public.* driver/charger/bq25710.*
driver/ppc/nx20p348x.* driver/ppc/syv682x_public.*
driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.*
driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake*
include/intel_x86.h power/alderlake* power/intel_x86.c
util/getversion.sh
2fdea49d04 tcpc: modify nct38xx and fusb302 get vbus voltage function
d0307eb698 board/vell: Fix compilation with clang
BRANCH=None
BUG=b:252974232 b:172020503 b:202062363
TEST=`make -j buildall`
Force-Relevant-Builds: all
Signed-off-by: Kyle Lin <kylelinck@google.com>
Change-Id: Ied7947d76f64af3253a8df3fcffc8a7bf603feae
ap...@google.com <ap...@google.com> #172
Branch: main
commit ed1752afc0b36157d5e992a8da3ca3c04e341c7f
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 09:29:19 2022
util/build_with_clang: eve and poppy now compile
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=eve
TEST=CC=clang make BOARD=poppy
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I731873f4f24fe943801a6394838e8b764823c978
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #173
Branch: main
commit bffa5b80693d1f322fe188fb36fe867cd9f4804e
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Nov 23 14:44:30 2021
core/cortex-m0: Move exception_panic to assembly
We're jumping through a lot of hoops trying to get the compiler to do
what we want with inline assembly. It's making the code hard to read and
subject to not-well-defined behavior of the compiler. The pure assembly
is unambiguous.
Before this change:
080164c0 <exception_panic>:
80164c0: 4b08 ldr r3, [pc, #32] ; (80164e4 <exception_panic+0x24>)
80164c2: 4809 ldr r0, [pc, #36] ; (80164e8 <exception_panic+0x28>)
80164c4: 469c mov ip, r3
80164c6: f3ef 8109 mrs r1, PSP
80164ca: f3ef 8205 mrs r2, IPSR
80164ce: 466b mov r3, sp
80164d0: c0fe stmia r0!, {r1, r2, r3, r4, r5, r6, r7}
80164d2: 4641 mov r1, r8
80164d4: 464a mov r2, r9
80164d6: 4653 mov r3, sl
80164d8: 465c mov r4, fp
80164da: 4675 mov r5, lr
80164dc: c03e stmia r0!, {r1, r2, r3, r4, r5}
80164de: 46e5 mov sp, ip
80164e0: f7ff ffb4 bl 801644c <report_panic>
80164e4: 20003f70 .word 0x20003f70
80164e8: 20003f74 .word 0x20003f74
After this change:
08016334 <exception_panic>:
8016334: 4b08 ldr r3, [pc, #32] ; (8016358 <pstack>)
8016336: 4809 ldr r0, [pc, #36] ; (801635c <pregs>)
8016338: 469c mov ip, r3
801633a: f3ef 8109 mrs r1, PSP
801633e: f3ef 8205 mrs r2, IPSR
8016342: 466b mov r3, sp
8016344: c0fe stmia r0!, {r1, r2, r3, r4, r5, r6, r7}
8016346: 4641 mov r1, r8
8016348: 464a mov r2, r9
801634a: 4653 mov r3, sl
801634c: 465c mov r4, fp
801634e: 4675 mov r5, lr
8016350: c03e stmia r0!, {r1, r2, r3, r4, r5}
8016352: 46e5 mov sp, ip
8016354: f000 f890 bl 8016478 <report_panic>
08016358 <pstack>:
8016358: 20003f70 .word 0x20003f70
0801635c <pregs>:
801635c: 20003f74 .word 0x20003f74
BRANCH=none
BUG=b:172020503
TEST=compare disassembly of exception_panic (see above)
TEST=make BOARD=discovery-stm32f072 test-panic
openocd -c "set BOARD discovery-stm32f072" \
-c "set BUILD_DIR build/discovery-stm32f072/panic" \
-f board/discovery-stm32f072/openocd-flash.cfg
screen /dev/ttyUSB1
> runtest
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Id11c06a14475a81746fa355d0a07e82616574e10
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
A core/cortex-m0/asm_offsets.c
M core/cortex-m0/
A core/cortex-m0/exception_panic.S
M core/cortex-m0/panic.c
ap...@google.com <ap...@google.com> #174
Branch: main
commit 12e1ed299bf8a1323702fe44cff6a16c36a5d644
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Nov 23 14:43:07 2021
Add ability to get struct offsets for use in assembly
BRANCH=none
BUG=b:172020503
TEST=Using
make BOARD=discovery-stm32f072 -j
manually inspect generated file:
build/discovery-stm32f072/RW/core/cortex-m0/asm_offsets.h
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I6c5a982a88ed1e77f8e98b9a0a451d52d5c03a87
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
M Makefile
M Makefile.rules
A common/asm_define.h
A core/
ap...@google.com <ap...@google.com> #175
Branch: main
commit 650a67c64c0f14bf8ad1d63fcbb0b48b6375c8b3
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 12:58:47 2022
board/corori2: Free up more flash space
BRANCH=none
BUG=b:172020503
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I03be805b2559d9c818607a016a97acf86f83b7ca
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
M board/corori2/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #176
Branch: factory-brya-14909.124.B-main
commit 1afa995cc54968d86bec8a23bab66bb07742dbdf
Author: YH Lin <yueherngl@google.com>
Date: Fri Oct 21 19:42:31 2022
Merge remote-tracking branch cros/main into factory-brya-14909.124.B-main
Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file
baseboard/brya/relevant-paths.txt factory-brya-14909.124.B-main
Relevant changes:
git log --oneline 03fdd0082c..fae6145045 -- baseboard/brya board/agah
board/anahera board/banshee board/brya board/crota board/felwinter
board/gimble board/kano board/mithrax board/osiris board/primus
board/redrix board/taeko board/taniks board/vell board/volmar
driver/bc12/pi3usb9201_public.* driver/charger/bq25710.*
driver/ppc/nx20p348x.* driver/ppc/syv682x_public.*
driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.*
driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake*
include/intel_x86.h power/alderlake* power/intel_x86.c
util/getversion.sh
b65e11f66f crota: sync FW_CONFIG form_factor
0d1b98c718 tree: Enable warning for fallthrough in switch statements
93684a594f crota: configure GPIOD2 as PMU alternate function
2fdea49d04 tcpc: modify nct38xx and fusb302 get vbus voltage function
d0307eb698 board/vell: Fix compilation with clang
BRANCH=None
BUG=b:252974232 b:172020503 b:202062363 b:253644823 b:254402731
BUG=b:254401750
TEST=`emerge-brya chromeos-ec`
Force-Relevant-Builds: all
Signed-off-by: YH Lin <yueherngl@google.com>
Change-Id: I74add4a9f4d30822118607765065857ed9753bb3
ap...@google.com <ap...@google.com> #177
Branch: factory-brya-14517.B-main
commit 2d3451e021a93854fde92110aa245b633266cab5
Author: YH Lin <yueherngl@google.com>
Date: Fri Oct 21 19:41:29 2022
Merge remote-tracking branch cros/main into factory-brya-14517.B-main
Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file
baseboard/brya/relevant-paths.txt factory-brya-14517.B-main
Relevant changes:
git log --oneline 8b2b2fcb10..fae6145045 -- baseboard/brya board/agah
board/anahera board/banshee board/brya board/crota board/felwinter
board/gimble board/kano board/mithrax board/osiris board/primus
board/redrix board/taeko board/taniks board/vell board/volmar
driver/bc12/pi3usb9201_public.* driver/charger/bq25710.*
driver/ppc/nx20p348x.* driver/ppc/syv682x_public.*
driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.*
driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake*
include/intel_x86.h power/alderlake* power/intel_x86.c
util/getversion.sh
b65e11f66f crota: sync FW_CONFIG form_factor
0d1b98c718 tree: Enable warning for fallthrough in switch statements
93684a594f crota: configure GPIOD2 as PMU alternate function
2fdea49d04 tcpc: modify nct38xx and fusb302 get vbus voltage function
d0307eb698 board/vell: Fix compilation with clang
BRANCH=None
BUG=b:253644823 b:254402731 b:254401750 b:172020503 b:202062363
BUG=b:252974232
TEST=`emerge-brya chromeos-ec`
Force-Relevant-Builds: all
Signed-off-by: YH Lin <yueherngl@google.com>
Change-Id: Ie5b518661b23b39df2e751d1a675a729c8c58ad0
ap...@google.com <ap...@google.com> #178
Branch: main
commit 1afeeef4f4e69960199e32f4de50094c43625b27
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 18 16:27:08 2022
third_party/unacl-curve25519: Fix assembly
When building with clang it complains that when compiling for Thumb
there are no flag-preserving variants of many of the instructions in the
assembly:
core/cortex-m0/curve25519/mul.S:1099:2: error: no flag-preserving
variant of this instruction available
adc r2, r6
^
Using "arm-none-eabi-objdump -d" to disassemble the object
files, we can see that gcc is less strict and just silently generates
the version of the instruction that sets the flags (e.g., "adc" ->
"adcs").
This change fixes up the assembly so that it compiles with clang. Most
of the changes were done programmatically with the following script
(followed by some manual cleanup):
sed -i 's/adc/adcs/g' ${FILE}
sed -i 's/asr/asrs/g' ${FILE}
sed -i 's/mvn/mvns/g' ${FILE}
sed -i 's/sbc/sbcs/g' ${FILE}
sed -i 's/sub/subs/g' ${FILE}
sed -i 's/lsr/lsrs/g' ${FILE}
sed -i 's/lsl/lsls/g' ${FILE}
sed -i 's/mul/muls/g' ${FILE}
sed -i 's/eor/eors/g' ${FILE}
sed -i 's/orr/orrs/g' ${FILE}
sed -i 's/mov r\([[:digit:]]\+\),#\([[:digit:]]\+\)/movs r\1,#\2/g' ${FILE}
sed -i 's/add r\([[:digit:]]\+\),#\([[:digit:]]\+\)/adds r\1,#\2/g' ${FILE}
sed -i 's/add r\([[:digit:]]\+\),r\([[:digit:]]\+\)/adds r\1,r\1,r\2/g' ${FILE}
The binary generated by gcc before and after this change is bitwise
exact as seen by the use of the compare_build.sh script (see TEST line).
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=hammer
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ice602c1996ef3b48c46e69f0d6770828cf21c15d
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M third_party/unacl-curve25519/core/cortex-m0/curve25519/mpy121666.S
M third_party/unacl-curve25519/core/cortex-m0/curve25519/mul.S
M third_party/unacl-curve25519/core/cortex-m0/curve25519/reduce25519.S
M third_party/unacl-curve25519/core/cortex-m0/curve25519/sqr.S
ap...@google.com <ap...@google.com> #179
Branch: main
commit 8ca7ab1e716c84f19fdaac50844a60973b516198
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Oct 13 16:29:52 2022
util/build_with_clang: Add stm32f0 chips that build
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I27fa96a09b8e8e56f7fedaa98468e2e68943d819
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #180
Branch: main
commit e0c62a6524a691b01c0454559af6f678169a6c24
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 24 14:59:28 2022
util/build_with_clang: Add more boards that compile
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ib21090f447dab8f8f6eca37687aabf06f5b58f2e
Reviewed-on:
Reviewed-by: Keith Short <keithshort@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #181
Branch: main
commit f59d3ca822ceb5f56788821129088acd787ae626
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 24 15:20:29 2022
driver/touchpad_st: Fix unaligned access warnings
When building with clang, it now warns if there is an unpacked struct
nested in a packed struct:
driver/touchpad_st.c:109:2: error: field within 'struct (unnamed at
driver/touchpad_st.c:105:8)' is less aligned than 'union (anonymous at
driver/touchpad_st.c:109:2)' and is usually due to 'struct (unnamed at
driver/touchpad_st.c:105:8)' being packed, which can lead to unaligned
accesses [-Werror,-Wunaligned-access]
union {
^
See
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=whiskers
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Id870922e05ecb89037e323a6d38083d07f205ee3
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
M driver/touchpad_st.c
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #182
Branch: main
commit afc1b2f8795f614bb298b20d05962d1d37f6f820
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 24 15:52:15 2022
util/build_with_clang: Check all boards are accounted for
Verify that all boards are accounted for, whether they build
successfully or not. This allows us to make sure that new boards are
tracked as they are added.
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ia24849a2c069251c10e7d134a96e9e4d79eaecef
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #183
Branch: main
commit 66cf8fb2f5b70efd21243b3bdf2598e9d2afc75b
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Oct 18 12:05:07 2022
board/reef: Fix temp sensor gpios
When compiling with clang, it warns:
board/reef/gpio.inc:168:1: error: initializer overrides prior
initialization of this subobject [-Werror,-Winitializer-overrides]
ALTERNATE(PIN(4, 5), 6, MODULE_ADC, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
common/gpio.c:39:53: note: expanded from macro 'ALTERNATE'
{ GPIO_##pinmask, .func = (function), .module_id = (module), \
^~~~~~~~
board/reef/gpio.inc:168:1: note: previous initialization is here
ALTERNATE(PIN(4, 5), 6, MODULE_ADC, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It looks like the intent was to use the PIN_MASK macro instead of PIN.
Replace with PIN_MASK(4, 0x10) and PIN_MASK(4, 0x30), which simplifies
to PIN_MASK(4, 0x30).
Also change '6' to '0', since this field changes PWM type (e.g.,
PWM_IO_FUNC) but these ports are ADC.
BRANCH=none
BUG=b:35575418, b:172020503
TEST=make buildall
TEST=CC=clang make BOARD=reef
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Icf13e8cb5eb6bd0ea95ad9b977f11f39c6ac67c8
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M board/reef/gpio.inc
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #184
Branch: main
commit debd63a2d91ec53d5576bc867823df459a931ffe
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 24 16:03:49 2022
tree: Allow building Minute-IA with clang
BRANCH=none
BUG=b:172020503, b:255967867
TEST=CC=clang make BOARD=arcada_ish -j
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I91f6f1e28646f7be821050cca870fa2a396c1e50
Reviewed-on:
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M core/minute-ia/
M driver/accelgyro_lsm6dsm.c
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #185
Branch: main
commit 5db47a635545bdeff1486f6ec97602b471ab581b
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 28 09:09:00 2022
chip/mchp/lfw: Specify region for padding
Linking with clang/lld fails since it assumes the region .fill should
use is VECTOR:
ld.lld: error: section '.fill' will not fit in region 'VECTOR':
overflowed by 328 bytes
This change does not affect the gcc/ld build (identical output before and
after).
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ieeff37fc13befe495dbc567b4be363da07a75c3a
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M chip/mchp/lfw/ec_lfw.ld
M chip/mchp/lfw/ec_lfw_416kb.ld
ap...@google.com <ap...@google.com> #186
Branch: main
commit 39caf07089611bcd1ac01ac33907c77f415b93c5
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Oct 28 09:09:14 2022
chip/mchp/lfw: Discard ARM.* sections
Linking with clang/lld fails since it tries to include .ARM.exidx in the
VECTOR region:
ld.lld: error: section '.ARM.exidx' will not fit in region 'VECTOR':
overflowed by 328 bytes
We don't need the exception index table or exception table (see
linker scripts:
This change does not affect the gcc/ld build (identical output before and
after).
BRANCH=none
BUG=b:172020503
TEST=./util/compare_build.sh -b all -j 120
=> MATCH
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I65df11f3ab0c439ea3d4ce2805afaac942b22a0e
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M chip/mchp/lfw/ec_lfw.ld
M chip/mchp/lfw/ec_lfw_416kb.ld
ap...@google.com <ap...@google.com> #187
Branch: main
commit 70ddb59e62ce02cb48e180a8080ceb4a83859ff8
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon Oct 24 11:22:38 2022
chip/mchp: Fix clang compilation error
When building with clang, it fails with:
chip/mchp/lfw/ec_lfw.c:310:2: error: non-ASM statement in naked function
is not supported
uart_puts("EXCEPTION!\nTriggering watchdog reset\n");
^
chip/mchp/lfw/ec_lfw.h:25:41: note: attribute is here
void fault_handler(void) __attribute__((naked));
^
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: If998119e285b3a068623909a373f3ebaf426b2e2
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M chip/mchp/lfw/ec_lfw.c
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #188
Branch: main
commit 957fc0e658d763bcff8f275701198bb3037baaab
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 13:33:00 2022
board/servo_v4: Free up more flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=servo_v4
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I719bd93e1aaadd1591cf49c07ac65e6815de94bc
Reviewed-on:
Reviewed-by: Brian Nemec <bnemec@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M board/servo_v4/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #189
Branch: main
commit 58639e4e45ecc051d8a7e0b0ed35079dc6f3f57e
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 16:26:42 2022
board/adlrvpp_mchp1521: Free up more flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=adlrvpp_mchp1521
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ie8f3b6cbcea758352ab38591d26d831d77b1084d
Reviewed-on:
Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M board/adlrvpp_mchp1521/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #190
Branch: main
commit 4d7c3314bc52fc9534cf124927296f037236e370
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 13:21:02 2022
board/waddledoo: Free up flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=waddledoo
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I8b088e83c95c3874c461c3efe34345399f5074c3
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M board/waddledoo/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #191
Branch: main
commit b4de9e1b973f932538ff3e12d05a9d0bb90b59cc
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 09:55:39 2022
baseboard/kukui: Free up additional flash space
BRANCH=none
BUG=b:172020503, b:256193799
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I746815d69bbdab3dd95ba69f47d4c1f7494fe642
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M baseboard/kukui/baseboard.h
ap...@google.com <ap...@google.com> #192
Branch: main
commit 2a4220494a8711f9f7e921b1513fcfae436fbed7
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 16:50:21 2022
board/oak: Free up more flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=oak
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I234151d4b77bc27e9293a64fa02433370f0c7654
Reviewed-on:
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M board/oak/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #193
Branch: main
commit ded807b0e86401cdb9c054881a84142145e18f16
Author: Tom Hughes <tomhughes@chromium.org>
Date: Thu Nov 10 16:41:42 2022
board/nocturne: Enable LTO
BRANCH=none
BUG=b:172020503
TEST=make BOARD=nocturne
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I19b0c772380336cdcd8b9d219386df21f859a7a7
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M board/nocturne/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #194
Branch: main
commit 69df9b5b230ce025b6e6f87d4f5551d0a845d2ad
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 11:00:39 2022
board/gelarshie: Free up more flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=gelarshie
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ib483bc193fea2737a1c1add0695327b014727e89
Reviewed-on:
Reviewed-by: Edward Hill <ecgh@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M board/gelarshie/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #195
Branch: main
commit 9c52ce0b7c401ecd07d25901f16acf95369bcc5e
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Nov 15 14:09:43 2022
board/corori2: Free up flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=corori2
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I788d367b3ad8ae5d40574da31b844cbb08db1fe4
Reviewed-on:
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Edward Hill <ecgh@chromium.org>
M board/corori2/board.h
ap...@google.com <ap...@google.com> #196
Branch: main
commit fcc7716bf1461477a3b3d8a53b85fdc81df677e4
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue Nov 15 13:21:48 2022
util/build_with_clang: Add option to remove build directory
By default remove the build directory, but allow disabling it with a
flag.
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I0342768da9e340aa4d84bb695cc97550e305326d
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #197
Branch: main
commit fe22a4525d7224937e3b1470f624ce2a4a2f0e2d
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 08:40:32 2022
util/build_with_clang: More boards successfully compile
BRANCH=none
BUG=b:172020503
TEST=./util/build_with_clang.py
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Ie096e68f8e2f1287aac04babf63e2759039e591d
Reviewed-on:
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #198
Branch: main
commit ed85e67ea6fddb6bdd21f4db691700da85307959
Author: Scott Collyer <scollyer@google.com>
Date: Mon Nov 21 12:10:07 2022
util: Remove corori2 from list of boards that build with clang
The CQ is failing to compile this board. Remove this board from list
of boards that compile with clang.
BRANCH=none
BUG=b:172020503
TEST=make buildall
Signed-off-by: Scott Collyer <scollyer@google.com>
Change-Id: Ia12ddaa983601185ffc760ada9fb12bbfecd3b9a
Reviewed-on:
Commit-Queue: Scott Collyer <scollyer@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
Tested-by: Scott Collyer <scollyer@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #199
Branch: main
commit 129e85727d7174e9ff7af6cc2413399ec5ee906e
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 14:05:55 2022
board/burnet: Free up flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=burnet
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: If04c6b209990822ccad384a1a6cbd66870eefcaa
Reviewed-on:
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Peter Marheine <pmarheine@chromium.org>
M board/burnet/board.h
M util/build_with_clang.py
ri...@google.com <ri...@google.com> #200
Hi Tom,
I try to submiot the
The following boards are missing and must be added to BOARDS_THAT_COMPILE_SUCCESSFULLY_WITH_CLANG or BOARDS_THAT_FAIL_WITH_CLANG:
gladios
Do we need to add them into build_with_clang.py?
to...@google.com <to...@google.com> #201
I responded in the CL.
ap...@google.com <ap...@google.com> #202
Branch: firmware-dedede-13606.B-master
commit 911738dd4afb899886cc8be29853d765e5cea093
Author: Adam Mills <adamjmills@google.com>
Date: Wed Feb 08 14:10:30 2023
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Generated by: util/update_release_branch.py -r --baseboard dedede
--relevant_paths_file util/dedede-relevant-paths.txt firmware-
dedede-13606.B-master
Relevant changes:
git log --oneline 4df9649461..61c3af6f41 -- baseboard/dedede
board/beadrix board/beetley board/blipper board/boten board/bugzzy
board/corori2 board/cret board/dibbi board/drawcia board/drawcia_riscv
board/galtic board/kracko board/lantis board/madoo board/magolor
board/metaknight board/pirika board/sasuke board/sasukette board/shotzo
board/storo board/waddledee board/waddledoo board/wheelie
common/charge_state_v2.c common/mkbp_* common/ocpc.c
common/usbc/usb_tc_drp_acc_trysrc_sm.c common/usbc/usb_sm.c
common/usbc/*_pd_* common/usbc/dp_alt_mode.c common/usbc/usb_prl_sm.c
common/usbc/usb_pe_drp_sm.c common/usb_charger.c common/usb_common.c
common/usbc_ocp.c driver/charger/sm5803.* driver/charger/isl923x.*
driver/tcpm/raa489000.* driver/tcpm/it83* include/power/icelake.h
include/intel_x86.h power/icelake.c power/intel_x86.c util/getversion.sh
7884deec9f TCPMv2: Gate DP module support on a CONFIG
787e649b99 it8xxx2: modify pd registers for it81202/it81302 Cx
1de8cd98a1 dibbi: Add PPC support
92ce270872 raa489000: never report ACOK when sourcing VBUS
2fb4880984 dibbi: Updating EC pinout based on latest schematics
adc838c427 ocpc : Don't let voltage drop below voltage_min
277a05bb47 raa489000: support AC_PRESENT_CONTROL without OCPC
4527f51ccb RAA489000: support modify OCP level margin
c9f629f547 charger/isl9238c: Add BUCK_PHASE_VOLTAGE config
7dc429e831 usbc-pd: Log with labels should honor debug level
4a475bcaf7 TCPMv2: Clear DPM state on disconnect
b2720d5f14 TCPMv2: Add host command VDM:Attention retrieval
a86aff466a TCPMv2: Queue Attention messages for consumption
c7d5e1da9a TCPMv2: Rearrange VDM response HC contents
3f0f13bf48 raa489000: Support AC_PRESENT when OTG mode
ca2ec79d63 common/mkbp_event: Fix EC_CMD_GET_NEXT_EVENT response
a7eb8d5a50 TCPMv2: Add SOP minor revision to EC_CMD_TYPEC_STATUS
49abac3967 Default charger current derating to 5%
f0436fe4c6 chgstv2: optimization battery protection for low voltage
8510a42afa TCPMv2: Update PE comments
aeb757fd75 charger/isl9238c: enable force buck mode
602912a4ef TCPMV2: Handle errors in pe_send_alert_run
55a0acd279 usbc-pd: Use correct config item for AP pwr
44b10c0f6d Raa489000: Remove dependency on BC 1.2
3a705db54b TCPMv2: Make VDM ACKs available to the AP
53c21ecb2b usb_prl: support logging to a ring buffer
3a824dc622 ec: Support logging system boot time info
7510348192 TCPMv2: Pass NAK VDM headers to DPM
1b5fd24c11 usb_tc_drp_acc_trysrc_sm: add bound check
868032324f Revert "ec: Support logging system boot time info"
c8325ba18b ec: Support logging system boot time info
2606632fda getversion.sh: Add private-mt-scp/... git hash for fingerprint
c50046ad63 board: Sort header files
599c438e80 common: Sort header files
e6da633c38 driver: Sort header files
a0d94a2179 tcpmv2: dpm: Add DATA_RESET state
57b3256963 Rename CONFIG_CHARGER_INPUT_CURRENT to _CHARGER_DEFAULT_CURRENT_LIMIT
da9a0ba6ad tcpmv2: dpm: Split DPM_READY to DFP/UFP specific states
cbacb3e5d0 tcpmv2: pe: Add mux_set call following successful DATA_RESET
a6dfae3836 dibbi: Update board specific power implementation
bd967de4a3 magolor: delay one second when charger enter low power mode
43b53e0045 Add default implementation of board_set_charge_limit
667d7d7129 dp-alt-mode: add safety check
20b581f68a TCPMv2: Present as Sink/UFP in CTAttached.SNK
1063e0ff83 TCPMv2: Disallow VCONN Swap in CTAttached.SNK
b75dc90677 Add CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT
1c5c179db1 pirika: fix index check
b3d7ad5e5e test: add missing coverage for mkbp_event.c
eccb0c71b5 isl923x: fix index check
ec31407993 Add CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
9c52ce0b7c board/corori2: Free up flash space
dee200cbf6 dibbi: Update power and recovery buttons
4d7c3314bc board/waddledoo: Free up flash space
0b7798dc00 pd console command: cflush fix
46ab913942 usb_pe: add PE state index in the comment
eecd4959ca dibbi: Remove select unused features from waddledee fork
31cf129cb7 test: verify common paths for charge_prevent_power_on
4028694bc7 dibbi: Create initial EC image
8848a7d064 buggzy: Enable on/off body detection
004f930719 Nissa: OCPC PID Controller hasn't been tuned for each Nissa board
1736458970 tpcmv2: dpm: Rename attempt_mode_entry/exit functions
408ac447c3 usb_common: Remove pd_is_debug_acc
290a6ce0d4 tcpmv2: dpm: Convert dpm_run to a 1st class SM framework
339879506f zephyr test: usbc_ocp: Log during tests
41948753c4 test: verify battery_outside_charging_temperature()
bafcc352e4 ec: Fix array access past end of array
1e0abfa71e TCPMv2: Add host command to send VDM REQ messages
4308b6756c build: clang workaround for LTO
ed4a792d8f RAA48900 : Modify configuring trickle charge current code
2126767c8e isl923x: Add ISL9238C CMOUT latch disable function
f0cd67d2e3 TCPMv2: Generalize VDM Attention send in DPM
1143be2741 TCPMv2: Cleanup unused flags
f032746e06 usb-pd: Apply 2.5W limit during power transition
01835ef4b6 test: chg_ramp_is_detected()
95134ee0c7 test: chg_ramp_is_stable()
7caa72d2d1 RAA48900 : Allow configuring trickle charge current
650a67c64c board/corori2: Free up more flash space
31a2f3ee72 TCPM: Remove unreachable code
0d1b98c718 tree: Enable warning for fallthrough in switch statements
eae5e48f0a power/icelake: add casts for power signals
7cb58895c4 zephyr: avoid collisions with board.h
c6b3af73ed TCPMv2: modify default rp value when bist share mode
6d8bb5bebe TCPMv2: Add bist share mode console command
29de97bc3b typec: Clear stale hard reset event when ready
829435fca3 sm5803: disable sinking before other reconfiguration
52a51c53a0 ectool: support bist share mode enable/disable command
9d67377da2 Revert "test: EC_CMD_USB_PD_FW_UPDATE host cmd"
7c4b51d8bf TCPM: Move pd flash implementation to TCPMv1
55dabb1618 TCPM: Move pd_custom_vdm to TCPMv1
192450c603 TCPMv2: Remove PE_HANDLE_CUSTOM_VDM
35956e5930 usb_common: Fix/test EC_CMD_PD_HOST_EVENT_STATUS
e60ea169df test: EC_CMD_USB_PD_FW_UPDATE host cmd
b8214ebaf1 usbc: modified the DPM logic to match the DP module logic.
58bb9b518d charger: Detect the number of battery cells
c42c1c6788 TCPMv2: Discover mode again after Data Reset
8bd196d17f test: Verify uncovered common OCP routines
a5e6358f2f TCPMv2: Add PD suspend/resume console commands
6278fe9df7 USB Mux: Unify drivers for safe mode
2fbeb3eec6 Battery: align OS low battery shutdown behavior
055da16f46 zephyr: tests: Test host command EC_CMD_MKBP_INFO (mkbp_info.c)
5ea7789ecc zephyr: tests: Test force_mkbp_if_events() in mkbp_event.c
ded9307b79 util/getversion.sh: Fix version when not in a git repo
1782a0e27b TCPMv2: Move TBT and USB4 code to modules
BRANCH=None
BUG=b:256707714 b:245531291 b:267742066 b:247635955 b:263691951
BUG=b:262663436 b:250015035 b:260912784 b:260095516 b:231401624
BUG=b:261736720 b:267415408 b:257377036 b:64477774 b:256182103
BUG=b:234772074 b:236799854 b:163093572 b:258110734 b:172020503
BUG=b:240458902 b:244253629 b:244467636 b:249574372 b:208884535
BUG=b:242477985 b:253644823 b:243189930 b:163093572 b:246424843
BUG=b:255357127 b:255967867 b:257341564 b:266879860 b:260774380
BUG=b:263691951 b:258143457 b:236075275 b:250015035 b:257833880
BUG=b:229692652 b:257377326 b:257851736 b:265862821 b:249163956
BUG=b:247100970 b:236074634 b:257370402 b:263996465 b:249616030
BUG=b:255697209 b:244756834 b:244749869 b:266714542 b:239515386
BUG=b:194504052 b:246839061 b:242957100 b:259155418 b:262663436
BUG=b:263691951 b:236075259 b:256539662 b:262462631 b:263921114
BUG=b:253154031 b:236075275
TEST=`make -j buildall`
Force-Relevant-Builds: all
Change-Id: I9705fd04870e22fb558ec4e5e2f95f99e9bd5011
Signed-off-by: Adam Mills <adamjmills@google.com>
Cq-Depend: chromium:4127501
M Makefile.toolchain
M util/
ap...@google.com <ap...@google.com> #203
Branch: main
commit 56c840db38ddee86944f888cffe01ccf5e779389
Author: Tom Hughes <tomhughes@chromium.org>
Date: Wed Nov 16 14:01:12 2022
baseboard/dedede: Free up more flash space
BRANCH=none
BUG=b:172020503, b:256193799
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Iaa06710e9d83f240252c0fe07de88c29280a79bb
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M baseboard/dedede/baseboard.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #204
Branch: main
commit a26d751d550f072a1bf43bd04406b0b5949e284e
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 12:01:26 2022
board/terrador: Free up more flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=terrador
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I3f360891e9f005120b3f7d7a0f84f81467630327
Reviewed-on:
Reviewed-by: Diana Z <dzigterman@chromium.org>
M board/terrador/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #205
Branch: main
commit 7ae617254ce4167f46a8a5872109746e5c7afda7
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 11:22:33 2022
board/mushu: Free up flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=mushu
Cq-Depend:
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I093b8ea5090aef6be47bc38289d199eb52453145
Reviewed-on:
Reviewed-by: Eric Yilun Lin <yllin@google.com>
M board/mushu/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #206
Branch: main
commit 85f9f5972a3e63481f722b674e78f8bef401e6fe
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 10:39:33 2022
board/garg: Free up more flash
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=garg
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I68f8396fad4025901b85235c1281942db312bae8
Reviewed-on:
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
M board/garg/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #207
Branch: firmware-dedede-13606.B-master
commit 22c53d44d8b2b4c37c5e976cc89e35556d4cbdd2
Author: Rob Barnes <robbarnes@google.com>
Date: Fri Mar 24 19:27:54 2023
Merge remote-tracking branch cros/main into firmware-dedede-13606.B-master
Generated by: util/update_release_branch.py -r --baseboard dedede
--relevant_paths_file util/dedede-relevant-paths.txt firmware-
dedede-13606.B-master
Relevant changes:
git log --oneline 7cae6dcf2b..2b6263938c -- baseboard/dedede
board/beadrix board/beetley board/blipper board/boten board/bugzzy
board/corori2 board/cret board/dibbi board/drawcia board/drawcia_riscv
board/galtic board/kracko board/lantis board/madoo board/magolor
board/metaknight board/pirika board/sasuke board/sasukette board/shotzo
board/storo board/waddledee board/waddledoo board/wheelie chip/it83xx
common/charge_state_v2.c common/fpsensor/
common/ocpc.c common/usbc/usb_tc_drp_acc_trysrc_sm.c
common/usbc/usb_sm.c common/usbc/*_pd_* common/usbc/dp_alt_mode.c
common/usbc/usb_prl_sm.c common/usbc/usb_pe_drp_sm.c
common/usb_charger.c common/usb_common.c common/usbc_ocp.c
driver/charger/sm5803.* driver/charger/isl923x.* driver/tcpm/raa489000.*
driver/tcpm/it83* include/power/icelake.h include/intel_x86.h
power/icelake.c power/intel_x86.c util/getversion.sh
2b6263938c common/fpsensor: Only build fpsensor code for fingerprint boards
a15ec50d55 dedede: Enable system safe mode
13f0822873 ite83xx: Remove false-alarm EC panic reports
ef44ebdc0a lantis: Override PS8805 device id for A3 chip
e259d06956 lantis: Enable 2nd TCPC source PS8805 for port 1
0ff6f2a982 lantis: Add SSFC bitmap for TCPC sources
d3c26057ad TCPMv2: Check PRL flag names array size
768903a5bf TCPMv2: Ignore data role mismatch during DRS
158525e724 drawcia: Override PS8805 device id for A3 chip
9f073bb967 drawcia: Enable 2nd TCPC source PS8805 for port 1
2b6f15f37f drawcia: Add SSFC bitmap for TCPC sources
bb6b682c37 drawcia: Update SSFC bitmap for codec
56c840db38 baseboard/dedede: Free up more flash space
fe14c338c7 usb_charger: support processing events synchronously
9871e79199 TCPM: Fold expected SVID check into mode consumption
14e4ad9b28 TCPMv2: Only notify failed discovery once
cefc03b4cf USB-PD: Trim excessive PDOs
BRANCH=None
BUG=b:172020503 b:256193799 b:271613370 b:273637804 b:247100203
BUG=b:262345042 b:268377440 b:169242812 b:269064073 b:274975782
BUG=b:257320026 b:273188377
TEST=`make -j buildall`
Force-Relevant-Builds: all
Change-Id: Ic290d386671a333019267516901b1c88dec464a9
Signed-off-by: Rob Barnes <robbarnes@google.com>
M util/
ap...@google.com <ap...@google.com> #208
Branch: main
commit b1f7f58eadd3ada354b8465724aa476cc399a43c
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 13:07:19 2022
board/volteer: Free flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=volteer
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: Iefec35f2dccf4444d0e97050b53eee28ec476176
Reviewed-on:
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
M board/volteer/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #209
Branch: main
commit 4bc9d05928ade6b767b31e577de569cbfb07d033
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Nov 11 16:46:27 2022
board/kodama: Free up flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=kodama
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I6bd5b6d3304e0bf87140cc092c37d0a32984e9d6
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M board/kodama/board.h
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #210
Branch: main
commit 0e7aa443db3d812e5f0fb785dcf2bc9d53c7b3e3
Author: Tom Hughes <tomhughes@chromium.org>
Date: Tue May 23 11:44:59 2023
util/build_with_clang.py: coachz and lazor now fit in flash
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=lazor
TEST=CC=clang make BOARD=coachz
Change-Id: I5a3bf5e2de70e480759e712dc5da9035b66aca8e
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #211
Branch: main
commit 11569aee6b782b3022a4b554a7a2379762e84e7d
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri May 19 16:25:40 2023
baseboard/trogdor: Free up more flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=lazor
TEST=CC=clang make BOARD=coachz
Change-Id: Id28c9f141d4188dc14f070b4e6859548de4caad8
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M baseboard/trogdor/baseboard.h
ap...@google.com <ap...@google.com> #212
Branch: main
commit 5e3254a9339658f2eb9e1b4924b04c4a506b6f14
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri May 19 16:35:09 2023
util/build_with_clang.py: bobba now fits in flash
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=bobba
Change-Id: I9912ed82c5dfb8f911ed6513d89d69907731882d
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M util/build_with_clang.py
ap...@google.com <ap...@google.com> #213
Branch: main
commit 2c2f44156377fc6b7bbc2830344b9bb80a49ec12
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri May 19 16:34:16 2023
baseboard/octopus: Free more flash space
BRANCH=none
BUG=b:172020503
TEST=CC=clang make BOARD=bobba
Change-Id: I1c705f1cdc525b1434f9b0f7d02006ce17a951c1
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on:
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
M baseboard/octopus/baseboard.h
ap...@google.com <ap...@google.com> #214
Branch: firmware-fpmcu-bloonchipper-release
commit 3757a664016fd2a5f73fd7ef2b13ff8af4eabc62
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Jun 23 13:35:33 2023
Merge remote-tracking branch cros/main into firmware-fpmcu-bloonchipper-release
Generated by: ./util/update_release_branch.py --board bloonchipper
--relevant_paths_file ./util/fingerprint-relevant-paths.txt firmware-
fpmcu-bloonchipper-release
Relevant changes:
git log --oneline 2bcf863b49..7fef411c6f -- board/hatch_fp
board/bloonchipper common/fpsensor docs/fingerprint driver/fingerprint
util/getversion.sh
7fef411c6f Revert "hatch_fp/nocturne_fp: Enable LTO"
3066fe5f2c Revert "ec: Enable unaligned access for cortex-m"
cf3cd3b4f1 fingerprint: Don't run CEC test
e4bd9b82c2 fpsensor: Add supporting functions for ECDH encrypt
4aae6dff67 fpsensor: Add supporting functions for GSC session key (Ck)
5e5e70c4bb driver/fingerprint: Set pointer to NULL after free'ing associated memory
f21f12055c fpsensor: Add supporting functions for ECDH
5aa200c281 fpsensor: Add supporting functions for decrypting private key
a9d0ee07e8 fpsensor: Add supporting functions for encryption
3539f41e24 fpsensor: Separate the driver related state
eb1346c4c6 fpsensor: Add stateless to auth_crypto files
dcd797d1b4 fpsensor: Add supporting functions for private key
1fdac20551 fpsensor: Add supporting functions for public key
7f4538c661 FPC: Add error code definitions for bep library
8afdd0cd62 hatch_fp/nocturne_fp: Enable LTO
2f872b7dc2 fpsensor.cc: create fpsensor_debug.cc for debug commands
28939ffb30 boringssl: Implement sysrand from TRNG
9a21e1e51a ec: Enable unaligned access for cortex-m
a23038e937 Return the enum type for error and status
8bcf63db96 fpsensor: Export fp_read_match_secret
b804b9d4d8 common/fpsensor: Add TODOs
bb9faa8c2d docs/fingerprint: Fix typo
955bbf2f9f test/fpsensor_crypto: Convert to C++
cb0eaa47f7 fpsensor: Boost the CPU when needed
fa58ebaa77 fpsensor: Switch to the ScopedFastCpu
2aed821140 Reland "fpsensor: Use OPENSSL_cleanse instead of always_memset"
502716e7d9 Reland "Use third_party boringssl for AES"
2901071473 Revert "Reland "Use third_party boringssl for AES""
33d87e5300 Revert "Reland "fpsensor: Use OPENSSL_cleanse instead of always_memset""
32316a1137 Reland "fpsensor: Use OPENSSL_cleanse instead of always_memset"
0164feeeba Reland "Use third_party boringssl for AES"
2c338a7e8a Revert "Use third_party boringssl for AES"
06e507c9b5 Revert "fpsensor: Use OPENSSL_cleanse instead of always_memset"
848e5a749e fpsensor: Use OPENSSL_cleanse instead of always_memset
6fa9cc0c74 Use third_party boringssl for AES
020eba3677 fpsensor: Use consistent unsigned type for finger index
4dcdae2474 test: Add a test for malloc/free
845d6a4ed8 fpsensor: Rename fpsensor_detect functions
ea30849312 fp_sensor_mock: Rename fp_sensor_mock
1613a61c29 fpsensor: Fix definition of FP_SENSOR_IMAGE_OFFSET
8f0ef29da4 elan: Fix compilation with elan sensor
d350e34b1f docs/fingerprint: Update for Icetower v3
855cf7675d test: Add unit tests for sbrk
91371752ae fpsensor: Use bool for boolean value instead of int
600a0b797f fpsensor: Use auto to avoid repeating the type after casting
c74e50d698 fpsensor: Change C style cast to reinterpret_cast
9bc769f7af fpsensor: Unify type used to represent template count
05f3853577 fpsensor: Increase the host command task size
7118dc91b1 fpmcu: Add commands to transfer image from/to FPMCU
df4bf833b0 Revert "test/fpsensor_hw: fpsensor_hw test compiles and runs with gtest"
050c151b39 test/fpsensor_hw: fpsensor_hw test compiles and runs with gtest
2b6263938c common/fpsensor: Only build fpsensor code for fingerprint boards
c49b07e12b fpsensor: Fix error code check
e3d157a403 fpsensor: Compile more fingerprint files with C++
2096daace3 fpsensor: Utilize a common set of CPRINT functions
30fb324800 driver/fingerprint: Rename fpsensor.h
b77339bd7f fingerprint/elan: Add _ELAN suffix to ELAN macros
53a1bd42cc fingerprint/elan: Resolve elan compilation issues
628d66d14c driver/fingerprint: Add _FPC suffix to FPC macros
924704afa7 fpsensor: Rename fpsensor_private.h to fpsensor_utils.h
c6e6f94b94 Replace CONFIG_DMA with CONFIG_DMA_CROS in EC codebase
61c3af6f41 test: Check TPM_SEED is reset after reboot
bc781d854c docs: Add command to set up toolchain
def5bef98a docs: Update FPMCU setup docs
0c46e2c0b8 include/spi.h: Introduce CONFIG_SPI_MUTABLE_DEVICE_LIST
b6fd56e2f7 test: Add test for std::chrono::system_clock
6720e20dae test: Add a test for global object initialization
e1cfeb867c test: Add timer test
2606632fda getversion.sh: Add private-mt-scp/... git hash for fingerprint
c50046ad63 board: Sort header files
599c438e80 common: Sort header files
e6da633c38 driver: Sort header files
9a8d82d6dd ec: IWYU Add missing includes
65bed7c6f4 test: Add rng_benchmark test
192e092144 tree: Remove CONFIG_STM_HWTIMER32
c0b5a7d040 Makefile.toolchain: Enable -ftrapv for fingerprint boards
3136b90d32 test: Add libc_printf test
79d4706f92 test: Add benchmark library (C++)
29699a4329 test/fpsensor_hw: Convert to C++
012d263c87 test: Add basic test of std::vector
b9be252fa3 test: Add panic test
b4f0811e04 test: Add on-device exception test
8918cd6b95 test: Add on-device abort() test
0fd9ef473f test: Add always_memset to dartmonkey+bloonchipper
cf2ad6e703 docs/fingerprint: Remove documentation about old Dragonclaw boards
a76cca19cf docs/fingerprint: Remove note about flash_ec workaround
e794b7ea01 docs/fingerprint: Update for Dragonclaw v0.3
ab71261010 fpsensor: Build fpsensor source file with C++
BRANCH=None
BUG=b:244781166 b:144957935 b:258074414 b:176500425 b:192262089
BUG=b:270507438 b:172020503 b:247100970 b:243964606 b:267312024
BUG=b:246366702 b:274623816 b:178129469 b:261636413 b:143471027
BUG=b:274162810 b:243700149 b:234181908 b:274975782 b:214423235
BUG=b:239254184 b:236025198 b:234181908 b:276343045 b:276928792
BUG=b:256674283 b:246836252 b:260723169 b:177331210 b:254530679
BUG=b:234181908 b:254530679 b:274737509 b:248508087 b:273639386
BUG=b:249784223 b:276344630 b:279950931 b:264457390 b:274162810
BUG=b:288572290 b:287532311 b:234181908 b:239712345 b:248508087
BUG=b:287695703
TEST=./test/run_device_tests.py --board bloonchipper
Test "production_app_test": PASSED
Test "abort": PASSED
Test "aes": PASSED
Test "always_memset": PASSED
Test "benchmark": PASSED
Test "boringssl_crypto": PASSED
Test "cortexm_fpu": PASSED
Test "crc": PASSED
Test "exception": PASSED
Test "flash_physical": PASSED
Test "flash_write_protect": PASSED
Test "fpsensor_auth_crypto_stateless": PASSED
Test "fpsensor_hw": PASSED
Test "fpsensor_spi_ro": PASSED
Test "fpsensor_spi_rw": PASSED
Test "fpsensor_uart_ro": PASSED
Test "fpsensor_uart_rw": PASSED
Test "ftrapv": PASSED
Test "libc_printf": PASSED
Test "global_initialization": PASSED
Test "libcxx": PASSED
Test "malloc": PASSED
Test "mpu_ro": PASSED
Test "mpu_rw": PASSED
Test "mutex": PASSED
Test "panic": PASSED
Test "pingpong": PASSED
Test "printf": PASSED
Test "queue": PASSED
Test "rng_benchmark": PASSED
Test "rollback_region0": PASSED
Test "rollback_region1": PASSED
Test "rollback_entropy": PASSED
Test "rtc": PASSED
Test "sbrk": PASSED
Test "sha256": PASSED
Test "sha256_unrolled": PASSED
Test "static_if": PASSED
Test "stdlib": PASSED
Test "std_vector": PASSED
Test "stm32f_rtc": PASSED
Test "system_is_locked_wp_on": PASSED
Test "system_is_locked_wp_off": PASSED
Test "timer": PASSED
Test "timer_dos": PASSED
Test "tpm_seed_clear": PASSED
Test "utils": PASSED
Test "utils_str": PASSED
Test "panic_data_bloonchipper_v2.0.4277": PASSED
Test "panic_data_bloonchipper_v2.0.5938": PASSED
Force-Relevant-Builds: all
Change-Id: I614bd9ce5f84338978d578ddc8a7aebbf5638159
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
ap...@google.com <ap...@google.com> #215
Branch: firmware-fpmcu-dartmonkey-release
commit e1e012ee35d01c0f9b3a638ca987b2122680cf07
Author: Tom Hughes <tomhughes@chromium.org>
Date: Fri Jun 23 13:36:17 2023
Merge remote-tracking branch cros/main into firmware-fpmcu-dartmonkey-release
Generated by: ./util/update_release_branch.py --board dartmonkey --relevant_paths_file
./util/fingerprint-relevant-paths.txt firmware-fpmcu-dartmonkey-release
Relevant changes:
git log --oneline c453fd7042..7fef411c6f -- board/nocturne_fp
board/dartmonkey common/fpsensor docs/fingerprint driver/fingerprint
util/getversion.sh
7fef411c6f Revert "hatch_fp/nocturne_fp: Enable LTO"
3066fe5f2c Revert "ec: Enable unaligned access for cortex-m"
cf3cd3b4f1 fingerprint: Don't run CEC test
e4bd9b82c2 fpsensor: Add supporting functions for ECDH encrypt
4aae6dff67 fpsensor: Add supporting functions for GSC session key (Ck)
5e5e70c4bb driver/fingerprint: Set pointer to NULL after free'ing associated memory
f21f12055c fpsensor: Add supporting functions for ECDH
5aa200c281 fpsensor: Add supporting functions for decrypting private key
a9d0ee07e8 fpsensor: Add supporting functions for encryption
3539f41e24 fpsensor: Separate the driver related state
eb1346c4c6 fpsensor: Add stateless to auth_crypto files
dcd797d1b4 fpsensor: Add supporting functions for private key
1fdac20551 fpsensor: Add supporting functions for public key
7f4538c661 FPC: Add error code definitions for bep library
8afdd0cd62 hatch_fp/nocturne_fp: Enable LTO
2f872b7dc2 fpsensor.cc: create fpsensor_debug.cc for debug commands
28939ffb30 boringssl: Implement sysrand from TRNG
9a21e1e51a ec: Enable unaligned access for cortex-m
a23038e937 Return the enum type for error and status
8bcf63db96 fpsensor: Export fp_read_match_secret
b804b9d4d8 common/fpsensor: Add TODOs
bb9faa8c2d docs/fingerprint: Fix typo
955bbf2f9f test/fpsensor_crypto: Convert to C++
cb0eaa47f7 fpsensor: Boost the CPU when needed
fa58ebaa77 fpsensor: Switch to the ScopedFastCpu
2aed821140 Reland "fpsensor: Use OPENSSL_cleanse instead of always_memset"
502716e7d9 Reland "Use third_party boringssl for AES"
2901071473 Revert "Reland "Use third_party boringssl for AES""
33d87e5300 Revert "Reland "fpsensor: Use OPENSSL_cleanse instead of always_memset""
32316a1137 Reland "fpsensor: Use OPENSSL_cleanse instead of always_memset"
0164feeeba Reland "Use third_party boringssl for AES"
2c338a7e8a Revert "Use third_party boringssl for AES"
06e507c9b5 Revert "fpsensor: Use OPENSSL_cleanse instead of always_memset"
848e5a749e fpsensor: Use OPENSSL_cleanse instead of always_memset
6fa9cc0c74 Use third_party boringssl for AES
020eba3677 fpsensor: Use consistent unsigned type for finger index
4dcdae2474 test: Add a test for malloc/free
845d6a4ed8 fpsensor: Rename fpsensor_detect functions
ea30849312 fp_sensor_mock: Rename fp_sensor_mock
1613a61c29 fpsensor: Fix definition of FP_SENSOR_IMAGE_OFFSET
8f0ef29da4 elan: Fix compilation with elan sensor
d350e34b1f docs/fingerprint: Update for Icetower v3
855cf7675d test: Add unit tests for sbrk
91371752ae fpsensor: Use bool for boolean value instead of int
600a0b797f fpsensor: Use auto to avoid repeating the type after casting
c74e50d698 fpsensor: Change C style cast to reinterpret_cast
9bc769f7af fpsensor: Unify type used to represent template count
05f3853577 fpsensor: Increase the host command task size
7118dc91b1 fpmcu: Add commands to transfer image from/to FPMCU
df4bf833b0 Revert "test/fpsensor_hw: fpsensor_hw test compiles and runs with gtest"
050c151b39 test/fpsensor_hw: fpsensor_hw test compiles and runs with gtest
2b6263938c common/fpsensor: Only build fpsensor code for fingerprint boards
c49b07e12b fpsensor: Fix error code check
e3d157a403 fpsensor: Compile more fingerprint files with C++
2096daace3 fpsensor: Utilize a common set of CPRINT functions
30fb324800 driver/fingerprint: Rename fpsensor.h
b77339bd7f fingerprint/elan: Add _ELAN suffix to ELAN macros
53a1bd42cc fingerprint/elan: Resolve elan compilation issues
628d66d14c driver/fingerprint: Add _FPC suffix to FPC macros
924704afa7 fpsensor: Rename fpsensor_private.h to fpsensor_utils.h
c6e6f94b94 Replace CONFIG_DMA with CONFIG_DMA_CROS in EC codebase
61c3af6f41 test: Check TPM_SEED is reset after reboot
bc781d854c docs: Add command to set up toolchain
def5bef98a docs: Update FPMCU setup docs
0c46e2c0b8 include/spi.h: Introduce CONFIG_SPI_MUTABLE_DEVICE_LIST
b6fd56e2f7 test: Add test for std::chrono::system_clock
6720e20dae test: Add a test for global object initialization
e1cfeb867c test: Add timer test
2606632fda getversion.sh: Add private-mt-scp/... git hash for fingerprint
c50046ad63 board: Sort header files
599c438e80 common: Sort header files
e6da633c38 driver: Sort header files
9a8d82d6dd ec: IWYU Add missing includes
65bed7c6f4 test: Add rng_benchmark test
192e092144 tree: Remove CONFIG_STM_HWTIMER32
c0b5a7d040 Makefile.toolchain: Enable -ftrapv for fingerprint boards
3136b90d32 test: Add libc_printf test
79d4706f92 test: Add benchmark library (C++)
29699a4329 test/fpsensor_hw: Convert to C++
012d263c87 test: Add basic test of std::vector
b9be252fa3 test: Add panic test
b4f0811e04 test: Add on-device exception test
8918cd6b95 test: Add on-device abort() test
0fd9ef473f test: Add always_memset to dartmonkey+bloonchipper
cf2ad6e703 docs/fingerprint: Remove documentation about old Dragonclaw boards
a76cca19cf docs/fingerprint: Remove note about flash_ec workaround
e794b7ea01 docs/fingerprint: Update for Dragonclaw v0.3
ab71261010 fpsensor: Build fpsensor source file with C++
BRANCH=None
BUG=b:239254184 b:267312024 b:236025198 b:234181908 b:260723169
BUG=b:177331210 b:256674283 b:234181908 b:276343045 b:254530679
BUG=b:249784223 b:276928792 b:246366702 b:274162810 b:234181908
BUG=b:254530679 b:274975782 b:214423235 b:144957935 b:258074414
BUG=b:246836252 b:274162810 b:288572290 b:287532311 b:143471027
BUG=b:276344630 b:279950931 b:172020503 b:248508087 b:273639386
BUG=b:248508087 b:264457390 b:178129469 b:243964606 b:247100970
BUG=b:243700149 b:234181908 b:274623816 b:270507438 b:192262089
BUG=b:274737509 b:239712345 b:176500425 b:261636413 b:244781166
BUG=b:287695703
TEST=./test/run_device_tests.py --board dartmonkey
Test "production_app_test": PASSED
Test "abort": PASSED
Test "aes": PASSED
Test "always_memset": PASSED
Test "benchmark": PASSED
Test "boringssl_crypto": PASSED
Test "cortexm_fpu": PASSED
Test "crc": PASSED
Test "exception": PASSED
Test "flash_physical": PASSED
Test "flash_write_protect": PASSED
Test "fpsensor_auth_crypto_stateful": PASSED
Test "fpsensor_auth_crypto_stateless": PASSED
Test "fpsensor_hw": PASSED
Test "fpsensor_spi_ro": PASSED
Test "fpsensor_spi_rw": PASSED
Test "fpsensor_uart_ro": PASSED
Test "fpsensor_uart_rw": PASSED
Test "ftrapv": PASSED
Test "libc_printf": PASSED
Test "global_initialization": PASSED
Test "libcxx": PASSED
Test "malloc": PASSED
Test "mpu_ro": PASSED
Test "mpu_rw": PASSED
Test "mutex": PASSED
Test "panic": PASSED
Test "pingpong": PASSED
Test "printf": PASSED
Test "queue": PASSED
Test "rng_benchmark": PASSED
Test "rollback_region0": PASSED
Test "rollback_region1": PASSED
Test "rollback_entropy": PASSED
Test "rtc": PASSED
Test "sbrk": PASSED
Test "sha256": PASSED
Test "sha256_unrolled": PASSED
Test "static_if": PASSED
Test "stdlib": PASSED
Test "std_vector": PASSED
Test "system_is_locked_wp_on": PASSED
Test "system_is_locked_wp_off": PASSED
Test "timer": PASSED
Test "timer_dos": PASSED
Test "tpm_seed_clear": PASSED
Test "utils": PASSED
Test "utils_str": PASSED
Test "panic_data_dartmonkey_v2.0.2887": PASSED
Test "panic_data_nocturne_fp_v2.2.64": PASSED
Test "panic_data_nami_fp_v2.2.144": PASSED
Force-Relevant-Builds: all
Change-Id: Ife40e5a1d80b6446d58cea07b6a7ea6c9cae385b
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
ap...@google.com <ap...@google.com> #216
Branch: main
commit d9d49ef43fccc01242e84277c921c5357e496e5d
Author: Tom Hughes <tomhughes@chromium.org>
Date: Mon May 20 10:55:27 2024
common.h: clang now supports __attribute__((error("")))
Support was added in
BUG=b:332378804, b:172020503
TEST=CQ passes
Change-Id: Icd104c962f837e3ae1cd684bc99a9bd5aad36154
Reviewed-on:
Tested-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-by: Firas Sammoura <fsammoura@google.com>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Craig Hesling <hesling@chromium.org>
M include/common.h
ap...@google.com <ap...@google.com> #217
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes <
Link:
chip/it83xx/lpc: Fix return type
Expand for full commit details
chip/it83xx/lpc: Fix return type
When building with clang, it warns:
chip/it83xx/lpc.c:763:9: error: implicit conversion from enumeration
type 'enum ec_error_list' to different enumeration type 'enum ec_status'
[-Werror,-Wenum-conversion]
763 | return EC_SUCCESS;
| ~~~~~~ ^~~~~~~~~~
BUG=b:172020503
TEST=make V=1 CROSS_COMPILE_CC_NAME=clang BOARD=it8xxx2_evb -j
Change-Id: I19a31d9c3c0aca748c780672a5c92ebaed877437
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6303161
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Reviewed-by: Tristan Honscheid <honscheid@google.com>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Files:
- M
chip/it83xx/lpc.c
Hash: 7c961382e6600a6c5353456f5dd4b488d6102874
Date: Tue Feb 25 15:16:27 2025
ap...@google.com <ap...@google.com> #218
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes <
Link:
chip/mt_scp: Fix return type
Expand for full commit details
chip/mt_scp: Fix return type
When building with clang, it warns:
chip/mt_scp/rv32i_common/hostcmd.c:112:9: error: implicit conversion
from enumeration type 'enum ec_error_list' to different enumeration type
'enum ec_status' [-Werror,-Wenum-conversion]
112 | return EC_SUCCESS;
| ~~~~~~ ^~~~~~~~~~
BUG=b:172020503
TEST=make V=1 CROSS_COMPILE_CC_NAME=clang BOARD=geralt_scp_core1
Change-Id: I55220ffe4b0a8d4e3589d3a322aadbc6bcaa9d34
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6317340
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Yuval Peress <peress@google.com>
Files:
- M
chip/mt_scp/rv32i_common/hostcmd.c
Hash: a13da0801df2ce13ff9d6d1b9f350eb4744982d8
Date: Mon Mar 03 15:11:49 2025
ap...@google.com <ap...@google.com> #219
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes <
Link:
chip/it83xx: Fix return type
Expand for full commit details
chip/it83xx: Fix return type
When building with clang, it warns:
chip/it83xx/spi.c:396:9: error: implicit conversion from enumeration
type 'enum ec_error_list' to different enumeration type 'enum ec_status'
[-Werror,-Wenum-conversion]
396 | return EC_SUCCESS;
| ~~~~~~ ^~~~~~~~~~
BUG=b:172020503
TEST=make V=1 CROSS_COMPILE_CC_NAME=clang BOARD=pico
Change-Id: Ic471cb0ff12318171f1b6a5d596f86ba4a1a984f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6317339
Reviewed-by: Rob Barnes <robbarnes@google.com>
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Files:
- M
chip/it83xx/spi.c
Hash: 6cb13d336cb53e979de62345eaf185e3f2fa43f9
Date: Mon Mar 03 13:20:42 2025
dx...@google.com <dx...@google.com> #220
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes
Link:
Makefile: Add missing CPPFLAGS
Expand for full commit details
We should be passing CPPFLAGS in all places where we invoke the C
preprocessor (CPP).
BUG=b:407560601, b:172020503
TEST=./util/compare_build.sh -b all
Change-Id: Ia0e28daa12a639e6550c26092ef54d04c9c2e965
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6419362
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Files:
- M
Makefile
Hash: 13539cda1c2890ffec95c6e4b971a356725d5a99
Date: Mon Mar 31 21:45:24 2025
dx...@google.com <dx...@google.com> #221
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes
Link:
zmake: Allow using LLVM RISC-V toolchain
Expand for full commit details
The LLVM RISC-V toolchain in ChromeOS must set a special preprocessor
define or environment variable in order to use it:
https://crrev.com/c/6378548.
BUG=b:407560601, b:172020503
TEST=zmake build --clobber minimal-it8xxx2
Change-Id: I674221eedd909836274f03bd80911a86129e9c42
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6418503
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Files:
- M
zephyr/zmake/zmake/zmake.py
Hash: c813674cd91b44aaea1a794af3720a4e7fffeb29
Date: Mon Mar 31 23:39:32 2025
dx...@google.com <dx...@google.com> #222
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes
Link:
core/riscv-rv32i: Add support for using clang RISC-V toolchain
Expand for full commit details
The default is still the coreboot gcc toolchain. clang can be enabled
with CROSS_COMPILE_CC_NAME=clang.
The changes in this commit are analogous to the ones in
core/cortex-m[0]/toolchain.mk and core/cortex-m[0]/build.mk.
BUG=b:407560601, b:172020503
TEST=make V=1 CROSS_COMPILE_CC_NAME=clang BOARD=it8xxx2_evb -j
TEST=make V=1 BOARD=it8xxx2_evb -j
TEST=./util/compare_build.sh -b all
Change-Id: Iaad13dc5b9a729ff3e836c86083091c566bf2e57
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6303162
Tested-by: Tom Hughes <tomhughes@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Files:
- M
core/riscv-rv32i/build.mk
- M
core/riscv-rv32i/toolchain.mk
Hash: 2ba085089a0b3ed96570d7bc33ba50f2f843a29f
Date: Tue Feb 25 23:15:17 2025
dx...@google.com <dx...@google.com> #223
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes
Link:
Makefile: Allow using LLVM RISC-V toolchain
Expand for full commit details
The LLVM RISC-V toolchain in ChromeOS must set a special preprocessor
define or environment variable in order to use it:
https://crrev.com/c/6378548.
BUG=b:407560601, b:172020503
TEST=make V=1 CROSS_COMPILE_CC_NAME=clang BOARD=it8xxx2_evb
Change-Id: Iec4a6a4f21177f98178a83caccf9fd11f25672c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6398203
Reviewed-by: Tim Van Patten <timvp@google.com>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Files:
- M
core/riscv-rv32i/build.mk
- M
core/riscv-rv32i/toolchain.mk
Hash: 43d2d63eddb4e7d377af3623bbbed22691674e6f
Date: Wed Mar 26 20:34:57 2025
dx...@google.com <dx...@google.com> #224
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes
Link:
zephyr: Add support for LLVM RISC-V toolchain
Expand for full commit details
BUG=b:407560601, b:172020503, b:407786163
TEST=rm -rf build && zmake build --clobber minimal-it8xxx2
Change-Id: I8531c3bc83d78e4d0aa70c32344dd92d33bfe210
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6303165
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Reviewed-by: Patryk Duda <patrykd@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Files:
- M
zephyr/cmake/bintools/llvm/target.cmake
- M
zephyr/cmake/compiler/clang/target.cmake
- M
zephyr/cmake/toolchain/llvm/target.cmake
Hash: fa6e33da703740a70ae0d9141346d4d96d80dfde
Date: Tue Feb 25 23:51:36 2025
dx...@google.com <dx...@google.com> #225
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes
Link:
chip/mt_scp: Fix loop unroll to fix compilation with clang
Expand for full commit details
CSR_MPU_L(i) is not a constant value, so this fails to compile. For gcc,
it was worked around by forcing a loop unroll, but this doesn't work
with clang. Instead, we change the code to unroll the loop with a macro.
BUG=b:172886808, b:407560601, b:172020503
TEST=make V=1 CROSS_COMPILE_CC_NAME=clang BOARD=geralt_scp_core1 -j
TEST=./util/compare_build.sh -b all
Change-Id: Ib74c6db263af91191b3dcf2496388a8e1412df46
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6317341
Reviewed-by: Wai-Hong Tam <waihong@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Files:
- M
chip/mt_scp/rv32i_common/cache.c
Hash: a7b7750b7d97216daccd0687d152b7ae567e735a
Date: Mon Mar 3 23:32:45 2025
dx...@google.com <dx...@google.com> #226
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes
Link:
chip/it83xx: Disable RAM code when building with clang
Expand for full commit details
When building with clang, the code does not fit into the RAM code
section. Since the RAM code is a performance optimization and we're not
actually planning to ship the code compiled by clang for the EC boards,
just disable the RAM code when building with clang.
BUG=b:409069694, BUG=b:407560601, b:172020503
TEST=./util/compare_build.sh -b all
Change-Id: I9ce4a576a1e6a9254c42e6ddec2161a48cf451a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6437151
Reviewed-by: Dino Li <Dino.Li@ite.com.tw>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Tested-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Files:
- M
chip/it83xx/config_chip_it8xxx2.h
- M
chip/it83xx/registers.h
Hash: 89bbff7d6eebe89368c1bb4c948b8fb64fd8b233
Date: Mon Apr 7 18:21:20 2025
dx...@google.com <dx...@google.com> #227
Project: chromiumos/platform/ec
Branch: main
Author: Tom Hughes
Link:
board/goroh: Fix duplicate initialization
Expand for full commit details
When building with clang, it warns:
board/goroh/sensors.c:86:20: error: initializer overrides prior
initialization of this subobject [-Werror,-Winitializer-overrides]
86 | .min_frequency = BMA255_ACCEL_MIN_FREQ,
| ^~~~~~~~~~~~~~~~~~~~~
include/driver/accel_bma2x2_public.h:50:31: note: expanded from macro
'BMA255_ACCEL_MIN_FREQ'
50 | #define BMA255_ACCEL_MIN_FREQ 7810
| ^~~~
board/goroh/sensors.c:85:20: note: previous initialization is here
85 | .min_frequency = BMI_GYRO_MIN_FREQ,
| ^~~~~~~~~~~~~~~~~
include/driver/accelgyro_bmi_common.h:57:27: note: expanded from macro
'BMI_GYRO_MIN_FREQ'
57 | #define BMI_GYRO_MIN_FREQ 25000
| ^~~~~
It looks like min_frequency was accidentally duplicated. The first
initialization was using the gyro frequency, while the second one was
using the correct acceleration frequency. There is no functional change
with this since the last initialization wins.
BUG=b:407560601, b:172020503
TEST=./util/compare_build.sh -b all
Change-Id: I706d5cd2239339e1e191e6d6c340da9bbfca79be
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/6441496
Tested-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Files:
- M
board/goroh/sensors.c
Hash: e52e0ff1798d9416538de6a683663fe89d5f4840
Date: Tue Apr 8 20:50:26 2025
Description
Related to
Design doc: