The document describes the Device Tree format used on ARM systems to describe hardware configurations to the Linux kernel. It defines the Device Tree in files with a .dts extension that are compiled to a binary .dtb blob. The Tree defines hardware using a tree of nodes and properties. It allows the kernel to be hardware-agnostic by obtaining configuration from the Device Tree rather than being compiled with board-specific code.
Elc Europe 2020 : u-boot- porting and maintaining a bootloader for a multimed...Neil Armstrong
Porting and maintaining Linux for a Multimedia SoC is one thing (already very complex), but without a proper Bootloader, how would we do ? For the last 4 Years, we were pushing Upstream Linux support for the Amlogic Multimedia SoCs with very well-known Single Board Computers like Odroid-C2, Libre Computer Le Potato, Khadas VIMs... but a key point was missing until 2 years ago: a clean Bootloader. We only relied on the Vendor Bootloader, but it quickly became an issue for various reasons: - was complex to rebuild - even more complex to enhance and fix - did some weird and quirkly hardware enablement before linux - was confusing because the vendor Bootloader behavior changed over time So we implemented an all-most complete U-Boot support for these Amlogic SoCs, including HDMI video support and support Android AOSP boot. And a big bonus appeared: we got UEFI support for free ! Neil will go through all the development process, what we achieved, the remaining work and how U-Boot maintenance and code quality evolved over time.
Linux Conference Australia 2018 : Device Tree, past, present, futureNeil Armstrong
Since the switch of the ARM Linux support from the stable PowerPC Device Tree support, it became an important piece of software used to describe all sorts of devices based on very different hardware architectures.
Currently, BSD* Unixes and even the Zephyr RTOS has switched to Device Tree to describe the hardware. U-boot has also a file format using the Device Tree blob format.
Neil will present you the history of Device Tree from its origins, how it has been used for ARM from the PowerPC codebase, all the very different current usage and an overview of its future application and evolutions.
Since the switch of the ARM Linux support from the stable PowerPC Device Tree support, it became an important piece of software used to describe all sorts of devices based on very different hardware architectures.
Currently, BSD* Unixes and even the Zephyr RTOS has switched to Device Tree to describe the hardware. U-boot has also a file format using the Device Tree blob format.
Neil will present you the history of Device Tree from its origins, how it has been used for ARM and now RISC-V from the PowerPC codebase, all the very different current usage and an overview of its future application and evolutions.
ELC North America 2021 Introduction to pin muxing and gpio control under linuxNeil Armstrong
In the last 10 years, the GPIO and PINCTRL subsystem matured to support almost every possible handling of Programmable Input/Outputs and more generally multiplexing of multiple functions on single "Pins" or group of "Pins". However, what is a "Pin"? What is a multiplexed "Function"? How programmable I/Os and pin functions are designed on the majority of System-On-Chips? Neil will describe this from the Hardware design Point-Of-View, the constraints and the requirements. Then Neil will explain how this particular subject was handled over the years in the Linux kernel, to finally get to the current GPIO & PINCTRL subsystems, and how it articulates with the Device Tree and other Firmware based protocols.
Claudio Scordino - Handling mixed criticality on embedded multi-core systemslinuxlab_conf
This talk illustrates how to use the Jailhouse hypervisor for running Linux alongside an RTOS on modern ARM multi-core SoCs, aiming at building smarter devices for the automotive market.
Recently, the industry has shown a growing interest for executing activities with different levels of criticality on the same multi-core SoC. These could consist, for example, of non-critical activities (e.g., monitoring, logging, human-machine intefaces) together with safety-critical tasks. The rationale behind this interest is the continuous need for reducing the time-to-market as well as the design and hardware costs. This is particularly suitable for the automotive market, where new infotainment functionalities might be coupled with traditional safety-critical tasks (e.g. engine/brake control). In this talk, we will present our experience (grown through the HERCULES EU project) in using the Jailhouse hypervisor for executing the Linux general-purpose OS alongside an automotive RTOS on modern ARM multi-core platforms. Besides providing useful instructions for using Jailhouse, we will illustrate a library designed for easing the communication between the two OSs as well as some mechanism for limiting the interference on shared hardware resources. Finally, a short video of a simple demo will show the effectiveness of the proposed approach.
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...Neil Armstrong
You maintain or used to maintain a Linux based board or SoC off-tree ? Then there are plenty of reasons for you to push your changes to the mainline Linux. Some will say it’s too late, or too complex, or too expensive but the long-term benefits of regular upstreaming truly outpass these constraints especially it you have the right methods. In this presentation Neil will elaborate on this question.
Neil will then expose the various challenges about code upstreaming, like time constraints, copyright issues and the community aspect of the work. For example, vendor GPL code is generally lying on an obscure github repo, or in a hardly reachable tarball.
In parallel, Neil will present practical tips to easier your day to day upstream work and explicit this simple rule : the fastest the maximum patches are upstreamed, the less work you’ll have to actually maintain the port in the future.
Elc Europe 2020 : u-boot- porting and maintaining a bootloader for a multimed...Neil Armstrong
Porting and maintaining Linux for a Multimedia SoC is one thing (already very complex), but without a proper Bootloader, how would we do ? For the last 4 Years, we were pushing Upstream Linux support for the Amlogic Multimedia SoCs with very well-known Single Board Computers like Odroid-C2, Libre Computer Le Potato, Khadas VIMs... but a key point was missing until 2 years ago: a clean Bootloader. We only relied on the Vendor Bootloader, but it quickly became an issue for various reasons: - was complex to rebuild - even more complex to enhance and fix - did some weird and quirkly hardware enablement before linux - was confusing because the vendor Bootloader behavior changed over time So we implemented an all-most complete U-Boot support for these Amlogic SoCs, including HDMI video support and support Android AOSP boot. And a big bonus appeared: we got UEFI support for free ! Neil will go through all the development process, what we achieved, the remaining work and how U-Boot maintenance and code quality evolved over time.
Linux Conference Australia 2018 : Device Tree, past, present, futureNeil Armstrong
Since the switch of the ARM Linux support from the stable PowerPC Device Tree support, it became an important piece of software used to describe all sorts of devices based on very different hardware architectures.
Currently, BSD* Unixes and even the Zephyr RTOS has switched to Device Tree to describe the hardware. U-boot has also a file format using the Device Tree blob format.
Neil will present you the history of Device Tree from its origins, how it has been used for ARM from the PowerPC codebase, all the very different current usage and an overview of its future application and evolutions.
Since the switch of the ARM Linux support from the stable PowerPC Device Tree support, it became an important piece of software used to describe all sorts of devices based on very different hardware architectures.
Currently, BSD* Unixes and even the Zephyr RTOS has switched to Device Tree to describe the hardware. U-boot has also a file format using the Device Tree blob format.
Neil will present you the history of Device Tree from its origins, how it has been used for ARM and now RISC-V from the PowerPC codebase, all the very different current usage and an overview of its future application and evolutions.
ELC North America 2021 Introduction to pin muxing and gpio control under linuxNeil Armstrong
In the last 10 years, the GPIO and PINCTRL subsystem matured to support almost every possible handling of Programmable Input/Outputs and more generally multiplexing of multiple functions on single "Pins" or group of "Pins". However, what is a "Pin"? What is a multiplexed "Function"? How programmable I/Os and pin functions are designed on the majority of System-On-Chips? Neil will describe this from the Hardware design Point-Of-View, the constraints and the requirements. Then Neil will explain how this particular subject was handled over the years in the Linux kernel, to finally get to the current GPIO & PINCTRL subsystems, and how it articulates with the Device Tree and other Firmware based protocols.
Claudio Scordino - Handling mixed criticality on embedded multi-core systemslinuxlab_conf
This talk illustrates how to use the Jailhouse hypervisor for running Linux alongside an RTOS on modern ARM multi-core SoCs, aiming at building smarter devices for the automotive market.
Recently, the industry has shown a growing interest for executing activities with different levels of criticality on the same multi-core SoC. These could consist, for example, of non-critical activities (e.g., monitoring, logging, human-machine intefaces) together with safety-critical tasks. The rationale behind this interest is the continuous need for reducing the time-to-market as well as the design and hardware costs. This is particularly suitable for the automotive market, where new infotainment functionalities might be coupled with traditional safety-critical tasks (e.g. engine/brake control). In this talk, we will present our experience (grown through the HERCULES EU project) in using the Jailhouse hypervisor for executing the Linux general-purpose OS alongside an automotive RTOS on modern ARM multi-core platforms. Besides providing useful instructions for using Jailhouse, we will illustrate a library designed for easing the communication between the two OSs as well as some mechanism for limiting the interference on shared hardware resources. Finally, a short video of a simple demo will show the effectiveness of the proposed approach.
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...Neil Armstrong
You maintain or used to maintain a Linux based board or SoC off-tree ? Then there are plenty of reasons for you to push your changes to the mainline Linux. Some will say it’s too late, or too complex, or too expensive but the long-term benefits of regular upstreaming truly outpass these constraints especially it you have the right methods. In this presentation Neil will elaborate on this question.
Neil will then expose the various challenges about code upstreaming, like time constraints, copyright issues and the community aspect of the work. For example, vendor GPL code is generally lying on an obscure github repo, or in a hardly reachable tarball.
In parallel, Neil will present practical tips to easier your day to day upstream work and explicit this simple rule : the fastest the maximum patches are upstreamed, the less work you’ll have to actually maintain the port in the future.
LAS16-403: GDB Linux Kernel Awareness
Speakers: Peter Griffin
Date: September 29, 2016
★ Session Description ★
The presentation will look at the ways in which GDB can be enhanced when debugging the Linux kernel to give it better knowledge of the underlying operating system to enable a better debugging experience. It will also provide a status of the current work being undertaken in this area by the ST landing team, a demo and potential future work.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-403
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-403/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
But what are these ""Clocks"" stuff I see in the kernel about ?
Since first introduction of linux/clk.h in 2006 from Russel King, clock management was progressively part of the needed system management and resource handling in drivers.
Then, in 2012, Mike Turquette introduced the ""Common Clock Framework"" he co-maintained with Steven Boyd, becoming a central ""Framework"" handling clocks over the system to provide controls by the device drivers.
- However, what are these clocks?
- What are they in physical terms?
- How are they modeled in Hardware?
- Why do we need them to control internal&external devices?
Neil will make a full overview of the ""Common Clock Framework"", how it's integrated in the Linux Kernel and a brief overview of the physical implementation&requirement in Hardware.
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
Every modern multimedia-oriented ARM SoC usually has a number of display controllers, to drive a screen or an LCD panel, and a GPU, to provide 3D acceleration. The Linux kernel framework of choice to support these controllers is the DRM subsystem.
This talk will walk through the DRM stack, the architecture of a DRM/KMS driver and the interaction between the display and GPU drivers. The presentation is based on the work we have done to develop a DRM driver for the Allwinner SoCs display controller with multiple outputs, such as parallel display interfaces, HDMI or MIPI-DSI. The work done to make the ARM Mali OpenGL driver work on top of a mainline DRM/KMS driver will also be detailed, as well as the more traditional, Mesa-based, solution used in a variety of other platforms.
Maxime Ripard, Free Electrons
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
PipeWire is an open source project that aims to greatly improve audio and video handling under Linux. Utilising a fresh design, it bridges use cases that have been previously addressed by different tools – or not addressed at all -, providing ground for building complex, yet secure and efficient, multimedia systems.
In this talk, Julien is going to present the PipeWire project and the concepts that make up its design. In addition, he is going to give an update of the current and future work going on around PipeWire, both upstream and in Automotive Grade Linux, an early adopter that Julien is actively working on.
Julian Bouzas
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans VerkuilAnne Nicolas
The HDMI connector features a CEC (Consumer Electronics Control) pin that allows connected devices to detect and control one another. A new framework to handle CEC was added to the kernel in 2016.
This talk describes the current state of the CEC support, how to implement new CEC drivers and the various complications you will encounter when using CEC.
Hans Verkuil
HKG18-113- Secure Data Path work with i.MX8MLinaro
"Session ID: HKG18-113
Session Name: HKG18-113 - Secure Data Path work with i.MX8M
Speaker: Cyrille Fleury
Track: Digital Home
★ Session Summary ★
NXP presentation on Secure Data Path work with i.MX8M Soc. Demonstrate 4K PlayReady playback with Android 8.1 running on i.MX8M. Focus on security (MS SL3000 and Widevine level 1)
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/hkg18/hkg18-113/
Presentation: http://connect.linaro.org.s3.amazonaws.com/hkg18/presentations/hkg18-113.pdf
Video: http://connect.linaro.org.s3.amazonaws.com/hkg18/videos/hkg18-113.mp4
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2018 (HKG18)
19-23 March 2018
Regal Airport Hotel Hong Kong
---------------------------------------------------
Keyword: Digital Home
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
Kernel Recipes 2013 - ARM support in the Linux kernelAnne Nicolas
Over the past two years, the support of the platforms based on ARM processor in the Linux kernel has evolved considerably. Between the use of the Device Tree, moving drivers in many features like clock management or multiplexing of pines, the platform mechanism, the changes have been numerous.
Through the experience of the speaker about the addition to the core support for ARM Marvell Armada 370/XP processors, this intervention will provide an overview of these changes in order to better understand the new organization of the code for ARM architecture in the kernel.
This talk is intended to be useful both for developers who want to add support for a new ARM processor in the kernel, but also to those wishing to understand the ARM code for porting Linux to a new card, or just the curious one.
LAS16-100K1: Welcome Keynote
Speakers: George Grey
Date: September 26, 2016
★ Session Description ★
George Grey, CEO of Linaro will welcome attendees to the conference and give an update on the latest projects taking place at Linaro.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-100k1
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-100k1/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
Linux on RISC-V with Open Hardware (ELC-E 2020)Drew Fustini
Want to run Linux on open hardware? This talk will explore how the RISC-V, an open instruction set (ISA), and open source FPGA tools can be leveraged to achieve that goal. I will explain how myself and others at Hackaday Supercon teamed up to get Linux running on a RISC-V soft-core in the ECP5 FPGA on the conference badge. I will introduce Migen, LiteX and Vexriscv, and explain how they enabled us to quickly implement an SoC in the FPGA capable of running Linux. I will also explore other Linux-capable open source RISC-V implementations, and how some are being used in industry. I will highlight that OpenHW Group has adopted the PULP Ariane from ETH Zurich for its Core-V CVA64 implementation. Finally, I will look at what Linux-capable "hard" RISC-V SoC's currently exist, and what is on the horizon for 2020 and 2021. This talk is should be relevant to people who are interested in building open hardware systems capable of running Linux. It should also be useful to people who are curious about RISC-V. Software engineers may find it exciting to learn how Python can be used to for chip-level design with Migen and LiteX, and simplify building a System-on-Chip (SoC) for an FPGA.
"Session ID: SFO17-102
Session Name: Deploy STM32 family on Zephyr - SFO17-102
Speaker: Erwan Gouriou
Track: LITE
★ Session Summary ★
Objects:
-Quick intro on STM32 offer
-Strategy used to minimize code and maintenance effort and break silos
-Status on supported drivers
Slides:
-STM32 families and SoCs (highlight number of refs (>900) and need for mutualization)
-SoC naming conventions
-ST boards
-STM32Cube
-Initial deployment in Zephyr
-STM32Cube introduction and introduction in Zephyr
*HAL vs LL
*Information conveyed by CMSIS files
-Driver deployment strategy
*CMSIS (generic defines)
*LL/HAL
-Simplification brought by driver init code and pinmux generated by Device tree
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-102/
Presentation:
Video:
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
OpenWRT development solutions - Free wireless router product developmentPaul Dao
Build your wireless router by OpenWrt.
OpenWrt uses official GNU/Linux kernel sources and only adds patches for the system on chip and drivers for the network interfaces. The developer team tries to re-implement most of the proprietary code inside the GPL tarballs of the different vendors. There are free tools for writing new firmware images directly into the flash (mtd), for configuring the wireless lan chip (wlcompat/wificonf) and to program the VLAN-capable switch via the proc filesystem.
LAS16-300: Mini Conference 2 Cortex-M Software - Device ConfigurationLinaro
LAS16-300: Mini Conference 2 RTOS-Zephyr - Device Configuration
Speakers: Andy Gross
Date: September 28, 2016
★ Session Description ★
SoC Vendors, board vendors, software middle layers, scripting languages, etc all need to have access to system configuration information (pin muxes, what sensors are on a system, what amount of memory, flash, etc, etc). We need a means to convey this in a vendor neutral mechanism but also one that is friendly for Cortex-M/constrained footprint devices. This session will be to discuss the topic, how its done today, what kinda tooling might exist from different vendors, what we could utilize (device tree) and what issues that creates.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-300
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-300/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
LAS16-403: GDB Linux Kernel Awareness
Speakers: Peter Griffin
Date: September 29, 2016
★ Session Description ★
The presentation will look at the ways in which GDB can be enhanced when debugging the Linux kernel to give it better knowledge of the underlying operating system to enable a better debugging experience. It will also provide a status of the current work being undertaken in this area by the ST landing team, a demo and potential future work.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-403
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-403/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
But what are these ""Clocks"" stuff I see in the kernel about ?
Since first introduction of linux/clk.h in 2006 from Russel King, clock management was progressively part of the needed system management and resource handling in drivers.
Then, in 2012, Mike Turquette introduced the ""Common Clock Framework"" he co-maintained with Steven Boyd, becoming a central ""Framework"" handling clocks over the system to provide controls by the device drivers.
- However, what are these clocks?
- What are they in physical terms?
- How are they modeled in Hardware?
- Why do we need them to control internal&external devices?
Neil will make a full overview of the ""Common Clock Framework"", how it's integrated in the Linux Kernel and a brief overview of the physical implementation&requirement in Hardware.
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
Every modern multimedia-oriented ARM SoC usually has a number of display controllers, to drive a screen or an LCD panel, and a GPU, to provide 3D acceleration. The Linux kernel framework of choice to support these controllers is the DRM subsystem.
This talk will walk through the DRM stack, the architecture of a DRM/KMS driver and the interaction between the display and GPU drivers. The presentation is based on the work we have done to develop a DRM driver for the Allwinner SoCs display controller with multiple outputs, such as parallel display interfaces, HDMI or MIPI-DSI. The work done to make the ARM Mali OpenGL driver work on top of a mainline DRM/KMS driver will also be detailed, as well as the more traditional, Mesa-based, solution used in a variety of other platforms.
Maxime Ripard, Free Electrons
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
PipeWire is an open source project that aims to greatly improve audio and video handling under Linux. Utilising a fresh design, it bridges use cases that have been previously addressed by different tools – or not addressed at all -, providing ground for building complex, yet secure and efficient, multimedia systems.
In this talk, Julien is going to present the PipeWire project and the concepts that make up its design. In addition, he is going to give an update of the current and future work going on around PipeWire, both upstream and in Automotive Grade Linux, an early adopter that Julien is actively working on.
Julian Bouzas
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans VerkuilAnne Nicolas
The HDMI connector features a CEC (Consumer Electronics Control) pin that allows connected devices to detect and control one another. A new framework to handle CEC was added to the kernel in 2016.
This talk describes the current state of the CEC support, how to implement new CEC drivers and the various complications you will encounter when using CEC.
Hans Verkuil
HKG18-113- Secure Data Path work with i.MX8MLinaro
"Session ID: HKG18-113
Session Name: HKG18-113 - Secure Data Path work with i.MX8M
Speaker: Cyrille Fleury
Track: Digital Home
★ Session Summary ★
NXP presentation on Secure Data Path work with i.MX8M Soc. Demonstrate 4K PlayReady playback with Android 8.1 running on i.MX8M. Focus on security (MS SL3000 and Widevine level 1)
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/hkg18/hkg18-113/
Presentation: http://connect.linaro.org.s3.amazonaws.com/hkg18/presentations/hkg18-113.pdf
Video: http://connect.linaro.org.s3.amazonaws.com/hkg18/videos/hkg18-113.mp4
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2018 (HKG18)
19-23 March 2018
Regal Airport Hotel Hong Kong
---------------------------------------------------
Keyword: Digital Home
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
Kernel Recipes 2013 - ARM support in the Linux kernelAnne Nicolas
Over the past two years, the support of the platforms based on ARM processor in the Linux kernel has evolved considerably. Between the use of the Device Tree, moving drivers in many features like clock management or multiplexing of pines, the platform mechanism, the changes have been numerous.
Through the experience of the speaker about the addition to the core support for ARM Marvell Armada 370/XP processors, this intervention will provide an overview of these changes in order to better understand the new organization of the code for ARM architecture in the kernel.
This talk is intended to be useful both for developers who want to add support for a new ARM processor in the kernel, but also to those wishing to understand the ARM code for porting Linux to a new card, or just the curious one.
LAS16-100K1: Welcome Keynote
Speakers: George Grey
Date: September 26, 2016
★ Session Description ★
George Grey, CEO of Linaro will welcome attendees to the conference and give an update on the latest projects taking place at Linaro.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-100k1
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-100k1/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
Linux on RISC-V with Open Hardware (ELC-E 2020)Drew Fustini
Want to run Linux on open hardware? This talk will explore how the RISC-V, an open instruction set (ISA), and open source FPGA tools can be leveraged to achieve that goal. I will explain how myself and others at Hackaday Supercon teamed up to get Linux running on a RISC-V soft-core in the ECP5 FPGA on the conference badge. I will introduce Migen, LiteX and Vexriscv, and explain how they enabled us to quickly implement an SoC in the FPGA capable of running Linux. I will also explore other Linux-capable open source RISC-V implementations, and how some are being used in industry. I will highlight that OpenHW Group has adopted the PULP Ariane from ETH Zurich for its Core-V CVA64 implementation. Finally, I will look at what Linux-capable "hard" RISC-V SoC's currently exist, and what is on the horizon for 2020 and 2021. This talk is should be relevant to people who are interested in building open hardware systems capable of running Linux. It should also be useful to people who are curious about RISC-V. Software engineers may find it exciting to learn how Python can be used to for chip-level design with Migen and LiteX, and simplify building a System-on-Chip (SoC) for an FPGA.
"Session ID: SFO17-102
Session Name: Deploy STM32 family on Zephyr - SFO17-102
Speaker: Erwan Gouriou
Track: LITE
★ Session Summary ★
Objects:
-Quick intro on STM32 offer
-Strategy used to minimize code and maintenance effort and break silos
-Status on supported drivers
Slides:
-STM32 families and SoCs (highlight number of refs (>900) and need for mutualization)
-SoC naming conventions
-ST boards
-STM32Cube
-Initial deployment in Zephyr
-STM32Cube introduction and introduction in Zephyr
*HAL vs LL
*Information conveyed by CMSIS files
-Driver deployment strategy
*CMSIS (generic defines)
*LL/HAL
-Simplification brought by driver init code and pinmux generated by Device tree
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-102/
Presentation:
Video:
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
OpenWRT development solutions - Free wireless router product developmentPaul Dao
Build your wireless router by OpenWrt.
OpenWrt uses official GNU/Linux kernel sources and only adds patches for the system on chip and drivers for the network interfaces. The developer team tries to re-implement most of the proprietary code inside the GPL tarballs of the different vendors. There are free tools for writing new firmware images directly into the flash (mtd), for configuring the wireless lan chip (wlcompat/wificonf) and to program the VLAN-capable switch via the proc filesystem.
LAS16-300: Mini Conference 2 Cortex-M Software - Device ConfigurationLinaro
LAS16-300: Mini Conference 2 RTOS-Zephyr - Device Configuration
Speakers: Andy Gross
Date: September 28, 2016
★ Session Description ★
SoC Vendors, board vendors, software middle layers, scripting languages, etc all need to have access to system configuration information (pin muxes, what sensors are on a system, what amount of memory, flash, etc, etc). We need a means to convey this in a vendor neutral mechanism but also one that is friendly for Cortex-M/constrained footprint devices. This session will be to discuss the topic, how its done today, what kinda tooling might exist from different vendors, what we could utilize (device tree) and what issues that creates.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-300
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-300/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek Jana treek
Investigation report on 64 bit support and some of new features in aosp masterhidenorly
This is an investigation report on Android 64bit support and coming new features, which are working in AOSP (Android Open Source Project) master branch.
Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...Ron Munitz
My session at AnDevCon Bostong, May 2013, Boston, MA.
This class introduces the concepts of AOSP and how to use it in order to configure and build one of the most popular Android devices available: The Android emulator, for an x86 target. You will then learn a reincarnation of the AOSP, intended to bring Android to as many x86 devices as possible. You will see its structure and compare it with the AOSP, and demonstrate how such a build works within Virtual Box, QEMU and more.
LEVEL: Intermediate
TOPIC AREA: Embedded Android
For Training/Consulting requests: info@thepscg.com
This is a presentation that looks ta some of the Linux commands you could use to identify the hardware on your system. This can be useful for troubleshooting, or just for figuring out which motherboard is in which box.
Share the Experience of Using Embedded Development BoardJian-Hong Pan
(Including Demo videos at end of the description)
Due to the pandemic in the past few years, lacking chips became one of the reasons that vendors cannot produce products. That affects industry, automotive and IT, etc. In addition, many countries propose new policies/acts which start to investigate the source of products recently. Therefore, keeping the flexibility of the usage of parts to maintain the robustness of productivity and service is an important skill. This talk will list the toolchains & debug tools for common chip architectures and share some development experience.
This talk will share how to use the open source toolchain and debug tools to develop and debug, then flash the program to the ARM Cortex-M development board. The same idea can be used on other chip’s development boards. Will have some examples for ARM Cortex-A and RISC-V 32 & 64 Bits environment. Besides, will share the experience of sending patches to the debug tool and co-working with upstream, too.
Demo Videos:
* Develop with Nuvoton's NuTiny-SDK-NUC472 https://www.youtube.com/watch?v=Yz9uw2_9KS8
* Develop with Longan Nano https://www.youtube.com/watch?v=IFqDM_GLUfo
* Boot Custom Linux Image on Raspberry Pi 4B https://www.youtube.com/watch?v=t3PjTtf5MvU
* Boot Linux on QEMU RISC-V 64 Bits VM https://www.youtube.com/watch?v=8c7zfvJYzSo
* Develop with Arduino Nano https://www.youtube.com/watch?v=sU7X9Q35hhY
In this talk Liran will discuss interrupt management in Linux, effective handling, how to defer work using tasklets, workqueues and timers. We'll learn how to handle interrupts in userspace and talk about the performance and latency aspects of each method as well as look at some examples from the kernel source.
Liran is the CTO at Mabel technology and co-founder of DiscoverSDK - Software Libraries directory and DiscoverCloud - Business Apps directory.
More than 20 years of training experience including courses in: Linux, Android, Real-time and Embedded systems, and many more.
Low-cost microcontrollers are being used more and more often in embedded applications that previously may have used a microprocessor. Microcontrollers often run a real-time operating system (RTOS) rather than a full operating system like Linux. In this webinar we introduce FreeRTOS, a popular RTOS for microcontrollers that has been ported to 35 microcontroller platforms.
A brief overview of linux scheduler, context switch , priorities and scheduling classes as well as new features. Also provides an overview of preemption models in linux and how to use each model. all the examples are taken from http://www.discoversdk.com
Best practices for optimizing Red Hat platforms for large scale datacenter de...Jeremy Eder
This presentation is from NVIDIA GTC DC on Oct 23, 2018:
https://youtu.be/z5gEUL6dJRI
Corresponding Press Release: https://www.redhat.com/en/about/press-releases/red-hat-nvidia-align-open-source-solutions-fuel-emerging-workloads
Blog: https://www.redhat.com/en/blog/red-hat-and-nvidia-positioning-red-hat-enterprise-linux-and-openshift-primary-platforms-artificial-intelligence-and-other-gpu-accelerated-workloads
Demo Video:
https://www.youtube.com/watch?v=9iVYjA_WJgU
Slides présentés lors du Meetup Aix Marseille Embedded Linux du 16 Juin.
Présentation sur les GNU/Autotools accompagné d'un exemple Hello World basé sur les autotools.
Créer sa distribution Linux embarqué avec Yocto ou AngströmChristian Charreyre
Création d'une distribution Linux embarqué riche à l'aide des outils de build de distribution Yocto et Angström : slides présentés lors du 5e meetup de Paris Embedded meetup
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeChristian Charreyre
These slides (in French language) explain how to build an embedded Linux distribution with reach features, without compromise on quality, using the tools offered by the Yocto Project. This is the up to date version presented on December 4th, 2014.
These slides (in French language) explain how to build an embedded Linux distribution with reach features, without compromise on quality, using the tools offered by the Yocto Project.
They were presented in a seminar organized by Captronic in Aix en Provence, on May 15th, 2014
Yocto une solution robuste pour construire des applications à fort contenu ap...Christian Charreyre
Ce document est la présentation effectuée par CIO Informatique Industrielle lors de la conférence "Yocto et Linux, un couple d'avenir" du salon RTS 2013
Les slides de la présentation faite par CIO Informatique Industrielle lors du salon Synergie NTIC, sur les utilisations de Linux en contexte embarqué et industriel
Ce slideshow est issu de la contribution de CIO Informatique Industrielle à la conférence / débat Comment travailler avec les logiciels Open Source, qui s'est tenue en Avril 2008 sur le salon RTS Embedded Systems
This slideshow gives feedback about using Linux in industrial projects. It is part of a conference held by our company CIO Informatique Industrielle at ERTS 2008, the European Embedded Real Time software Congress in Toulouse
Cette présentation décrit des utilisations de logiciel libre (Linux) pour des développements informatiques dans des projets industriels, embarqués et temps réel.
Le portage d'une application écrite pour des RTOS traditionnels vers Linux est également abordé.
Le document a été présenté lors de Solutions Linux 2007
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
1. 11 Avenue Marigny 13014 Marseille www.ciose.fr christian.charreyre@ciose.fr
Le Device Tree Linux 127/06/17
Le Device Tree Linux
2. Le Device Tree Linux 227/06/17
Licence
Attribution-Noncommercial-Share Alike 4.0 International
● You are free:
to Share - copy and redistribute the material in any medium or format
to Adapt - remix, transform, and build upon the material
The licensor cannot revoke these freedoms as long as you follow the license terms.
● Under the following conditions:
Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You
may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
NonCommercial — You may not use the material for commercial purposes.
ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the
same license as the original.
● No additional restrictions — You may not apply legal terms or technological
measures that legally restrict others from doing anything the license permits.
● License text : http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
3. Présentation de CIO Systèmes
Embarqués
Bureau d’études de 15 personnes
Ingénierie électronique et informatique
Expertise Linux embarqué depuis 15 ans
Open Embedded et Yocto depuis 7 ans
Siège à Saint-Etienne
Capital de 60 000€
Agence à Marseille
Agréé CIR (Crédit d’Impôt Recherches)
Expert programme Cap’tronic sur Linux embarqué
Le Device Tree Linux 327/06/17
4. Le Device Tree Linux
Présentation de l’orateur
4
Associé au sein de CIO
Responsable des technologies Linux embarqué
Formateur Linux embarqué (avec Captronic et en direct)
30 ans dans l'embarqué et le monde Unix / Linux
Fervent promoteur du logiciel libre
Membre de Medinsoft – Commission Logiciel Libre
27/06/17
5. Le Device Tree Linux 527/06/17
Architecture ARM dans le kernel
● “Gah. Guys, this whole ARM thing is a f*cking pain in the
ass”
Linus Torvalds à propos du support ARM dans le kernel
6. Le Device Tree Linux 627/06/17
Architecture ARM dans le kernel
X86 dans le kernel 3.0.35
7. Le Device Tree Linux 727/06/17
Architecture ARM dans le kernel
ARM dans le kernel 3.0.35
8. Le Device Tree Linux 827/06/17
Architecture ARM dans le kernel
● Le monde ARM, c’est :
– Nombreux fondeurs
– Nombreux SOC
● Dans le kernel ARM plusieurs étages de spécialisation :
– Platform
– Mach
– Board
9. Le Device Tree Linux 927/06/17
Architecture ARM dans le kernel
● Beaucoup de duplication de code, en particulier pour tout ce qui
n’est pas plug and play (platform_data)
static const struct esdhc_platform_data mx6q_hera_sd3_data
__initconst = {
.cd_gpio = HERA_SD3_CD,
.wp_gpio = HERA_SD3_WP,
.keep_power_at_suspend = 1,
.support_8bit = 0,
.delay_line = 0,
.cd_type = ESDHC_CD_CONTROLLER,
};
10. Le Device Tree Linux 1027/06/17
Pourquoi le Device Tree ?
● Idée :
– mutualiser le code kernel ARM
– tendre vers un kernel générique qui exploite une description du
hardware
● Implémentation dérivée du concept OpenFirmware de IEEE
● Décrire le matériel non plug and play dans une structure de données
● Le kernel généricisé exploite cette structure de données
– le bootloader charge et transmet cette structure au kernel (idem initial
ram disk)
● Le bootloader lui même peut éventuellement exploiter cette structure
11. Le Device Tree Linux 1127/06/17
Définir son Device Tree
●
Définition dans des fichiers texte (dts et dtsi) sous forme d’arbre
●
Selon une syntaxe normée à base de nœuds et propriétés
●
Éléments de syntaxe décrits dans la documentation kernel :
Documentation/devicetree/bindings
●
Constitue un éléments de l’API kernel stabilité nécessaire des bindings
● Exemple : correspondance avec la structure platform_data précédente :
&usdhc4 {
pinctrlnames = "default";
pinctrl0 = <&pinctrl_usdhc4>;
buswidth = <8>;
nonremovable;
keeppowerinsuspend;
status = "okay";
};
12. Le Device Tree Linux 1227/06/17
Définir son Device Tree
● Le Device Tree (.dts) est compilé avec dtc pour générer un
fichier de données binaire .dtb (blob)
● C’est le dtb qui est exploité par le kernel
14. Le Device Tree Linux 1427/06/17
Définir son Device Tree - Inclusions
imx6q-hera.dts
/*
* Copyright 2015 CIO Systèmes Embarqués.
* Copyright 2012 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd.
*
* The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License
* Version 2 or later at the following locations:
*
* http://www.opensource.org/licenses/gpl-license.html
* http://www.gnu.org/copyleft/gpl.html
*/
/dts-v1/;
#include "imx6q.dtsi"
#include "imx6qdl-hera.dtsi"
…
&ldb {
lvds-channel@0 {
crtc = "ipu2-di0";
};
lvds-channel@1 {
crtc = "ipu2-di1";
};
};
...
imx6q.dtsi
...
#include <dt-bindings/interrupt-controller/irq.h>
#include "imx6q-pinfunc.h"
#include "imx6qdl.dtsi"
...
imx6qdl.dtsi
…
ldb: ldb@020e0008 {
#address-cells = <1>;
#size-cells = <0>;
gpr = <&gpr>;
status = "disabled";
lvds-channel@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
status = "disabled";
};
lvds-channel@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
status = "disabled";
};
};
…
Modification
définition nœud
ldb@020e0008
Étiquette
15. Le Device Tree Linux 1527/06/17
Device Tree - Inclusions
● Les inclusions multiples permettent d’aller du plus général
au plus particulier, sans duplication
● Modification ou enrichissement de nœuds à l’aide des
étiquettes
imx6qdl.dtsi
imx6q.dtsi imx6dl.dtsi
imx6q-
sabresd.dts
imx6q-
sabreauto.dts
imx6q-
hera.dts
imx6dl-
sabrelite.dts
imx6dl-
sabreauto.dts
imx6dl-
udoo.dts
SOCs
Cartes
17. Le Device Tree Linux 1727/06/17
Lien Device Tree - Kernel
● Le lien se fait à l’aide de la propriété compatible
regulator-1p1@110 {
compatible = "fsl,anatop-regulator";
regulator-name = "vdd1p1";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1375000>;
regulator-always-on;
anatop-reg-offset = <0x110>;
anatop-vol-bit-shift = <8>;
anatop-vol-bit-width = <5>;
anatop-min-bit-val = <4>;
anatop-min-voltage = <800000>;
anatop-max-voltage = <1375000>;
anatop-enable-bit = <0>;
};
18. Le Device Tree Linux 1827/06/17
Lien Device Tree - Kernel
drivers/regulator/anatop-regulator.c
…
static const struct of_device_id of_anatop_regulator_match_tbl[] = {
{ .compatible = "fsl,anatop-regulator", },
{ /* end */ }
};
static struct platform_driver anatop_regulator_driver = {
.driver = {
.name = "anatop_regulator",
.of_match_table = of_anatop_regulator_match_tbl,
},
.probe = anatop_regulator_probe,
};
static int __init anatop_regulator_init(void)
{
return platform_driver_register(&anatop_regulator_driver);
}
postcore_initcall(anatop_regulator_init);
static void __exit anatop_regulator_exit(void)
{
platform_driver_unregister(&anatop_regulator_driver);
}
module_exit(anatop_regulator_exit);
...
drivers/regulator/anatop-regulator.c
…
static int anatop_regulator_probe(struct platform_device *pdev)
{
…
sreg->name = of_get_property(np, "regulator-name", NULL);
if (!sreg->name) {
dev_err(dev, "no regulator-name setn");
return -EINVAL;
}
...
ret = of_property_read_u32(np, "anatop-min-voltage",
&sreg->min_voltage);
if (ret) {
dev_err(dev, "no anatop-min-voltage property setn");
return ret;
}
ret = of_property_read_u32(np, "anatop-max-voltage",
&sreg->max_voltage);
if (ret) {
dev_err(dev, "no anatop-max-voltage property setn");
return ret;
}
...
19. Le Device Tree Linux 1927/06/17
Un exemple : bus ecspi1 de la
carte Hera
AIP
S
20. Le Device Tree Linux 2027/06/17
Un exemple : bus ecspi1 de la
carte Hera
Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt
* Freescale (Enhanced) Configurable Serial Peripheral Interface
(CSPI/eCSPI) for i.MX
Required properties:
- compatible :
- "fsl,imx1-cspi" for SPI compatible with the one integrated on i.MX1
- "fsl,imx21-cspi" for SPI compatible with the one integrated on i.MX21
- "fsl,imx27-cspi" for SPI compatible with the one integrated on i.MX27
- "fsl,imx31-cspi" for SPI compatible with the one integrated on i.MX31
- "fsl,imx35-cspi" for SPI compatible with the one integrated on i.MX35
- "fsl,imx51-ecspi" for SPI compatible with the one integrated on i.MX51
- reg : Offset and length of the register set for the device
- interrupts : Should contain CSPI/eCSPI interrupt
- fsl,spi-num-chipselects : Contains the number of the chipselect
- cs-gpios : Specifies the gpio pins to be used for chipselects.
- clocks : Clock specifiers for both ipg and per clocks.
- clock-names : Clock names should include both "ipg" and "per"
See the clock consumer binding,
Documentation/devicetree/bindings/clock/clock-bindings.txt
- dmas: DMA specifiers for tx and rx dma. See the DMA client binding,
Documentation/devicetree/bindings/dma/dma.txt
- dma-names: DMA request names should include "tx" and "rx" if present.
Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt
Example:
ecspi@70010000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx51-ecspi";
reg = <0x70010000 0x4000>;
interrupts = <36>;
fsl,spi-num-chipselects = <2>;
cs-gpios = <&gpio3 24 0>, /* GPIO3_24 */
<&gpio3 25 0>; /* GPIO3_25 */
dmas = <&sdma 3 7 1>, <&sdma 4 7 2>;
dma-names = "rx", "tx";
};
#address-cells = nombre mots de
32 bits dans l’adresse de reg pour
les nœuds sur le bus
#size-cells = nombre mots de
32 bits dans la taille de reg pour
les nœuds sur le bus
reg = @ et taille du contrôleur
dans le SOC
23. Le Device Tree Linux 2327/06/17
Appel à orateurs
● Recherche d’orateurs sur sujets ouverts pour prochain
meetup
● Me proposer un thème par email
christian.charreyre@ciose.fr
● Éventuellement on peut envisager plusieurs mini
présentations