profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/fkokosinski/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Filip Kokosiński fkokosinski Poznań

fkokosinski/tomograph 5

Parametrized computer tomography simulator

iwom/building-info-spring 4

Building info spring boot web-app. Using docker, mysql, travis CI

fkokosinski/dice-pip-counter 0

Counting the number of pips on dice using OpenCV for HCI lab @ PUT

fkokosinski/dice-pip-counter-haar 0

Haar cascade training data, configuration and scripts for dice-pip-counter.

fkokosinski/Dropbox-Uploader 0

Dropbox Uploader is a BASH script which can be used to upload, download, list or delete files from Dropbox, an online file sharing, synchronization and backup service.

fkokosinski/gentoo 0

The Gentoo ebuild repository mirror

fkokosinski/numbase.vim 0

Cycle through number bases

create barnchantmicro/zephyr

branch : eos-s3-spi

created branch time in 2 days

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentzephyrproject-rtos/zephyr

interrupt_controller: intc_esp32c3: added intc driver

+/*+ * Copyright (c) 2021 Espressif Systems (Shanghai) Co., Ltd.+ *+ * SPDX-License-Identifier: Apache-2.0+ */++#include <stdint.h>+#include <stdio.h>+#include <stdlib.h>+#include <stdbool.h>+#include <string.h>+#include <soc/periph_defs.h>+#include <limits.h>+#include <assert.h>+#include "soc/soc.h"+#include <soc.h>+#include <zephyr.h>+#include <drivers/interrupt_controller/intc_esp32c3.h>+#include <sw_isr_table.h>++#include <logging/log.h>+LOG_MODULE_REGISTER(intc_esp32c3, CONFIG_LOG_DEFAULT_LEVEL);++/*+ * Define this to debug the choices made when allocating the interrupt. This leads to much debugging+ * output within a critical region, which can lead to weird effects like e.g. the interrupt watchdog+ * being triggered, that is why it is separate from the normal LOG* scheme.+ */+#ifdef CONFIG_INTC_ESP32C3_DECISIONS_LOG+# define INTC_LOG(...) LOG_INF(__VA_ARGS__)+#else+# define INTC_LOG(...) do {} while (0)+#endif++#define ESP32C3_INTC_DEFAULT_PRIORITY   15+#define ESP32C3_INTC_DEFAULT_THRESHOLD  1+#define ESP32C3_INTC_DISABLED_SLOT      31+#define ESP32C3_INTC_SRCS_PER_IRQ       2+#define ESP32C3_INTC_AVAILABLE_IRQS     30++static uint32_t esp_intr_enabled_mask[2] = {0, 0};++static void esp_intr_default_isr(const void *arg)+{+	ARG_UNUSED(arg);+	ulong_t mcause;++	__asm__ volatile("csrr %0, mcause" : "=r" (mcause));+	mcause &= SOC_MCAUSE_EXP_MASK;++	INTC_LOG("Spurious interrupt, mcause: %ld, source %d", mcause, soc_intr_get_next_source());+}++static uint32_t esp_intr_find_irq_for_source(uint32_t source)+{+	/* in general case, each 2 sources goes routed to+	 * 1 IRQ line.+	 */+	uint32_t irq = (source / ESP32C3_INTC_SRCS_PER_IRQ);++	if (irq > ESP32C3_INTC_AVAILABLE_IRQS) {+		INTC_LOG("Clamping the source: %d no more IRQs available", source);+		irq = ESP32C3_INTC_AVAILABLE_IRQS;+	} else if (irq == 0) {+		irq = 1;+	}++	INTC_LOG("Found IRQ: %d for source: %d", irq, source);++	return irq;+}++void esp_intr_initialize(void)+{+	/* IRQ 31 is reserved for disabled interrupts,+	 * so route all sources to it+	 */+	for (int i = 0 ; i < ESP32C3_INTC_AVAILABLE_IRQS + 2; i++) {+		irq_disable(i);+	}++	for (int i = 0; i < ETS_MAX_INTR_SOURCE; i++) {+		esp_rom_intr_matrix_set(0,+			i,+			ESP32C3_INTC_DISABLED_SLOT);++		irq_connect_dynamic(i,+			ESP32C3_INTC_DEFAULT_PRIORITY,+			esp_intr_default_isr,+			NULL,+			0);+	}++	/* set global esp32c3's INTC masking level */+	esprv_intc_int_set_threshold(ESP32C3_INTC_DEFAULT_THRESHOLD);+}++int esp_intr_alloc(int source,+		int flags,+		isr_handler_t handler,+		void *arg,+		void **ret_handle)+{+	ARG_UNUSED(flags);+	ARG_UNUSED(ret_handle);++	if (handler == NULL) {+		return -EINVAL;+	}++	if (source < 0 || source >= ETS_MAX_INTR_SOURCE) {+		return -EINVAL;+	}++	uint32_t key = irq_lock();+	uint32_t irq = esp_intr_find_irq_for_source(source);++	esp_rom_intr_matrix_set(0, source, irq);++	irq_connect_dynamic(source,+		ESP32C3_INTC_DEFAULT_PRIORITY,+		handler,+		arg,+		0);++	if (source < 32) {+		esp_intr_enabled_mask[0] |= (1 << source);+	} else {+		esp_intr_enabled_mask[1] |= (1 << (source - 32));+	}++	INTC_LOG("Enabled isrs -- 0: 0x%X -- 1: 0x%X",+		esp_intr_enabled_mask[0], esp_intr_enabled_mask[1]);++	irq_unlock(key);+	irq_enable(irq);++	return 0;+}++int esp_intr_disable(int source)+{+	if (source < 0 || source >= ETS_MAX_INTR_SOURCE) {+		return -EINVAL;+	}++	uint32_t key = irq_lock();++	esp_rom_intr_matrix_set(source,+		source,+		ESP32C3_INTC_DISABLED_SLOT);++	if (source < 32) {+		esp_intr_enabled_mask[0] &= ~(1 << source);+	} else {+		esp_intr_enabled_mask[1] &= ~(1 << (source - 32));+	}++	INTC_LOG("Enabled isrs -- 0: 0x%X -- 1: 0x%X",+		esp_intr_enabled_mask[0], esp_intr_enabled_mask[1]);++	irq_unlock(key);++	return 0;+}++int esp_intr_enable(int source)+{+	if (source < 0 || source >= ETS_MAX_INTR_SOURCE) {+		return -EINVAL;+	}++	uint32_t key = irq_lock();+	uint32_t irq = esp_intr_find_irq_for_source(source);++	irq_disable(irq);+	esp_rom_intr_matrix_set(0, source, irq);++	if (source < 32) {+		esp_intr_enabled_mask[0] |= (1 << source);+	} else {+		esp_intr_enabled_mask[1] |= (1 << (source - 32));+	}++	INTC_LOG("Enabled isrs -- 0: 0x%X -- 1: 0x%X",+		esp_intr_enabled_mask[0], esp_intr_enabled_mask[1]);++	irq_enable(irq);+	irq_unlock(key);++	return 0;+}++uint32_t esp_intr_get_enabled_intmask(int status_mask_number)+{+	INTC_LOG("Enabled isrs -- 0: 0x%X -- 1: 0x%X",+		esp_intr_enabled_mask[0], esp_intr_enabled_mask[1]);++	if (status_mask_number == 0) {

