Normally, SL_CODE_CLASSIFY() renames the symbols. SL_CODE_COMPONENT_* is
here to provide the prefix the user want to use for a specific component.
However, since SLI_CODE_CLASSIFICATION_DISABLE is set, SL_CODE_CLASSIFY()
is a no-op and SL_CODE_COMPONENT_* are useless.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Include directives in hal_silabs only specify the header filename without
specifying any subdirectory. They rely to a bunch -I directives to find
the correct paths.
In addition, the hal_silabs sources tends to include header from the other
subdirectory in an anarchic way. These header are generally only required
to compile functions that are finally unused by Zephyr drivers.
There has been some tentative to conditionally include the external
headers. However, it broke the code compilation and prevent the use of
IS_ENABLE() (so #define has to be widely used leading to real mess). It is
cleaner to just add all the included paths to the compiler command line.
A few private headers path are still declared per components.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Since commit edbd4186 ("wiseconnect: Patch for sli_si91x_clock_manager.c")
in hal_silabs repository, a few files became useless.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
`_DIR' suffix is superfluous in the CMakeLists.txt. In addition, COMMON_DIR
is rarely used and not descriptive enough.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
RSI_ADC_PowerControl() enables the clock AND power on the ADC hardware
block.
The clock control should only access to the clock hardware block.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
RSI_ADC_ClkDivfactor() is called from system clock_control. But in fact, it
controls the internal division factor of the ADC hardware block.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
ADC_CONTEXT_USES_KERNEL_TIMER is required for ADC_CONTEXT_INIT_TIMER().
However, it should be defined in the Zephry driver, not in the Wiseconnect
integration.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Add IMSIC driver implementation with atomic mtopei claim using csr_swap
and EIE configuration for interrupt enable/disable.
Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
Add csr_swap() macro that performs an atomic CSR read and write using
the csrrw instruction. This completes the set of CSR access primitives
alongside the existing csr_read, csr_write, csr_read_set, and
csr_read_clear macros.
The csrrw instruction atomically reads the current CSR value into a
register while simultaneously writing a new value, which is required
for operations like IMSIC interrupt claiming where the read and write
must be indivisible.
Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
The bonding information of classic can be deleted by calling the
function `bt_br_unpair()`.
The BTP command `unpair` does not support the case. Calling the
function `bt_br_unpair()` to delete classic bonding information if
the address is BR type when the BTP command `unpair` is received.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
make riscv,isa dt prop no longer required,
as it is is not really used by anyrhing in zephyr
and we now have a alternative (riscv,isa-base
and riscv,isa-extensions).
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>