-
I’m working on a port to the TI Tiva ( a close relative of the LM3S6965), and I’ve gotten stuck adding a customizable serial driver. I've been trapped in a twisty maze of Kconfig and device tree files for days. I've got a barely-customized SOC file ( a Cortex-M4 ), and a custom board file for the publicly available TI TM4C129X development kit. The symptom is the classic No SOURCES given to Zephyr library: drivers__serial My driver is a copy of the existing Stellaris driver. I've replaced 'Stellaris' with 'Tiva' and followed the existing driver structure. When I switch my SOC device tree over to the in-tree Stellaris driver, it works. I'm working with the example application as a base. On examination of the configuration in menuconfig, what I see is that there is no definition of any kind for my device tree Kconfig variable, DT_HAS_TI_TIVA_UART_ENABLED. The thing that's got me confused is that menuconfig sees DT_HAS_TI_STELLARIS_UART_ENABLED(=n). Some part of the process is ID'ing all of the UART drivers, but not mine. I have closely followed/copied all of the known-good files from the official repo, basing my work on the lm3s6965 target. I get a working binary ( with some small changes to SOC init code ) with the Stellaris driver. I have closely followed. #71734 and applied its suggestions. I'm developing on an Arm Mac, target is my local tm4c129x_dk, the SOC is a local tm4c129xnc. Steps to repro ( if you have my repo): west build -b tm4c129x_dk app_hello_world I'm using a local copy of the sample hello_world. It's not clear to me where the yaml file for bindings goes. I've tried it both in drivers/serial/ti,tiva-uart.yaml and dts/bindings/serial/ti,tiva-uart.yaml and My repo with all files is here: https://github.com/rbsexton/z-example-app.git Thanks. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
That indicates that no devicetree binding for the |
Beta Was this translation helpful? Give feedback.
I've come back to this now that the big engineering projects are over for the year.
An update: I can get my 'starter driver' to work if I put it directly into zephyr/drivers/serial and amend drivers/serial/CMakeLists.txt and drivers/serial/Kconfig
Thanks for the suggestions.