Maybe we could use return esp_intr_enabled_mask[!!status_mask_number] here instead of the if/else block?

uLipe

comment created time in 4 days

Pull request review commentzephyrproject-rtos/zephyr

interrupt_controller: intc_esp32c3: added intc driver

+/*+ * Copyright (c) 2021 Espressif Systems (Shanghai) Co., Ltd.+ *+ * SPDX-License-Identifier: Apache-2.0+ */++#include <stdint.h>+#include <stdio.h>+#include <stdlib.h>+#include <stdbool.h>+#include <string.h>+#include <soc/periph_defs.h>+#include <limits.h>+#include <assert.h>+#include "soc/soc.h"+#include <soc.h>+#include <zephyr.h>+#include <drivers/interrupt_controller/intc_esp32c3.h>+#include <sw_isr_table.h>++#include <logging/log.h>+LOG_MODULE_REGISTER(intc_esp32c3, CONFIG_LOG_DEFAULT_LEVEL);++/*+ * Define this to debug the choices made when allocating the interrupt. This leads to much debugging+ * output within a critical region, which can lead to weird effects like e.g. the interrupt watchdog+ * being triggered, that is why it is separate from the normal LOG* scheme.+ */+#ifdef CONFIG_INTC_ESP32C3_DECISIONS_LOG+# define INTC_LOG(...) LOG_INF(__VA_ARGS__)+#else+# define INTC_LOG(...) do {} while (0)+#endif++#define ESP32C3_INTC_DEFAULT_PRIORITY   15+#define ESP32C3_INTC_DEFAULT_THRESHOLD  1+#define ESP32C3_INTC_DISABLED_SLOT      31+#define ESP32C3_INTC_SRCS_PER_IRQ       2+#define ESP32C3_INTC_AVAILABLE_IRQS     30++static uint32_t esp_intr_enabled_mask[2] = {0, 0};++static void esp_intr_default_isr(const void *arg)+{+	ARG_UNUSED(arg);+	ulong_t mcause;++	__asm__ volatile("csrr %0, mcause" : "=r" (mcause));+	mcause &= SOC_MCAUSE_EXP_MASK;++	INTC_LOG("Spurious interrupt, mcause: %ld, source %d", mcause, soc_intr_get_next_source());+}++static uint32_t esp_intr_find_irq_for_source(uint32_t source)+{+	/* in general case, each 2 sources goes routed to+	 * 1 IRQ line.+	 */+	uint32_t irq = (source / ESP32C3_INTC_SRCS_PER_IRQ);++	if (irq > ESP32C3_INTC_AVAILABLE_IRQS) {+		INTC_LOG("Clamping the source: %d no more IRQs available", source);+		irq = ESP32C3_INTC_AVAILABLE_IRQS;+	} else if (irq == 0) {+		irq = 1;+	}++	INTC_LOG("Found IRQ: %d for source: %d", irq, source);++	return irq;+}++void esp_intr_initialize(void)+{+	/* IRQ 31 is reserved for disabled interrupts,+	 * so route all sources to it+	 */+	for (int i = 0 ; i < ESP32C3_INTC_AVAILABLE_IRQS + 2; i++) {+		irq_disable(i);+	}++	for (int i = 0; i < ETS_MAX_INTR_SOURCE; i++) {+		esp_rom_intr_matrix_set(0,+			i,+			ESP32C3_INTC_DISABLED_SLOT);++		irq_connect_dynamic(i,+			ESP32C3_INTC_DEFAULT_PRIORITY,+			esp_intr_default_isr,+			NULL,+			0);+	}++	/* set global esp32c3's INTC masking level */+	esprv_intc_int_set_threshold(ESP32C3_INTC_DEFAULT_THRESHOLD);+}++int esp_intr_alloc(int source,+		int flags,+		isr_handler_t handler,+		void *arg,+		void **ret_handle)+{+	ARG_UNUSED(flags);+	ARG_UNUSED(ret_handle);++	if (handler == NULL) {+		return -EINVAL;+	}++	if (source < 0 || source >= ETS_MAX_INTR_SOURCE) {+		return -EINVAL;+	}++	uint32_t key = irq_lock();+	uint32_t irq = esp_intr_find_irq_for_source(source);++	esp_rom_intr_matrix_set(0, source, irq);++	irq_connect_dynamic(source,+		ESP32C3_INTC_DEFAULT_PRIORITY,+		handler,+		arg,+		0);++	if (source < 32) {+		esp_intr_enabled_mask[0] |= (1 << source);+	} else {+		esp_intr_enabled_mask[1] |= (1 << (source - 32));+	}++	INTC_LOG("Enabled isrs -- 0: 0x%X -- 1: 0x%X",+		esp_intr_enabled_mask[0], esp_intr_enabled_mask[1]);++	irq_unlock(key);+	irq_enable(irq);++	return 0;+}++int esp_intr_disable(int source)+{+	if (source < 0 || source >= ETS_MAX_INTR_SOURCE) {+		return -EINVAL;+	}++	uint32_t key = irq_lock();++	esp_rom_intr_matrix_set(source,+		source,+		ESP32C3_INTC_DISABLED_SLOT);++	if (source < 32) {+		esp_intr_enabled_mask[0] &= ~(1 << source);+	} else {+		esp_intr_enabled_mask[1] &= ~(1 << (source - 32));+	}++	INTC_LOG("Enabled isrs -- 0: 0x%X -- 1: 0x%X",+		esp_intr_enabled_mask[0], esp_intr_enabled_mask[1]);++	irq_unlock(key);++	return 0;+}++int esp_intr_enable(int source)+{+	if (source < 0 || source >= ETS_MAX_INTR_SOURCE) {+		return -EINVAL;+	}++	uint32_t key = irq_lock();+	uint32_t irq = esp_intr_find_irq_for_source(source);++	irq_disable(irq);+	esp_rom_intr_matrix_set(0, source, irq);++	if (source < 32) {+		esp_intr_enabled_mask[0] |= (1 << source);+	} else {+		esp_intr_enabled_mask[1] |= (1 << (source - 32));+	}++	INTC_LOG("Enabled isrs -- 0: 0x%X -- 1: 0x%X",

