Re: Support for Ambiq Apollo chips
#bluetooth
#ambiq
Keith Short
Hi Michał - You want the devicetree organization to match the hardware description. So in the case of the Ambiq GPIO controller, I think your best bet is to create only GPIOA and GPIOB controllers. This matches the register layout for the common runtime operations: read GPIO input (via RDA abd RDB), write GPIO output (via WTA/WTB, WTSA/WTSB, WTCA/WTCB). GPIOA will set ngpios = <32> and GPIOB will set ngpios = <18>. As for the registers, you would map the PADREGA-H, and CFGA-D to the GPIOA controller, PADREGI-M and CFGE-G to the GPIOB controller. My approach would probably look something like this: gpioa: gpio@40010000 { compatible = "ambiq,apollo3-gpio"; gpio-controller; reg = <0x40010000 0x20 /* PADREGA-H */ 0x40010040 0x10 /* CFGA-D */ 0x40010080 4 /* RDA (input read) */ 0x40010088 4 /* WTA (output write) */ 0x40010090 4 /* WTSA (output set) */ 0x40010098 4 /* WTCA (clear) */ 0x400100a0 4 /* ENA (enable) */ 0x400100a8 4 /* ENSA (set) */ 0x400100b4 4 /* ENCA (clear) */ >; ngpios = <32>; label = "GPIOA"; #gpio-cells = <2>; }; The actual driver code can define macros to convert the GPIO pin number (0-31) to the correct PADREGx register offset, and subfield within the register. Keith
On Wed, Apr 28, 2021 at 7:03 AM Michał Ciesielski <ciesielskimm@...> wrote: Hey Keith,
|
|
STM32: Clock control configuration moved from Kconfig to device tree
Erwan Gouriou
Hi, We've started to transition STM32 clock system configuration from Kconfig to dts. The main change (that introduces the whole mechanism) has been merged earlier this week, making it available to L4/F4 and WB series: It was followed by another change continuing the transition for remaining series (F0/F1/F2/F3/F7/G0/G4/L0/L1/L5/WL) and was merged earlier today. The last change impacts H7 and is currently under review: This series of changes allows to configure the whole stm32 clock system using device tree, but for now, no extra modification is done in stm32 clock_control drivers. Kconfig style configuration is still functional but will be tagged as deprecated. For now, only a couple of in tree boards have been converted to the new dts based method. I've raised an issue to track the mass conversion of the existing in tree boards By the way, we're welcoming community contributions for this task! Once all boards are converted, we'll be able to deprecate the Kconfig part, which I hope could be done in DV2.6.0 timeframe. During deprecation period, the stm32 clock_control developments involving device tree will be limited in order to keep backward compatibility with Kconfig. This is done as a convenience for out of tree users. But for instance, code additions like support of new series or PLLs will be implemented directly using device tree. After the deprecation period, STM32 Kconfig clock_control part will be removed and we'll be able to rework STM32 clock_control driver deeper and take advantage of the benefits provided by device tree. Don't hesitate to reach me on slack if you have questions. Cheers Erwan ![]()
|
|
Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 29 April 2021
#cal-cancelled
devel@lists.zephyrproject.org Calendar <noreply@...>
Cancelled: Zephyr Project: Dev Meeting This event has been cancelled. When: Where: Organizer: devel@... Description: ________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 483 314 739#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
________________________________________________________________________________
|
|
Re: Dev-Review Meeting Agenda Apr 29
Bolivar, Marti
Hi; sorry for the short notice, but Dev-review is cancelled for today.
toggle quoted messageShow quoted text
Kumar is on vacation (which is why I sent the agenda) and I've been informed that today's dev-review conflicts with talk selection for the Zephyr Developer summit, so our usual suspects from the TSC will be unable to attend. Let's pick up next week. Martí "Bolivar, Marti via lists.zephyrproject.org" <marti.bolivar=nordicsemi.no@...> writes:
Here's the agenda topics for this week:
|
|
Zephyr Project: Dev Meeting - Thu, 04/29/2021 3:00pm-4:00pm, Please RSVP
#cal-reminder
devel@lists.zephyrproject.org Calendar <devel@...>
Reminder: Zephyr Project: Dev Meeting When: Thursday, 29 April 2021, 3:00pm to 4:00pm, (GMT+00:00) UTC Where:Microsoft Teams Meeting An RSVP is requested. Click here to RSVP Organizer: devel@... Description: ________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 483 314 739#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
________________________________________________________________________________
|
|
RFC: API Change: flash_area #34706
Ermel, Dominik
Hello,
Some time ago I have posted flash_area changes, that have been only changing how device binding is performed, that has not been accepted (enhancement discussion “Use compile time resolved device bindings in flash map, when possible” , https://github.com/zephyrproject-rtos/zephyr/issues/34227) and it has been proposed to change flash_area to actually provide only features that Zephyr requires and limit the internals of flash_ara structure.
That has spawned my work on the subject that was intended to keep compatibility with existing solution and work, also with mcuboot, to make the changes and limit impact on the project. As a result I have created the RFC RPs with preliminary solution that covers mcuboot and most of Zephyr so far:
And created RFC that summarizes the changes: https://github.com/zephyrproject-rtos/zephyr/issues/34706
The idea is to not add additional layer, reduce flash_area object size and code.
So far I have been able to successfully test changes with mcuboot, with slightly reduced flash occupancy, and all tests for flash_area that exist have been running successfully, with slight changes. The proposed change allows to use flash_area API with IDs and by directly accessing the flash_area objets: my intention is to leave access via ID possible for external entities that use flash_area_open function to get access to area and at the same time change internal, within Zephyr repo code base, access to directly use flash_area objects which can now be obtained by FLASH_AREA(…) macro that works similar to existin FLASH_AREA_ID(..) macro, but returns flash_area object pointer instead of ID.
There is still work ongoing on documentation needed and additional test cases but due to kept compatibility with existing solution the transition should be quite simple and reliable.
Best regards, Dominik Ermel
|
|
Dev-Review Meeting Agenda Apr 29
Bolivar, Marti
Here's the agenda topics for this week:
Setup MPU for code relocated to SRAM - https://github.com/zephyrproject-rtos/zephyr/pull/34086 * Any topics anyone else has.
|
|
Cancelled Event: Zephyr: Toolchain Working Group - Monday, 3 May 2021
#cal-cancelled
devel@lists.zephyrproject.org Calendar <noreply@...>
Cancelled: Zephyr: Toolchain Working Group This event has been cancelled. When: Where: Organizer: Torsten Rasmussen Description: Live meeting minutes: https://docs.google.com/document/d/1IQKBK-GcJNZG0O9QArqYfvb6Huk5xHscN-XIGEZr-z8/edit#heading=h.x36xe8bnwr9r
________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 682 738 030#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
|
|
Googletest as a Zephyr module for native_posix target
#nrf52
[I may have posted this in the wrong group, so I've also raised it in Zephyr Users.]
I'm new to Zephyr and am trying to get a Linux VM hosted native_posix unit test build environment set up for our Zephyr nRF52 embedded project. I've set up the Zephyr SDK and west native_posix (& qemu_x86) build environment and can build and run the samples and a simple hello world test under my Ubuntu 20.04 Linux VM. We'd like to use GoogleTest/Mock for our unit test environment within the Zephyr native_posix environment. Has anyone here got that working? I've got some way following this StackOverflow post unit-testing-c-code-into-zephyr-with-googletest , but unfortunately it does not provide details of the module.yml and Kconfig file contents. I don't yet know enough to fill them in myself and west / cmake reports that my googletest module is "not a valid zephyr module". Any help or pointers would be appreciated!
|
|
Re: Support for Ambiq Apollo chips
#bluetooth
#ambiq
Michał Ciesielski
Hey Keith,
Thanks for the lead. This certainly helps. I still have some questions, hope that's ok. Lets say I'm describing the bytes that relate to gpio controller A: ``` gpioa: gpio@40010000 { compatible = "ambiq,apollo3-gpio"; gpio-controller; reg = <0x40010000 4 /* PADREG */ 0x40010040 2 /* CFGA */ 0x400100e0 4 /* ALTPADCFGA */ 0x40010080 1 /* RDA (input read) */ 0x40010088 1 /* WTA (output write) */ 0x40010090 1 /* WTSA (output set) */ 0x40010098 1 /* WTCA (clear) */ 0x400100a0 1 /* ENA (enable) */ 0x400100a8 1 /* ENSA (set) */ 0x400100b4 1 /* ENCA (clear) */ >; ngpios = <4>; label = "GPIOA"; #gpio-cells = <2>; }; ``` RDA register is an input register to read the input state of the first 32 pins. RDB register holds the input state of the next 18 pins. How would I describe that in this gpio controller? Do I describe specific pins at this stage or is that the register I specify, combined with its size, should include all the bytes that refer to the controlled pins? Meaning that this memory description can include more than just bits referring to the pins connected to the gpio controller A and more specific pin description happens in another node. So the aforementioned RDA register is described here with its address and size of 32bits. That memory range 0x40010080 - 0x40010081 describes a register that is used by 32 pins. Another example is the ALTPADCFGA. It describes 32 pins using 4 32bits registers. Should I specify its size as 4 (entire register) or only 1 as the first byte of that register is the only one that references gpio controller A. I guess my problems come from the lack of understanding what exactly am I describing here. Thanks again, Michal On Mon, Apr 26, 2021 at 10:29 PM Keith Short <keithshort@...> wrote:
|
|
Zephyr Project: APIs - Tue, 04/27/2021 4:00pm-5:00pm, Please RSVP
#cal-reminder
devel@lists.zephyrproject.org Calendar <devel@...>
Reminder: Zephyr Project: APIs When: Tuesday, 27 April 2021, 4:00pm to 5:00pm, (GMT+00:00) UTC Where:Microsoft Teams Meeting An RSVP is requested. Click here to RSVP Organizer: devel@... Description: Meeting decisions/discussions in their respective PRs, tracked here: https://github.com/zephyrproject-rtos/zephyr/projects/18 ________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 317 990 129#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
________________________________________________________________________________
|
|
v2.6.0 merge window closes Friday, May 7th
Kumar Gala
Hi,
This is a reminder that the v2.6.0 merge window for new features closes this Friday, 7th of May. After that, only bug fixes and documentation will be merged until the final release is tagged, which is targeted for Friday, May 28th. Exceptions require TSC approval. New feature PRs may still be submitted while the merge window is closed, but please keep in mind that maintainers will have less time to review them during the release stabilization period. Please add the v2.6.0 milestone to PRs that need to be included in the release, and do not wait until Friday, May 7th to submit them. https://github.com/zephyrproject-rtos/zephyr/wiki/Program-Management https://github.com/zephyrproject-rtos/zephyr/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc+milestone%3Av2.6.0 Please try to help fix bugs, test release candidates, and write release notes to minimize the time the merge window is closed so we can all quickly get back to adding fun new things to Zephyr! Thank you for your contributions! - k
|
|
API meeting: agenda
Carles Cufi
Hi all,
Items for today: - Pinctrl - Issue: https://github.com/zephyrproject-rtos/zephyr/issues/22748 If you have additional items please let me know. Teams link: https://teams.microsoft.com/l/meetup-join/19%3ameeting_NWU2MjZlYWEtZDcwMi00MWQzLTgwMjEtNDdkYjQwMjBjMmFj%40thread.v2/0?context=%7b%22Tid%22%3a%22af0096d9-700c-411a-b795-b3dd7122bad2%22%2c%22Oid%22%3a%22841a7c92-7816-4faf-9887-5e334e88f6d8%22%7d https://lists.zephyrproject.org/g/devel/calendar https://github.com/zephyrproject-rtos/zephyr/projects/18 Minutes: https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit# Regards, Carles
|
|
Re: Support for Ambiq Apollo chips
#bluetooth
#ambiq
Keith Short
The GPIO driver for the ITE IT8xxx2 family also interleaves the register space. You could follow the model used for that driver - create multiple reg phandles for the individual registers. Keith
On Sun, Apr 25, 2021 at 4:19 PM <ciesielskimm@...> wrote:
|
|
Zephyr Memory Footprint - biweekly discussion - Mon, 04/26/2021 3:00pm-4:00pm, Please RSVP
#cal-reminder
devel@lists.zephyrproject.org Calendar <devel@...>
Reminder: Zephyr Memory Footprint - biweekly discussion When: Monday, 26 April 2021, 3:00pm to 4:00pm, (GMT+00:00) UTC Where:Microsoft Teams Meeting An RSVP is requested. Click here to RSVP Organizer: devel@... Description: Working doc: https://docs.google.com/document/d/1bnQLJKVhgI3zkk3MsSXun8onEsA8z1Rf5ohdbCHASmU/edit#heading=h.x36xe8bnwr9r ______________________________
Microsoft Teams meeting
Join on your computer or mobile app
Click here to join the meetingOr call in (audio only)
+1 321-558-6518,,546018126# United States, Orlando
______________________________
|
|
Support for Ambiq Apollo chips
#bluetooth
#ambiq
Michał Ciesielski
Hello,
I'm trying to add support for the Ambiq Apollo series chips. I'm new to the Zephyr and not very experienced with Device Tree format. Currently I'm working on the zephyr/dts/arm/ambiq/apollo.dtsi. I'm trying to add the GPIO control registers. I'm modyfing the STM32 dtsi file. STM32's define the GPIO control in a different way. All the Pad A registers are defined in a continous memory block. In Ambiq SOCs those they are interleaved. The image below shows the memory map. First its the Pad configuration registers. Then its GPIO configuration register. I'm wondering how should I implement this memory layout in the dtsi.
|
|
Re: Private: Re: [Zephyr-devel] QSPI for ATSAME51
#flash
Bolivar, Marti
Adding the list back in Cc.
"Theo Hussey via Lists.Zephyrproject.Org" <theo=open-cosmos.com@...> writes: Thank you for your detailed response, I tried to use the binding youI meant that binding as an example, not as something to copy/paste -- for a different IP block you will need your own binding.
You can put the binding in a dts/bindings subdirectory of anything in your DTS_ROOT cmake variable or any Zephyr module that declares itself a dts-root, like modules/hal/nxp/zephyr/module.yml and modules/hal/stm32/zephyr/module.yml do.
|
|
Re: Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 22 April 2021
#cal-cancelled
Kumar Gala
Sorry for the late cancelation. Not feeling well and there wasn’t much of an agenda this week.
toggle quoted messageShow quoted text
On Apr 22, 2021, at 8:36 AM, devel@... Calendar <noreply@...> wrote:
|
|
Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 22 April 2021
#cal-cancelled
devel@lists.zephyrproject.org Calendar <noreply@...>
Cancelled: Zephyr Project: Dev Meeting This event has been cancelled. When: Where: Organizer: devel@... Description: ________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 483 314 739#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
________________________________________________________________________________
|
|
Re: QSPI for ATSAME51
#flash
Bolivar, Marti
Hi Theo,
"Theo Hussey via lists.zephyrproject.org" <theo=open-cosmos.com@...> writes: Hi,There is an extra unmatched "};" here. I'm assuming that is just a copy/paste issue in this email? It looks like a syntax error. [snip] zephyr/include/generated/devicetree_unfixed.h:4014:35: error: 'DT_N_S_soc_S_qspi_42003400_S_gd25q16c_0_BUS_P_label' undeclared (first use in this function); did you mean 'DT_N_S_soc_S_qspi_42003400_S_gd25q16c_0_P_label'?I'm going to explain what this mess means for the sake of the list archives before getting to what I am guessing the problem is. 'DT_N_S_soc_S_qspi_42003400_S_gd25q16c_0_BUS_P_label' The 'DT_N_S_soc_S_qspi_42003400_S_gd25q16c_0' part is the 'node identifier' for the gd25q16c@0 node. 'Node identifiers' are introduced here: https://docs.zephyrproject.org/latest/guides/dts/api-usage.html#node-identifiers The secret decoder ring for unpacking node identifiers is: - 'DT_N' -> 'devicetree node' - '_S_' -> '/' - all special characters become '_' So that: DT_N_S_soc_S_qspi_42003400_S_gd25q16c_0_BUS_P_label becomes: devicetree node /soc/qspi@42003400/gd25q16c@0 _BUS_P_label The trailing '_BUS_P_label' is just the devicetree API trying to figure out what the 'label' property of the bus node for /soc/qspi@42003400/gd25q16c@0 is. I also see: - 'qspi@42003400' does have a label property in your DTS, "QSPI_0" - its compatible, 'atmel,sam0-qspi', is not upstream So I'm guessing that the problem is: - you've got a custom binding for 'atmel,sam0-qspi', - it is a missing a 'bus: qspi' line Example binding with a 'bus: qspi' line: https://github.com/zephyrproject-rtos/zephyr/blob/master/dts/bindings/qspi/st%2Cstm32-qspi.yaml#L23 If that line is missing, please add it and try again. Otherwise please provide more details on your binding. Thanks and HTH, Martí
|
|