DRV-120 · Device Drivers · Practitioner

Platform Drivers & Device Tree — full syllabus

Describing non-discoverable hardware and writing the drivers that consume that description.

Duration4 full days in person · 8 half-days online
Cohortmax 14 in person · 20 online
Pricefrom SAR 10,500 in person · local pricing per city
Delivery35% principles · 20% guided investigation · 45% engineering studio

Who this course is for

Embedded engineers bringing up drivers for non-discoverable hardware on ARM or RISC-V SoCs, where the device tree — not the bus — tells the kernel what exists.

Prerequisites

Course outline

Day 1 — Device tree as data

  • DTS syntax: nodes, properties, phandles and labels
  • Compiling with dtc and decompiling a running system's DTB
  • How the FDT becomes device_nodes and then platform_devices
  • Addressing: reg, #address-cells, #size-cells and ranges
  • compatible, status and the matching chain to a driver

Day 2 — Bindings that survive review

  • What a binding must document and what it must not
  • DT schema in YAML: properties, required, patternProperties
  • Validating with dt_binding_check and dtbs_check
  • Writing a binding document acceptable upstream
  • Common review failures: generic names, vendor prefixes, unit-address mistakes

Day 3 — The driver side of the tree

  • of_* property parsing: scalars, strings, phandles, arrays
  • platform_get_resource and devm_ioremap_resource for MMIO
  • IRQ mapping from the interrupts property
  • Clocks, resets, regulators and GPIOs as DT-described resources
  • Deferred probe when a dependency is not ready yet

Day 4 — Debugging and overlays

  • Why a node never probes: compatible mismatch, disabled status, silent deferral
  • Reading /sys/kernel/debug/devices_deferred and initcall_debug output
  • Pinmux and pinctrl from the driver's seat
  • Writing and applying a DT overlay at runtime
  • Verifying a change: decompile, diff, reboot, re-check

Hands-on labs

  1. Lab: Decompile the lab board's live DTB and trace one peripheral from its node to the registered platform_device
  2. Lab: Write a YAML binding for a simple device, pass dt_binding_check, then break it and read the validation errors
  3. Lab: Implement a platform driver that parses custom properties and takes a clock, a reset and a GPIO from the tree
  4. Lab: Diagnose an injected never-probes fault using devices_deferred and boot logs — fix the DT, not the driver
  5. Lab: Apply and remove a DT overlay on a running board and verify the new device appears and probes

Capstone project

From a supplied schematic excerpt for a lab-board peripheral, deliver the complete chain: a YAML binding that passes dtbs_check, the DTS node, and a platform driver that probes, acquires clock/reset/regulator/IRQ resources and survives injected failures — with a probe-chronology log and validation output as the evidence pack.

What you leave with

Upcoming dates

DatesWhereSeatsEarly birdRegular
11 Oct – 14 Oct 20264 full days RiyadhIn person · KAFD Conference Centre 7 of 14 —SAR 10,500
18 Oct – 21 Oct 20264 full days Kuwait CityIn person · Al Hamra Tower 12 of 14 —KWD 870
18 Oct – 21 Oct 20264 full days MuscatIn person · Knowledge Oasis Muscat 7 of 14 —OMR 1,080
25 Oct – 3 Nov 20268 half-days Gulf bandLive online · 09:00–13:00 GMT+3 13 of 20 —US$2,000
26 Oct – 29 Oct 20264 full days OttawaIn person · Kanata North Tech Park 12 of 14 —CAD 3,810
26 Oct – 4 Nov 20268 half-days Europe bandLive online · 09:00–13:00 CET 18 of 20 —US$2,000
2 Nov – 5 Nov 20264 full days TorontoIn person · MaRS Discovery District 7 of 14 —CAD 3,810
2 Nov – 5 Nov 20264 full days LondonIn person · Shoreditch Works 12 of 14 —GBP 2,180
2 Nov – 11 Nov 20268 half-days Americas bandLive online · 13:00–17:00 ET 7 of 20 —US$2,000
9 Nov – 12 Nov 20264 full days BerlinIn person · Factory Görlitzer Park 7 of 14 EUR 2,320until 10 OctEUR 2,580

Book a seat, or bring this course to your team

Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.

Course page & booking

Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.