It would be probably nice to have the acronym in uppercase here and in the other logs, i.e. Enabled ISRs [...].

uLipe

comment created time in 4 days

Pull request review commentzephyrproject-rtos/zephyr

interrupt_controller: intc_esp32c3: added intc driver

+/*+ * Copyright (c) 2021 Espressif Systems (Shanghai) Co., Ltd.+ *+ * SPDX-License-Identifier: Apache-2.0+ */++#ifndef ZEPHYR_INCLUDE_DRIVERS_ESP_INTR_ALLOC_H__+#define ZEPHYR_INCLUDE_DRIVERS_ESP_INTR_ALLOC_H__++#include <stdint.h>+#include <stdbool.h>+#include <soc.h>+/*+ * Interrupt allocation flags - These flags can be used to specify+ * which interrupt qualities the code calling esp_intr_alloc* needs.+ *

Is this blank comment line needed?

uLipe

comment created time in 4 days

PullRequestReviewEvent
PullRequestReviewEvent

pull request commentzephyrproject-rtos/zephyr

soc: riscv: priv: call __reset during boot

I've tested these changes on litex-vexriscv board. The change in this SoC's Kconfig doesn't seem to have any negative impact.

henrikbrixandersen

comment created time in 4 days

pull request commentzephyrproject-rtos/zephyr

Allow multiple entries in EMU_PLATFORM

@tejlmand thanks for your comment. I've adapted these changes to the first variant you proposed, i.e. the one creating a separate run target per emulation platform. Dropping the EMU_PLATFORM variable completely required changing all board.cmake files that were previously using it.

