GENERIC PIN CONFIGURATION
PIN CONTROL SUBSYSTEM
Matheus Castello
[email protected]
Slide 2
Slide 2 text
MATHEUS DE BARROS CASTELLO
27 year old, BS in Computer Science
System SW Engineer at SIDIA since 2015
Linux Kernel Developer - pinctrl-bcm2835 contributions
Maker Enthusiast in Spare Time
WHO I AM ?
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
GENERIC PIN CONFIGURATION?
PIN CONFIGURATION
AND MULTIPLEXING
PIN CONTROL
SUBSYSTEM?
DEVICE TREE
BINDINGS?
Slide 5
Slide 5 text
PIN CONFIGURATION
HOW KERNEL KNOW PERIPHERALS THAT ARE CONNECTED ?
Slide 6
Slide 6 text
PIN CONFIGURATION
PC ARCHITECTURE - AUTO ENUMERATION BUS
Slide 7
Slide 7 text
PIN CONFIGURATION?
EMBEDDED SYSTEMS - PERIPHERALS DIRECT CONNECTED TO GPIO
Slide 8
Slide 8 text
DEVICE TREE
DEVICE TREE DESCRIBE HARDWARE TO KERNEL
Slide 9
Slide 9 text
DEVICE TREE
Slide 10
Slide 10 text
GPIO - PIN CONFIGURATION AND MULTIPLEXING
PIN CONFIGURATION AND MULTIPLEXING
Slide 11
Slide 11 text
PIN CONFIGURATION AND MULTIPLEXING
GPIO - GENERAL PURPOSE INPUT OUTPUT
Slide 12
Slide 12 text
SETTING UP GPIO
PIN CONFIGURATION AND MULTIPLEXING
PIN MULTIPLEXING
PIN CONFIGURATION
Slide 13
Slide 13 text
SETTING UP GPIO
PIN CONFIGURATION AND MULTIPLEXING
PIN CONTROL SUBSYSTEM
Slide 14
Slide 14 text
PIN CONTROL DEVICE TREE BINDINGS
DEFINE PIN CONTROL PROPERTIES
Documentation/device-tre/bindings/pinctrl/brcm,bcm2835.txt
Slide 15
Slide 15 text
PIN CONTROL
PARSE DEVICE TREE PINCTRL BINDINGS - APPLY IT IN CHIP REGISTERS
drivers/pinctrl/bcm/pinctrl-bcm2835.c
PARSE PINCTRL BINDINGS
WRITE PIN CONF REGISTERS
WRITE PIN MUX REGISTERS
Slide 16
Slide 16 text
REAL TESTING - SOUND CLAP DEVICE
EXAMPLE OF USE IN DEVICE DRIVE