Generic Pin Configuration – Pin Controll Subsystem

By Matheus Castello, SIDIA – Samsung Instituto de Desenvolvimento de Informática para Amazonia

Embedded systems with ARM platform generally do not have buses with protocols of auto configuration or enumeration. For this reason, the device trees are used for configuration and hardware description for the kernel. An important function of the configuration in the hardware is the correct assignment of the pin configuration and multiplexing for the correct operation of the peripherals. This task is assigned to the processor’s vendor pin control device drivers in kernel, which parse the device tree configs and write them to the GPIO registers. Currently with the popularization of the ARM platform we have several vendors with pin control code in the mainline, these apply their own standards for pin definition and multiplexing, contributing with inconsistency between device trees. In order to define a standard and consistency between the use of the device trees for pin contro


Bachelor in Computer Science, since 2015 working with Android Embedded at SIDIA (Samsung Instituto de Desenvolvimento de Informática para Amazonia). In the linux community, work in update and port the generic pin configuration on pin controll drivers: it currently works on the bcm2835-pinctrl support, used on raspberry-pi (currently patch v6) and samsung-pinctrl (not yet LKML). At SIDIA he acts as a software engineer in charge for device drivers and battery safety algorithms, GPIO pinctrl device trees. He has experience in lectures on exhibitions of scientific works, scientific initiation, presentation of projects and in internal trainings in SIDIA.