I'm not sure how I should go about documenting this change (as per previous request). I've updated run target mentions in the documentation. The only place that mentions the EMU_PLATFORM variable in the documentation is for the Xtensa sim, but the cmake for it is not provided in the cmake/emu directory.

fkokosinski

comment created time in 5 days

push eventantmicro/zephyr

Filip Kokosinski

commit sha bd27e476deab7adeb52d716ff66f634fcf6c01fd

doc: update run target in documentation The `run` target got changed to include the emulation platform in its name (e.g. `run qemu`). Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

push time in 5 days

push eventantmicro/zephyr

Przemyslaw Bida

commit sha f77c7dc2c88520afe6f48c67f44d84519f9af257

manifest: Regular upmerge to bring the openthread CSL fixes. Periodic upmerge of OpenThread. Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>

view details

Michał Narajowski

commit sha a614fc02ad58706fbb9f4d74b9e55a0bbb6c8855

Bluetooth: tester: Configure L2CAP Connection Response Some test cases require the IUT to respond with a certain error. To get the stack to return this error to PTS the application needs to be configured specifically for this test case. Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl>

view details

Michał Narajowski

commit sha cca76f157c30cde5e5e78ed7f89f70c3fa027afc

Bluetooth: host: Fix advertise stop in adv_timeout() Call bt_le_adv_stop() if adv == bt_dev.adv (Meaning it is the legacy advertiser and was started with bt_le_adv_start()), otherwise use bt_le_ext_adv_stop(), because it was started with bt_le_ext_adv_start(). Failing to stop advertising shouldn't result in assert. Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl>

view details

Michał Narajowski

commit sha a9db9a3aa80f2dcdd06809747b16568c5093acc7

Bluetooth: host: Cancel limited adv timeout when advertising stopped Advertising might stop when: - it was stopped by application - device connected to a peer - extended advertising reached stop condition defined in BT_LE_EXT_ADV_START_PARAM - this is handled in ll Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl>

view details

Torsten Rasmussen

commit sha c9804d24fe10cf5a9c1e14662ea27b5c2f8ce9b1

scripts: gen_handles.py: take device start symbol as argument. The current gen_handles.py script uses linker defined symbols. As preparation for support of more linkers the gen_tables.py now takes the device start symbol as argument. For example, armlink and ld uses different symbols. With ld those can be named explicitly, but for armlink the linker decides the names. For ld, Zephyr defines: __device_start For armlink, the symbol is defined as: Image$$<section name>$$Base Therefore knowledge of the linker symbol to be used must be passed to gen_handles.py so that the correct symbol can be used for locating devices. To support this change, the creation of the asm, compiler, compiler-cpp, linker targets has been moved from target_toolchain_flags.cmake to target_toolchain.cmake. All linkers has been updated to support the use of the device_start_symbol on the linker target. List of linkers updated: - ld - lld - arcmwdt Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha da926f6855b4f292c38935bdbc253437b53f40d6

asm: .eabi_attribute Tag_ABI_align_preserved, 1 Tell armlink that files has ensured proper stack alignment. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha a7d2fd9fb6200ca98766c52ff5c2d0fb0ca4fc58

cmake: CMake linker functions implemented This commit introduces zephyr_linker CMake functions for creation of linker scripts. The linker functions supports the following features: - Configuration of memory sections - Configuration of memory groups - Creation of output sections - Configuration of input section the should go into output section and how those should be treated, such as sorting, keep, priority. - Defining linker symbols - Specifying Kernel VMA to support virtual linking on x86 Overview of functions and macros introduce with this commit: - pow2round - zephyr_linker - zephyr_linker_memory - zephyr_linker_memory_ifdef - zephyr_linker_group - zephyr_linker_section - zephyr_linker_section_ifdef - zephyr_iterable_section - zephyr_linker_section_obj_level - zephyr_linker_section_configure - zephyr_linker_symbol - zephyr_linker_property_append Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 90e7078fa8c9d44c6472d11b7fc80ca75ff3839c

cmake: CMake devicetree related linker functions implemented This commit introduces zephyr_linker_dts CMake functions for creation of linker scripts based on devicetree nodes. The linker devicetree functions supports the following features: - Configuration of memory sections based on devicetree nodes Overview of functions introduced with this commit: - zephyr_linker_dts_memory Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 38040292c39d3d06da245574383d3b0fb2f6830e

cmake: linker: converter arm and common ld scripts into CMake code Converted existing ld script templates into CMake files. This commit takes the common-ram.ld, common-rom.ld, debug-sections.ld, and thread-local-storage.ld and creates corresponding CMake files for the linker script generator. The CMake files uses the new Zephyr CMake functions: - zephyr_linker_section() - zephyr_linker_section_configure() - zephyr_linker_section_obj_level() to generate the same linker result as the existing C preprocessor based scheme. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 94a010107a03185f3620d76bb73daff8891f2e07

