1、System DevicetreeSupport in ZephyrEOSS 2023Mart Bolvar|2023-06-27 Nordic Semiconductor Warning:work is postponed About me Recap:devicetree in Zephyr Why its not enough anymore System devicetree basics Why we think system DT can help Zephyr Contributions Next stepsAgenda2 Nordic SemiconductorNordic w
2、ill continue this workDetails TBDPostponed3 Nordic Semiconductor Zephyr devicetree co-maintainer Worked on system devicetree support in Zephyr Contributed to system devicetree specificationAbout me4 Nordic SemiconductorRecap:devicetree in Zephyrhttps:/docs.zephyrproject.org/latest/build/cmake/index.
3、html5 Nordic SemiconductorRecap:devicetree in Zephyrhttps:/docs.zephyrproject.org/latest/build/cmake/index.html6Influences just about everything”Nordic SemiconductorInfluences just about everything”SoC hardware description/configurationRecap:devicetree in Zephyrhttps:/docs.zephyrproject.org/latest/b
4、uild/cmake/index.html7 Nordic SemiconductorInfluences just about everything”SoC hardware description/configuration System clockRecap:devicetree in Zephyrhttps:/docs.zephyrproject.org/latest/build/cmake/index.html8 Nordic SemiconductorInfluences just about everything”SoC hardware description/configur
5、ation System clock Default driver selectionRecap:devicetree in Zephyrhttps:/docs.zephyrproject.org/latest/build/cmake/index.html9 Nordic SemiconductorInfluences just about everything”SoC hardware description/configuration System clock Default driver selection Device instantiationRecap:devicetree in
6、Zephyrhttps:/docs.zephyrproject.org/latest/build/cmake/index.html10 Nordic SemiconductorInfluences just about everything”SoC hardware description/configuration System clock Default driver selection Device instantiation Application HW description/configurationRecap:devicetree in Zephyrhttps:/docs.zep
7、hyrproject.org/latest/build/cmake/index.html11 Nordic SemiconductorInfluences just about everything”SoC hardware description/configuration System clock Default driver selection Device instantiation Application HW description/configuration Etc.Recap:devicetree in Zephyrhttps:/docs.zephyrproject.org/l
8、atest/build/cmake/index.html12 Nordic Semiconductor This worked for a while,but stopped scaling Multi-core AMP SoCs not well supported AMP multi-core Arm v8-M MCUs with TrustZone support:the last strawMemory addressing in v8-M:peripheral addresses vary by security stateDuplicated static memory alloc
9、ations in different build systemsShared IPC resources for coprocessors is a pain too Its only going to get worseWhy its not enough anymore13 Nordic Semiconductor Backwards compatible extension of the DT specification Developed in the open Meets regularly with DT specification/Linux DT maintainers Sp
10、ec is hosted by the devicetree organizationhttps:/ System devicetree basics14 Nordic SemiconductorStandard DT System DT15 Nordic Semiconductor One/cpus node Independent“CPU clusters”Standard DT System DT16 Nordic Semiconductor One/cpus node Peripherals in global“simple-bus”nodes Independent“CPU clus
11、ters”Independent”indirect-bus”nodesStandard DT System DT17 Nordic Semiconductor One/cpus node Peripherals in global“simple-bus”nodes One“client program”Independent“CPU clusters”Independent”indirect-bus”nodes Independent“execution domains”Standard DT System DT18 Nordic Semiconductor One/cpus node Per
12、ipherals in global“simple-bus”nodes One“client program”One data structure Independent CPU clusters Independent”indirect-bus”nodes Independent“execution domains”Postprocessed into separate standard DTsStandard DT System DT19 Nordic Semiconductor20System DTStandard DT for app 1Standard DT for app 2 No
13、rdic Semiconductor21System DTStandard DT for app 1Standard DT for app 2?Nordic Semiconductor Sysbuild spawns,configures,and runs individual Zephyr build systems Every build system has its own DTS,.config,etc.Sysbuild!https:/docs.zephyrproject.org/latest/build/sysbuild/index.html22 Nordic Semiconduct
14、orSysbuild and system devicetree23SoC system DTBoard system DTSystem DT overlaysSystem DT toolingBuild system#1Standard DTBuild system#nStandard DT Nordic SemiconductorSysbuild and system devicetree24SoC system DTBoard system DTSystem DT overlaysSystem DT toolingBuild system#1Standard DTBuild system
15、#nStandard DTCPUsMemoryPeripheralspinctrlPartitionsIPC between coresApp-specific overrides Nordic Semiconductor System DT specification converted to Sphinx format Format used by DTSpec and the Linux kernel docs HTML and PDF buildsContributions:specification25 Nordic Semiconductor Style and content o
16、f specification reworked to match DTSpec More examples,tables of properties,etc.Thanks to Stefano and Bruce from AMD Xilinx for all the reviews and clarifications!Contributions:specification26 Nordic SemiconductorContributions:RFChttps:/ 27 Nordic SemiconductorSystem DT specification:release v0.9Finish specification v1.0Details TBDNext steps:specification28 Nordic SemiconductorNext steps:umbrella issuehttps:/ 29