Sections
DTS


Sections

arch - architecture stuffs like riscv initialization and linker config
boards - boards definition files, stuffs specific to a single pcb
cmake - cmake scripts
doc - documentation
drivers - device drivers, including SoC devices (timers, SPI, etc) and external device drivers.
dts - common DTS files (SoC level, arch level) and bindings between dts names and driver names.
include - repetition of the folder structure but for all hte headers that could fit in it, also DTS bindings headers.
kernel - kernel
lib - lib
misc - nothing
modules - external modules build, config, and additional files for external elements required to build zephyr (modules folder in workspace correspondant)
samples - samples
scripts - build generation scripts, west build, debug, etc scripts, runners, debuggers.
share - share
snippets - snippets
soc - soc level files, sorted by arch then by vendor then by platform.
submanifests - submanifests
subsys - zephyr subsystems
tests - tests to test specific features of zephyr, buildable like samples.
west.yml - module definition file

DTS

What is in the DTS is defined in the bindings, which define what matches what, based on what is reported by macros in the driver files
There are some standard arguments but a lot are driver specific
name {}; -> a group
name1 : name0@address {}; -> a device
https://elinux.org/Device_Tree_Usage
It is similar to linux