arch: linker: specify intList section in the IDT_LIST region This commit specifies the intList section in the IDT_LIST region in the arch/common CMakeLists.txt file. It uses zephyr_linker_section to setup the intList section for first pass linker file and configures the section to hold irq_info and intList input section. For second pass linker file, the irq_info and intList input sections are placed in the /DISCARD/ section. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha c2842c388d8eaf20e17fc90de4d81005a4bcc20d

cmake: linker: arm: adding Zephyr CMake linker files for arm arch This is the initial version of a Zephyr CMake linker file for the arm architecture. This file defines memory regions, groups, linker sections and symbols for the arm architecture. It also sources the common common-ram.cmake, common-rom.cmake, debug-sections,cmake, and thread-local-storage.cmake. It configure sections for SoC families using zephyr_linker_sources() functions: - nxp_imx Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 450b9fa9bc989a01c489c38d8eec93549acbc344

cmake: linker: arm: memory regions from devicetree added This commit add devicetree memory regions added to arm/linker.cmake. The following memory regions are now added to the generated linker script and scatter file if they exists in the devicetree. - chosen: zephyr,itcm - chosen: zephyr,dtcm - nodelabel: ti_ccfg_partition - nodelabel: sram1 - nodelabel: sram2 - nodelabel: sram3 - nodelabel: sram4 - nodelabel: sdram1 - nodelabel: sdram2 - nodelabel: backup_sram Also support for the itcm and dtcm section and their placement in corresponding memory regions has been added. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 02fb26dd441f1218790264399e7585444b94fd1d

cmake: ld: adding common linker script generator Adding intial version of linker_script_common.cmake. This script parses memory regions, groups, sections, settings, and symbols defined in the Zephyr CMake build system. The linker script creates objects for each type above and groups sections, symbols, and groups together based on their configuration. This creates a hierarchy which the `<linker>_script.cmake` implementations can then use during linker script generation. linker_script_common.cmake also provides stubs for <type>_to_string() functions which are used when generating the output script. Each specific `<linker>_script.cmake` must implement those to_string() functions to create the final linker script. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha e9e47a45dd6447298e76b0aa4dbda256b79cc236

cmake: ld: adding ld linker script generator Adding intial version of ld_script.cmake. This script can generate ld linker script from the Zephyr CMake linker functions. This script is called by the build system and all linker settings, such as memory regions, groups, output sections, linker symbols defined with Zephyr CMake linker functions are passed to this script in order to generate an ld linker script. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 761eada9d3960e2d61e65d9c8abb1eccf0a6f872

kconfig: cmake: CMake linker script generator symbol added A "Linker script" choice group has been added to the linker options menu. The existing HAVE_CUSTOM_LINKER_SCRIPT config has been relocated inside the linker script menu. Two new entries has been created: - LD template, for using the old ld template files together with the C pre-processor to create the final linker script. - CMake linker generator, used for ARMClang / armlink toolchain. The CMake linker generator is also supported for LD linker scripts for the ARM architecture. In CMake, the file cmake/linker/ld/target.cmake has been updated to support the CMake LD linker generator. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha ce8f8c9f1720582847a41a1c222c04c79925cd67

armclang: adding toolchain/armclang.h header The armclang.h includes the toolchain/llvm.h header. Also it redifines the __GENERIC_SECTION and Z_GENERIC_SECTION so that they includes the `used` attribute which is needed by armlink. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 4de0d5511c209fc17469d8d24cc28826e95fe294

armclang: bintools support for armclang (arm-ds/Keil) Initial bintools support for elfconvert - hex, srec, bin conversion - strip - gap fill Initial bintools support for readelf Initial bintools support for disaasembly Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 40a2ffd2ea279a1224f39148adb36d8df52918a8

armclang: support for armclang compiler and armlink linker This is the initial support for the armclang compiler together with the armlink linker. Introduced in this commit: - armclang compiler support - armlink linker support - armlink scatter file generator for scatter loading - dual pass linker script generation Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 93f0d0d528f3f405e04dab778a3d8f5717e4849a

armclang: warn on non-Ninja generator for CMake 3.20. When using ARMClang linker and scatter files (armlink) then all libraries are linked as object libraries using `$<TARGET_OBJECTS:lib>`. CMake version 3.20 only has limited support for such linking: > Referencing $<TARGET_OBJECTS> in target_link_libraries calls worked > in versions of CMake prior to 3.21 for some cases, but was not fully > supported. One of those cases that do not work is Unix Makefiles generators. As only Ninja is currently verified to work, this commit will check the CMake version in use and the generator, and if CMake version <=3.21 is used with non-Ninja generator then an error is raised informing user to either use Ninja generator or update CMake. As the Ninja generator has been confirmed to work as expected, then that generator is accepted with CMake 3.20 and older. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

Torsten Rasmussen

commit sha 5dfbd227a6f0420d88ea637c71c5e2aed3611f18

armclang: specify armlink link executable signature The default armlink signature uses `--list=<TARGET_BASE>.map`, but in Zephyr we uses a different name for the map file, therefore we need to specify a custom link executable signature. This is done in the linker specific flags file: cmake/linker/armlink/linker_flags.cmake Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

