Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kernel Linux Pin Control Subsystem

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Kernel Linux Pin Control Subsystem

Sistemas embarcados com plataforma ARM geralmente não possuem barramentos com protocolos de auto configuração ou enumeração. Por essa causa, utilizam-se os Device Trees para configuração e descrição do hardware para o Kernel Linux. Uma função importante da configuração no hardware é a correta atribuição da pinagem e multiplexação da mesma para o funcionamento dos perifericos. Tal tarefa é atribuida aos device drivers de pin control do vendor do processador no kernel, que realizam o parse das configurações dos device trees e as atribuem nos registradores de GPIO. O objetivo da palestra é mostrar um overview sobre o Pin Control subsystem e como o kernel controla e gerencia as GPIOs do processador.

Avatar for Matheus Castello

Matheus Castello

July 14, 2018
Tweet

More Decks by Matheus Castello

Other Decks in Technology

Transcript

  1. • GPIO - (Or the various ways to turn on

    a led in linux) • Overview • GPIO x Pin Control • GPIOLib Kernel Space • Legacy • Parse your device tree • New Descriptor-Based API • Device tree abstracted • GPIO in User Space • sysfs - Deprecated! (Why? This is so easy) • Char Device - Why not write a device driver? • Pin Control (I really need this?) • Pin Multiplexing • Pin Configuration • Generic Pin Mutiplexing and Configuration *Maker point of view
  2. GPIO PINCTRL MUX INPUT / OUTPUT REQUEST READ / WRITE

    PIN STATES SET MUX ALTENATES FUNCTIONS SELECT PIN CONFIGURATIONS
  3. GPIO PINCTRL MUX INPUT / OUTPUT REQUEST READ / WRITE

    PIN STATES SET MUX ALTENATES FUNCTIONS SELECT PIN CONFIGURATIONS
  4. Applications (Aka Distro) GNU C Library (glibc) KERNEL Architecture-Dependent Kernel

    Code System Call Interface KERNEL SPACE USER SPACE ACCESS TO HARDWARE HAVE TO MADE IN KERNEL SPACE!