File Index
Files and directories
Sign in
FILE

atmel,at91-pio4-pinctrl.txt

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt PLAIN TEXT
 1* Atmel PIO4 Controller
 2
 3The Atmel PIO4 controller is used to select the function of a pin and to
 4configure it.
 5
 6Required properties:
 7- compatible:
 8	"atmel,sama5d2-pinctrl"
 9	"microchip,sama7d65-pinctrl", "microchip,sama7g5-pinctrl"
10	"microchip,sama7g5-pinctrl"
11- reg: base address and length of the PIO controller.
12- interrupts: interrupt outputs from the controller, one for each bank.
13- interrupt-controller: mark the device node as an interrupt controller.
14- #interrupt-cells: should be two.
15- gpio-controller: mark the device node as a gpio controller.
16- #gpio-cells: should be two.
17
18Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
19a general description of GPIO and interrupt bindings.
20
21Please refer to pinctrl-bindings.txt in this directory for details of the
22common pinctrl bindings used by client devices.
23
24Subnode format
25Each node (or subnode) will list the pins it needs and how to configured these
26pins.
27
28	node {
29		pinmux = <PIN_NUMBER_PINMUX>;
30		GENERIC_PINCONFIG;
31	};
32
33Required properties:
34- pinmux: integer array. Each integer represents a pin number plus mux and
35ioset settings. Use the macros from boot/dts/<soc>-pinfunc.h file to get the
36right representation of the pin.
37
38Optional properties:
39- GENERIC_PINCONFIG: generic pinconfig options to use:
40	- bias-disable, bias-pull-down, bias-pull-up, drive-open-drain,
41	 drive-push-pull input-schmitt-enable, input-debounce, output-low,
42	 output-high.
43	- for microchip,sama7g5-pinctrl only:
44		- slew-rate: 0 - disabled, 1 - enabled (default)
45- atmel,drive-strength: 0 or 1 for low drive, 2 for medium drive and 3 for
46high drive. The default value is low drive.
47
48Example:
49
50#include <sama5d2-pinfunc.h>
51
52...
53{
54	pioA: pinctrl@fc038000 {
55		compatible = "atmel,sama5d2-pinctrl";
56		reg = <0xfc038000 0x600>;
57		interrupts = <18 IRQ_TYPE_LEVEL_HIGH 7>,
58			     <68 IRQ_TYPE_LEVEL_HIGH 7>,
59			     <69 IRQ_TYPE_LEVEL_HIGH 7>,
60			     <70 IRQ_TYPE_LEVEL_HIGH 7>;
61		interrupt-controller;
62		#interrupt-cells = <2>;
63		gpio-controller;
64		#gpio-cells = <2>;
65		clocks = <&pioA_clk>;
66
67		pinctrl_i2c0_default: i2c0_default {
68			pinmux = <PIN_PD21__TWD0>,
69				 <PIN_PD22__TWCK0>;
70			bias-disable;
71		};
72
73		pinctrl_led_gpio_default: led_gpio_default {
74			pinmux = <PIN_PB0>,
75				 <PIN_PB5>;
76			bias-pull-up;
77			atmel,drive-strength = <ATMEL_PIO_DRVSTR_ME>;
78		};
79
80		pinctrl_sdmmc1_default: sdmmc1_default {
81			cmd_data {
82				pinmux = <PIN_PA28__SDMMC1_CMD>,
83					 <PIN_PA18__SDMMC1_DAT0>,
84					 <PIN_PA19__SDMMC1_DAT1>,
85					 <PIN_PA20__SDMMC1_DAT2>,
86					 <PIN_PA21__SDMMC1_DAT3>;
87				bias-pull-up;
88			};
89
90			ck_cd {
91				pinmux = <PIN_PA22__SDMMC1_CK>,
92					 <PIN_PA30__SDMMC1_CD>;
93				bias-disable;
94			};
95		};
96		...
97	};
98};
99...
~/ Read-only file preview.