view details

push time in 5 days

push eventantmicro/zephyr

Martí Bolívar

commit sha 682aea8b3b5485cb17537a94c373f7a69a05643b

dts: don't use 'test' vendor prefix This is now failing an edtlib check for unknown vendor prefixes. I can't find a reason to use a vendor prefix in application-local bindings like this, so just remove it wherever it appears by normalizing to test-foo-compat instead of test,foo_compat or test,foo-compat. Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>

view details

Alexandre Bourdiol

commit sha 482198bf79874ebea1730cd16f8e1b263e207d28

drivers: clock_control: stm32: enable PWR clock unconditionally Enable PWR clock unconditionally for L4, L5 and U5 like it is done on other stm32 series Fixes #37781 Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>

view details

Emil Gydesen

commit sha a0cec00807f3b2eeebd79e570a81ce198222b90c

Bluetooth: ISO: Add iso channel state check for unbind A channel should only be allowed to unbind when in the BT_ISO_BOUND state. If it is in a disconnected state, then it the function would have meaning. If it is a connected state, unbinding it would generate an error when removing the CIG, which would fail silently. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>

view details

Emil Gydesen

commit sha 393436c773c20deffe6656421a1a0eb070a86f37

Bluetooth: ISO: Add log if cleanup fails to remove the CIG Add an warning log message if the CIG failed to be removed. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>

view details

Emil Gydesen

commit sha 03c3a31be90f91162dd5c5a53657ae90a3d0f292

Bluetooth: Iso: Change set CIG parameters fail to unref Change the fail handling of setting the CIG parameters (or when allocating the CIS) to unref the ISO conns instead of calling cleanup on them directly. This fixes an issue that if the CIG parameters failed, then the iso conns would not be unref'ed and we could not try again. Unref'ing an iso conn will call cleanup once it hits 0 refs. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>

view details

Pavel Vasilyev

commit sha 538f97f73711c73f8a6e6478d461978e3cf2c295

Bluetooth: Mesh: Clarify name length in bt_mesh_model_data_store Name length can't be longer than 8 bytes. This needs to be clarified in the bt_mesh_model_data_store() documentation. Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>

view details

Pavel Vasilyev

commit sha 0e9d66897062b0de41a0522b5a836e2ec5b008bc

Bluetooth: Mesh: Add API to discard subscription in vendor model This commit adds missing API that allows to discard the Subscription List of a vendor model. Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>

view details

Pavel Vasilyev

commit sha 0e647ee14fc573bdcbdc1728cfce51b22249a086

Bluetooth: Mesh: Fix overwriting existing entries in test backend This commits fixes an issue where an existing entry in a settings file causes settings file corruption when storing new value. Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>

view details

Pavel Vasilyev

commit sha 75a51e9c5080ce857f3bee53b27f12804f39b984

Bluetooth: Mesh: Check access layer persistence storage This commit tests persistence storage for access layer: - Model publication - Model subscription - Model app keys binding - Model data Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>

view details

Meng xianglin

commit sha f039cc44a1267aae10cb67a5178bba63be8db02c

pm: refine defination of pm_dump_debug_info() Provide dummy implementation of pm_dump_debug_info() as a static inline function in pm.h. Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>

view details

Omkar Kulkarni

commit sha f868ca3497227c290a8bfea1c64130eb26dcb287

bluetooth: mesh: Fix IVU duration counter update When device is first provisioned with IV Update flag is set to 0, it should wait for minimum of 96 hours before going into IV Update In Progress state. Such limit does not apply, if device is provisioned with IV Update flag is set to 1. Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>

view details

Omkar Kulkarni

commit sha 3dd61cfc5b6d29970012832691631c20709ba2d6

bluetooth: mesh: Add test to check IVU counter Adds a test to check value of the IV Update counter at the time of provisioning based on the status of IV Update flag. Also ensures that the counter is reset if the mesh stack state is reset. Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>

view details

Joakim Andersson

commit sha 4a97fa310b1dff2eb0d5c91f2649efe98d3bc6cc

Bluetooth: samples: Update periodic advertising data update rate Update periodic advertising data update rate. The periodic advertiser is configured with a periodic advertising interval of 2.4 seconds but updating the data every second. This leads to many of the advertising data values not being sent at all. Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>

view details

Asbjørn Sæbø

commit sha 252a9bad9a962e3763740e4a96e14c2f19e185c8

Bluetooth: ots: Fix output formatting Fix output formatting after changes in https://github.com/zephyrproject-rtos/zephyr/pull/36653/ causes Twister build fails in pending le-audio code. Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>

view details

Francois Ramu

commit sha be2f0bfaa9e46d33a79a6559b5d15a7229d590b6

include: drivers: dma format the documentation from header file This patch is re-formating the doc generated from the dma.h header file. Result to be accessible on the https://docs.zephyrproject.org/latest/reference/peripherals/dma.html Signed-off-by: Francois Ramu <francois.ramu@st.com>

view details

Johann Fischer

commit sha 5e41c3477bf12d357a126c6a3ab4dd858297a7d6

