1- Fundamentals Linux kernel module and syntax
2- Character device driver theory and code implementation
3- Platform bus, Platform device, and platform driver concepts
4- Platform driver implementation
5- Device tree from scratch
6- Accessing device tree nodes from drivers
7- Device instantiation through device tree nodes
8- Device tree properties and node syntax
9- Device tree overlays
10- Overlays testing via u-boot
11- Kernel synchronization services (Mutex, Spinlocks)
12- Linux device model and sysfs
13- Linux GPIO subsystem
14- Linux pinctrl subsystem