[bootlin/training-materials updates] kernel-update: kernel: Agenda update proposal (8ecd0aa4)

Miquel Raynal miquel.raynal at bootlin.com
Fri Feb 25 18:14:52 CET 2022


Repository : https://github.com/bootlin/training-materials
On branch  : kernel-update
Link       : https://github.com/bootlin/training-materials/commit/8ecd0aa45cba8cc3e06f5a812e60d680ef0f2207

>---------------------------------------------------------------

commit 8ecd0aa45cba8cc3e06f5a812e60d680ef0f2207
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date:   Fri Feb 25 18:14:52 2022 +0100

    kernel: Agenda update proposal
    
    Discussed with Clément.
    
    Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>


>---------------------------------------------------------------

8ecd0aa45cba8cc3e06f5a812e60d680ef0f2207
 agenda/linux-kernel-online-agenda.tex | 109 +++++++++++++++++++++++++---------
 1 file changed, 80 insertions(+), 29 deletions(-)

diff --git a/agenda/linux-kernel-online-agenda.tex b/agenda/linux-kernel-online-agenda.tex
index d0fed711..b057c634 100644
--- a/agenda/linux-kernel-online-agenda.tex
+++ b/agenda/linux-kernel-online-agenda.tex
@@ -203,6 +203,30 @@
 
 \section{Half day 3}
 
+\feagendatwocolumn
+{Lecture - The device tree language}
+{
+  \begin{itemize}
+  \item Needs for description languages
+  \item Syntax (nodes, subnodes, phandles/specifiers)
+  \item Top nodes (cpu, memory, led, hos, etc)
+  \item Generic properties
+    (compatible, reg, irq, clk, dma, reset, gpio, power, power-domain, regulator)
+    plus '-names' suffix, '-gpio' suffix
+  \item Includes/overlays
+  \item Bindings
+  \end{itemize}
+}
+{Lecture: Understanding the boot flow}
+{
+  \begin{itemize}
+  \item Arch initialization
+  \item SoC identification/initialization
+  \item Firmware interaction (OPTEE, SMC, SCMI, PSCI)
+  \item Base initializations (clk, irq, memory)
+  \item Driver loading + of_platform_populate_dt() for the devices
+}
+
 \feagendatwocolumn
 {Lecture - Linux device model}
 {
@@ -211,7 +235,9 @@
     drivers
   \item The device model
   \item Binding devices and drivers
-  \item Platform devices, Device Tree
+  \item Platform devices
+  \item Parsing common properties
+    [into regular C structures (compatible, reg, irq, clk)]
   \item Interface in user space: \code{/sys}
   \end{itemize}
 }
@@ -318,11 +344,30 @@
   \item Modify the Device Tree to instantiate the new serial port
     device.
   \item Reserve the I/O memory addresses used by the serial port.
-  \item Read device registers and write data to them, to send
-    characters on the serial port.
+  \item Try to access device registers.
   \end{itemize}
 }
 
+{Clocking}
+{
+  \begin{itemize}
+  \item Understanding the clock subsystem
+  \item Clocks user API explanation
+  \item Clock parenting
+  \item Power domains
+  \item Runtime PM
+  \end{itemize}
+}
+{Demo - Clock handling and register accesses}
+{
+  {\em Using the BeagleBone Black board}
+  \begin{itemize}
+  \item Enable the clocks (if possible)
+  \item Enable runtime PM
+  \item Access device registers
+  \item Send characters on the serial port.
+}
+
 \feagendatwocolumn
 {Lecture - The misc kernel subsystem}
 {
@@ -367,6 +412,36 @@
   \end{itemize}
 }
 
+\feagendatwocolumn
+{Lecture - DMA}
+{
+  \begin{itemize}
+    \item dmaengine abstraction
+    \item DMA buffers
+    \item Driver API
+  \end{itemize}
+}
+{Demo - DMA}
+{
+  \begin{itemize}
+    \item Transmit bytes using DMA
+  \end{itemize}
+}
+
+\feagendatwocolumn
+{Lecture - MMAP}
+{
+  \begin{itemize}
+    \item MMAP
+  \end{itemize}
+}
+{Demo - MMAP}
+{
+  \begin{itemize}
+    \item Expose the ring buffer to userspace
+  \end{itemize}
+}
+
 \feagendatwocolumn
 {Lecture - Locking}
 {
@@ -393,10 +468,9 @@
 {
   \begin{itemize}
   \item Debugging with printing functions
+  \item Perf
   \item Using Debugfs
   \item Analyzing a kernel oops
-  \item Using kgdb, a kernel debugger
-  \item Using the Magic SysRq commands
   \end{itemize}
 }
 {Demo - Investigating kernel faults}
@@ -409,25 +483,6 @@
   \end{itemize}
 }
 
-\feagendatwocolumn
-{Lecture - ARM board support and SoC support}
-{
-  \begin{itemize}
-  \item Understand the organization of the ARM support code
-  \item Understand how the kernel can be ported to a new hardware
-    board
-  \end{itemize}
-}
-{Lecture - Power management}
-{
-  \begin{itemize}
-  \item Overview of the power management features of the kernel
-  \item Topics covered: clocks, suspend and resume, dynamic frequency
-    scaling, saving power during idle, runtime power management,
-    regulators, etc.
-  \end{itemize}
-}
-
 \feagendaonecolumn
 {Lecture - The Linux kernel development process}
 {
@@ -435,9 +490,6 @@
   \item Organization of the kernel community
   \item The release schedule and process: release candidates, stable
     releases, long-term support, etc.
-  \item Legal aspects, licensing.
-  \item How to submit patches to contribute code to the community.
-  \item Kernel resources: books, websites, conferences
   \end{itemize}
 }
 
@@ -445,8 +497,7 @@
 {Lecture - If time left}
 {
   \begin{itemize}
-  \item DMA
-  \item mmap
+  \item Overview of the power management features of the kernel
   \end{itemize}
 }
 {Questions and Answers}




More information about the training-materials-updates mailing list