Revert "boards: add USB node aliases" This reverts commit b4242a8dabd8eac64c3eae7dd80c8f2f5c2f4900. The "usbd0 aliases" approach has not proven to work. Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>

view details

Johann Fischer

commit sha e38e91ed166aa0b932e7700fe1e861891b6b6f42

Revert "samples: usb-audio: add app.overlay and remove board specific overlays" This reverts commit e53371bbc0bc37d911884937199733f23c43fb21. The "usbd0 aliases" approach has not proven to work. Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>

view details

Johann Fischer

commit sha e4f894788a9f073814f2f0c81ea5343c640f5905

boards: add zephyr_udc0 nodelabel to all boards with USB support USB devicetree nodes in Zephyr have different names, mostly derived from the designations in data sheets. Add zephyr_udc0 (USB device controller) nodelabel to specific USB node to allow generic USB sample to be build. Follow up on commit b4242a8 ("boards: add USB node aliases") Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>

view details

Johann Fischer

commit sha 976c5fee289fa07111e04a8bc3368a1984560dae

samples: usb-audio: add app.overlay and use zephyr_udc0 USB audio class samples are generic and can be built for any board that supports USB device and isochronous endpoints. Add app.overlay that uses reference to zephyr_udc0 and remove board specific overlays. Note: USB audio is still experimental and even though the sample can be built for specific platform, it does not mean that it can be run on it without issues. Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>

view details

Henrik Brix Andersen

commit sha d2ddd379c9a00ed6eb78ccc28f0e5a8499bdb840

drivers: pwm: clarify API details Clarify the PWM pwm_pin_set_cycles() function API details. The API aims for synchronous (glitch-free) updates of the PWM period and pulse width, but not all PWM controllers support this. Similarly, the API aims for independance between channels on multi-channel PWM controllers, but not all PWM controllers support this. Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>

view details

push time in 5 days

push eventantmicro/zephyr

Filip Kokosinski

commit sha 9c44533cd80c9432b9788f12cc407f036c9ca437

cmake: support multiple entries in board.cmake Currently there is no way to support running a board on multiple emulation platforms nor to choose a desired emulation platform for the simulation to be run on. This commit introduces a new SUPPORTED_EMU_PLATFORMS list, which defines available emulation platforms for a given board. Fixes #12375. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

Filip Kokosinski

commit sha 331d5766f2459aea01c4dd0563a7d15bcc545927

boards: riscv: hifive1: add support for QEMU and Renode simulation This commit adds required config files for Renode simulation and adds missing QEMU_binary_suffix. It also adds flash and newlib tags to ignore_tags, as flash chip is currently not provided by default in Renode for FE310 and newlib does not fit into the available memory. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

push time in 5 days

push eventantmicro/zephyr

Filip Kokosinski

commit sha 960c3eb3721734f71444f3a05bea3754a77c553f

cmake: support multiple entries in board.cmake Currently there is no way to support running a board on multiple emulation platforms nor to choose a desired emulation platform for the simulation to be run on. This commit introduces a new SUPPORTED_EMU_PLATFORMS list, which defines available emulation platforms for a given board. Fixes #12375. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

Filip Kokosinski

commit sha 1b790d299bf341d9379d5caf4b5ae989c9376417

boards: riscv: hifive1: add support for QEMU and Renode simulation This commit adds required config files for Renode simulation and adds missing QEMU_binary_suffix. It also adds flash and newlib tags to ignore_tags, as flash chip is currently not provided by default in Renode for FE310 and newlib does not fit into the available memory. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

push time in 5 days

Pull request review commentzephyrproject-rtos/zephyr

