drivers/pinctrl/nomadik/pinctrl-nomadik-db8500.c

Source file repositories/reference/linux-study-clean/drivers/pinctrl/nomadik/pinctrl-nomadik-db8500.c

File Facts

System
Linux kernel
Corpus path
drivers/pinctrl/nomadik/pinctrl-nomadik-db8500.c
Extension
.c
Size
53704 bytes
Lines
1277
Domain
Driver Families
Bucket
drivers/pinctrl
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0
#include <linux/kernel.h>
#include <linux/types.h>

#include <linux/pinctrl/pinctrl.h>
#include <linux/gpio/driver.h>

#include <linux/gpio/gpio-nomadik.h>

/* All the pins that can be used for GPIO and some other functions */
#define _GPIO(offset)		(offset)

#define DB8500_PIN_AJ5		_GPIO(0)
#define DB8500_PIN_AJ3		_GPIO(1)
#define DB8500_PIN_AH4		_GPIO(2)
#define DB8500_PIN_AH3		_GPIO(3)
#define DB8500_PIN_AH6		_GPIO(4)
#define DB8500_PIN_AG6		_GPIO(5)
#define DB8500_PIN_AF6		_GPIO(6)
#define DB8500_PIN_AG5		_GPIO(7)
#define DB8500_PIN_AD5		_GPIO(8)
#define DB8500_PIN_AE4		_GPIO(9)
#define DB8500_PIN_AF5		_GPIO(10)
#define DB8500_PIN_AG4		_GPIO(11)
#define DB8500_PIN_AC4		_GPIO(12)
#define DB8500_PIN_AF3		_GPIO(13)
#define DB8500_PIN_AE3		_GPIO(14)
#define DB8500_PIN_AC3		_GPIO(15)
#define DB8500_PIN_AD3		_GPIO(16)
#define DB8500_PIN_AD4		_GPIO(17)
#define DB8500_PIN_AC2		_GPIO(18)
#define DB8500_PIN_AC1		_GPIO(19)
#define DB8500_PIN_AB4		_GPIO(20)
#define DB8500_PIN_AB3		_GPIO(21)
#define DB8500_PIN_AA3		_GPIO(22)
#define DB8500_PIN_AA4		_GPIO(23)
#define DB8500_PIN_AB2		_GPIO(24)
#define DB8500_PIN_Y4		_GPIO(25)
#define DB8500_PIN_Y2		_GPIO(26)
#define DB8500_PIN_AA2		_GPIO(27)
#define DB8500_PIN_AA1		_GPIO(28)
#define DB8500_PIN_W2		_GPIO(29)
#define DB8500_PIN_W3		_GPIO(30)
#define DB8500_PIN_V3		_GPIO(31)
#define DB8500_PIN_V2		_GPIO(32)
#define DB8500_PIN_AF2		_GPIO(33)
#define DB8500_PIN_AE1		_GPIO(34)
#define DB8500_PIN_AE2		_GPIO(35)
#define DB8500_PIN_AG2		_GPIO(36)
/* Hole */
#define DB8500_PIN_F3		_GPIO(64)
#define DB8500_PIN_F1		_GPIO(65)
#define DB8500_PIN_G3		_GPIO(66)
#define DB8500_PIN_G2		_GPIO(67)
#define DB8500_PIN_E1		_GPIO(68)
#define DB8500_PIN_E2		_GPIO(69)
#define DB8500_PIN_G5		_GPIO(70)
#define DB8500_PIN_G4		_GPIO(71)
#define DB8500_PIN_H4		_GPIO(72)
#define DB8500_PIN_H3		_GPIO(73)
#define DB8500_PIN_J3		_GPIO(74)
#define DB8500_PIN_H2		_GPIO(75)
#define DB8500_PIN_J2		_GPIO(76)
#define DB8500_PIN_H1		_GPIO(77)
#define DB8500_PIN_F4		_GPIO(78)
#define DB8500_PIN_E3		_GPIO(79)
#define DB8500_PIN_E4		_GPIO(80)
#define DB8500_PIN_D2		_GPIO(81)
#define DB8500_PIN_C1		_GPIO(82)
#define DB8500_PIN_D3		_GPIO(83)
#define DB8500_PIN_C2		_GPIO(84)
#define DB8500_PIN_D5		_GPIO(85)
#define DB8500_PIN_C6		_GPIO(86)
#define DB8500_PIN_B3		_GPIO(87)
#define DB8500_PIN_C4		_GPIO(88)
#define DB8500_PIN_E6		_GPIO(89)
#define DB8500_PIN_A3		_GPIO(90)
#define DB8500_PIN_B6		_GPIO(91)
#define DB8500_PIN_D6		_GPIO(92)
#define DB8500_PIN_B7		_GPIO(93)
#define DB8500_PIN_D7		_GPIO(94)
#define DB8500_PIN_E8		_GPIO(95)
#define DB8500_PIN_D8		_GPIO(96)
#define DB8500_PIN_D9		_GPIO(97)
/* Hole */
#define DB8500_PIN_A5		_GPIO(128)
#define DB8500_PIN_B4		_GPIO(129)
#define DB8500_PIN_C8		_GPIO(130)
#define DB8500_PIN_A12		_GPIO(131)
#define DB8500_PIN_C10		_GPIO(132)

Annotation

Implementation Notes