drivers/pinctrl/freescale/pinctrl-imx23.c

Source file repositories/reference/linux-study-clean/drivers/pinctrl/freescale/pinctrl-imx23.c

File Facts

System
Linux kernel
Corpus path
drivers/pinctrl/freescale/pinctrl-imx23.c
Extension
.c
Size
7485 bytes
Lines
290
Domain
Driver Families
Bucket
drivers/pinctrl
Inferred role
Driver Families: exported/initcall integration point
Status
integration 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+
//
// Freescale i.MX23 pinctrl driver
//
// Author: Shawn Guo <shawn.guo@linaro.org>
// Copyright 2012 Freescale Semiconductor, Inc.

#include <linux/init.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/pinctrl.h>
#include "pinctrl-mxs.h"

enum imx23_pin_enum {
	GPMI_D00	= PINID(0, 0),
	GPMI_D01	= PINID(0, 1),
	GPMI_D02	= PINID(0, 2),
	GPMI_D03	= PINID(0, 3),
	GPMI_D04	= PINID(0, 4),
	GPMI_D05	= PINID(0, 5),
	GPMI_D06	= PINID(0, 6),
	GPMI_D07	= PINID(0, 7),
	GPMI_D08	= PINID(0, 8),
	GPMI_D09	= PINID(0, 9),
	GPMI_D10	= PINID(0, 10),
	GPMI_D11	= PINID(0, 11),
	GPMI_D12	= PINID(0, 12),
	GPMI_D13	= PINID(0, 13),
	GPMI_D14	= PINID(0, 14),
	GPMI_D15	= PINID(0, 15),
	GPMI_CLE	= PINID(0, 16),
	GPMI_ALE	= PINID(0, 17),
	GPMI_CE2N	= PINID(0, 18),
	GPMI_RDY0	= PINID(0, 19),
	GPMI_RDY1	= PINID(0, 20),
	GPMI_RDY2	= PINID(0, 21),
	GPMI_RDY3	= PINID(0, 22),
	GPMI_WPN	= PINID(0, 23),
	GPMI_WRN	= PINID(0, 24),
	GPMI_RDN	= PINID(0, 25),
	AUART1_CTS	= PINID(0, 26),
	AUART1_RTS	= PINID(0, 27),
	AUART1_RX	= PINID(0, 28),
	AUART1_TX	= PINID(0, 29),
	I2C_SCL		= PINID(0, 30),
	I2C_SDA		= PINID(0, 31),
	LCD_D00		= PINID(1, 0),
	LCD_D01		= PINID(1, 1),
	LCD_D02		= PINID(1, 2),
	LCD_D03		= PINID(1, 3),
	LCD_D04		= PINID(1, 4),
	LCD_D05		= PINID(1, 5),
	LCD_D06		= PINID(1, 6),
	LCD_D07		= PINID(1, 7),
	LCD_D08		= PINID(1, 8),
	LCD_D09		= PINID(1, 9),
	LCD_D10		= PINID(1, 10),
	LCD_D11		= PINID(1, 11),
	LCD_D12		= PINID(1, 12),
	LCD_D13		= PINID(1, 13),
	LCD_D14		= PINID(1, 14),
	LCD_D15		= PINID(1, 15),
	LCD_D16		= PINID(1, 16),
	LCD_D17		= PINID(1, 17),
	LCD_RESET	= PINID(1, 18),
	LCD_RS		= PINID(1, 19),
	LCD_WR		= PINID(1, 20),
	LCD_CS		= PINID(1, 21),
	LCD_DOTCK	= PINID(1, 22),
	LCD_ENABLE	= PINID(1, 23),
	LCD_HSYNC	= PINID(1, 24),
	LCD_VSYNC	= PINID(1, 25),
	PWM0		= PINID(1, 26),
	PWM1		= PINID(1, 27),
	PWM2		= PINID(1, 28),
	PWM3		= PINID(1, 29),
	PWM4		= PINID(1, 30),
	SSP1_CMD	= PINID(2, 0),
	SSP1_DETECT	= PINID(2, 1),
	SSP1_DATA0	= PINID(2, 2),
	SSP1_DATA1	= PINID(2, 3),
	SSP1_DATA2	= PINID(2, 4),
	SSP1_DATA3	= PINID(2, 5),
	SSP1_SCK	= PINID(2, 6),
	ROTARYA		= PINID(2, 7),
	ROTARYB		= PINID(2, 8),
	EMI_A00		= PINID(2, 9),
	EMI_A01		= PINID(2, 10),
	EMI_A02		= PINID(2, 11),
	EMI_A03		= PINID(2, 12),

Annotation

Implementation Notes