Allow multiple entries in EMU_PLATFORM

 def run_cmake(self, args=[]):         cmake_args = [             f'-B{self.build_dir}',             f'-S{self.source_dir}',+            f'-DEMU_PLATFORM={self.platform.simulation}',

I've added the conditional statement you suggested. Thanks for spotting the potential problem with this change!

fkokosinski

comment created time in 11 days

PullRequestReviewEvent

push eventantmicro/zephyr

Filip Kokosinski

commit sha ad4d2f80394bf3cd924ca54754951fd2a7b36803

cmake: support multiple entries in EMU_PLATFORM Currently there is no way to support running a board on multiple emulation platforms nor to choose a desired emulation platform for the simulation to be run on. This commit introduces a new SUPPORTED_EMU_PLATFORMS list, which defines available emulation platforms for a given board. Fixes #12375. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

Filip Kokosinski

commit sha 953af25758eddbd6c14bb3055b23307a1027153c

doc: application: document EMU_PLATFORM variable Add documentation regarding the usage of EMU_PLATFORM variable. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

Filip Kokosinski

commit sha 7334d3504c1389a61f66ff40fbf12a4b1b66d994

boards: riscv: hifive1: add support for QEMU and Renode simulation This commit adds required config files for Renode simulation and adds missing QEMU_binary_suffix. It also adds flash and newlib tags to ignore_tags, as flash chip is currently not provided by default in Renode for FE310 and newlib does not fit into the available memory. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

push time in 11 days

Pull request review commentzephyrproject-rtos/zephyr

Allow multiple entries in EMU_PLATFORM

 def run_cmake(self, args=[]):         cmake_args = [             f'-B{self.build_dir}',             f'-S{self.source_dir}',+            f'-DEMU_PLATFORM={self.platform.simulation}',

If I understand it correctly, platform schema doesn't define extra_args field, so it's not possible for it to be set for each board individually. Or did you mean the extra_args as defined by testcase schema? If so, that would mean forcing a testcase to be run on one emulation platform regardless of the board that is being emulated.

fkokosinski

comment created time in 11 days

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentzephyrproject-rtos/zephyr

Allow multiple entries in EMU_PLATFORM

 if(HEX_FILES_TO_MERGE)   message(VERBOSE "Merging hex files: ${HEX_FILES_TO_MERGE}") endif() -if(EMU_PLATFORM)-  include(${ZEPHYR_BASE}/cmake/emu/${EMU_PLATFORM}.cmake)+if(EMU_PLATFORM OR SUPPORTED_EMU_PLATFORMS)

Hi, this PR is currently using EMU_PLATFORM as a variable that enables choosing between different emulation platforms that are specified for a given board in the SUPPORTED_EMU_PLATFORMS list. Removing it would mean that we would need to introduce in this PR other mechanism that would allow such feature. Currently e.g. twister script through yaml file chooses which software to use in the CI by utilizing EMU_PLATFORM variable.

fkokosinski

comment created time in 11 days

Pull request review commentzephyrproject-rtos/zephyr

Allow multiple entries in EMU_PLATFORM

 if(HEX_FILES_TO_MERGE)   message(VERBOSE "Merging hex files: ${HEX_FILES_TO_MERGE}") endif() -if(EMU_PLATFORM)-  include(${ZEPHYR_BASE}/cmake/emu/${EMU_PLATFORM}.cmake)+if(EMU_PLATFORM OR SUPPORTED_EMU_PLATFORMS)+  if(NOT EMU_PLATFORM)+    list(GET SUPPORTED_EMU_PLATFORMS 0 EMU_PLATFORM)

Hi, there was a warning message here initially, but I've got a review comment that it should be removed.

fkokosinski

comment created time in 11 days

PullRequestReviewEvent

pull request commentzephyrproject-rtos/zephyr

Allow multiple entries in EMU_PLATFORM

@mbolivar-nordic thanks for your insight. I've dropped the west changes.

Also, please add appropriate documentation for this feature.

@tejlmand I've added documentation in doc/application but I understand that it might not be the best place to document this variable. I've looked for a place where build variables are documented and found only this one. Are you perhaps aware of a better place to document this?

fkokosinski

comment created time in 12 days

push eventantmicro/zephyr

Filip Kokosinski

commit sha af7dad518b9902fdb48d32e350c0b920c91192cd

cmake: support multiple entries in EMU_PLATFORM Currently there is no way to support running a board on multiple emulation platforms nor to choose a desired emulation platform for the simulation to be run on. This commit introduces a new SUPPORTED_EMU_PLATFORMS list, which defines available emulation platforms for a given board. Fixes #12375. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

Filip Kokosinski

commit sha 67508a9df49713d9dc8fda55977af10c88130a2c

doc: application: document EMU_PLATFORM variable Add documentation regarding the usage of EMU_PLATFORM variable. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

Filip Kokosinski

commit sha 7d6165cab9579973c162f94c7226caaa586c8d9d

boards: riscv: hifive1: add support for QEMU and Renode simulation This commit adds required config files for Renode simulation and adds missing QEMU_binary_suffix. It also adds flash and newlib tags to ignore_tags, as flash chip is currently not provided by default in Renode for FE310 and newlib does not fit into the available memory. Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>

view details

push time in 12 days

Pull request review commentzephyrproject-rtos/zephyr

Allow multiple entries in EMU_PLATFORM

 if(HEX_FILES_TO_MERGE) endif()  if(EMU_PLATFORM)-  include(${ZEPHYR_BASE}/cmake/emu/${EMU_PLATFORM}.cmake)+  if(NOT EMU_PLATFORM_TARGET)+    if(NOT EMU_PLATFORM_DEFAULT)+      list(GET EMU_PLATFORM 0 EMU_PLATFORM_DEFAULT)+      message(WARNING "EMU_PLATFORM_DEFAULT is not set! Defaulting to "${EMU_PLATFORM_DEFAULT})

Thanks, I've removed the warning message.

fkokosinski

comment created time in 12 days

PullRequestReviewEvent

Pull request review commentzephyrproject-rtos/zephyr

Allow multiple entries in EMU_PLATFORM

 # SPDX-License-Identifier: Apache-2.0 -set(EMU_PLATFORM qemu)+set(EMU_PLATFORM renode qemu)+set(EMU_PLATFORM_DEFAULT renode)

Removed the EMU_PLATFORM_DEFAULT variable.

fkokosinski

comment created time in 12 days

PullRequestReviewEvent