File Index
Files and directories
Sign in
FILE

img,pistachio-pinctrl.txt

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt PLAIN TEXT
  1Imagination Technologies Pistachio SoC pin controllers
  2======================================================
  3
  4The pin controllers on Pistachio are a combined GPIO controller, (GPIO)
  5interrupt controller, and pinmux + pinconf device. The system ("east") pin
  6controller on Pistachio has 99 pins, 90 of which are MFIOs which can be
  7configured as GPIOs. The 90 GPIOs are divided into 6 banks of up to 16 GPIOs
  8each. The GPIO banks are represented as sub-nodes of the pad controller node.
  9
 10Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
 11../interrupt-controller/interrupts.txt for generic information regarding
 12pin controller, GPIO, and interrupt bindings.
 13
 14Required properties for pin controller node:
 15--------------------------------------------
 16 - compatible: "img,pistachio-system-pinctrl".
 17 - reg: Address range of the pinctrl registers.
 18
 19Required properties for GPIO bank sub-nodes:
 20--------------------------------------------
 21 - interrupts: Interrupt line for the GPIO bank.
 22 - gpio-controller: Indicates the device is a GPIO controller.
 23 - #gpio-cells: Must be two. The first cell is the GPIO pin number and the
 24   second cell indicates the polarity. See <dt-bindings/gpio/gpio.h> for
 25   a list of possible values.
 26 - interrupt-controller: Indicates the device is an interrupt controller.
 27 - #interrupt-cells: Must be two. The first cell is the GPIO pin number and
 28   the second cell encodes the interrupt flags. See
 29   <dt-bindings/interrupt-controller/irq.h> for a list of valid flags.
 30
 31Note that the N GPIO bank sub-nodes *must* be named gpio0, gpio1, ... gpioN-1.
 32
 33Required properties for pin configuration sub-nodes:
 34----------------------------------------------------
 35 - pins: List of pins to which the configuration applies. See below for a
 36   list of possible pins.
 37
 38Optional properties for pin configuration sub-nodes:
 39----------------------------------------------------
 40 - function: Mux function for the specified pins. This is not applicable for
 41   non-MFIO pins. See below for a list of valid functions for each pin.
 42 - bias-high-impedance: Enable high-impedance mode.
 43 - bias-pull-up: Enable weak pull-up.
 44 - bias-pull-down: Enable weak pull-down.
 45 - bias-bus-hold: Enable bus-keeper mode.
 46 - drive-strength: Drive strength in mA. Supported values: 2, 4, 8, 12.
 47 - input-schmitt-enable: Enable Schmitt trigger.
 48 - input-schmitt-disable: Disable Schmitt trigger.
 49 - slew-rate: Slew rate control. 0 for slow, 1 for fast.
 50
 51Pin		Functions
 52---		---------
 53mfio0		spim1
 54mfio1		spim1, spim0, uart1
 55mfio2		spim1, spim0, uart1
 56mfio3		spim1
 57mfio4		spim1
 58mfio5		spim1
 59mfio6		spim1
 60mfio7		spim1
 61mfio8		spim0
 62mfio9		spim0
 63mfio10		spim0
 64mfio11		spis
 65mfio12		spis
 66mfio13		spis
 67mfio14		spis
 68mfio15		sdhost, mips_trace_clk, mips_trace_data
 69mfio16		sdhost, mips_trace_dint, mips_trace_data
 70mfio17		sdhost, mips_trace_trigout, mips_trace_data
 71mfio18		sdhost, mips_trace_trigin, mips_trace_data
 72mfio19		sdhost, mips_trace_dm, mips_trace_data
 73mfio20		sdhost, mips_trace_probe_n, mips_trace_data
 74mfio21		sdhost, mips_trace_data
 75mfio22		sdhost, mips_trace_data
 76mfio23		sdhost
 77mfio24		sdhost
 78mfio25		sdhost
 79mfio26		sdhost
 80mfio27		sdhost
 81mfio28		i2c0, spim0
 82mfio29		i2c0, spim0
 83mfio30		i2c1, spim0
 84mfio31		i2c1, spim1
 85mfio32		i2c2
 86mfio33		i2c2
 87mfio34		i2c3
 88mfio35		i2c3
 89mfio36		i2s_out, audio_clk_in
 90mfio37		i2s_out, debug_raw_cca_ind
 91mfio38		i2s_out, debug_ed_sec20_cca_ind
 92mfio39		i2s_out, debug_ed_sec40_cca_ind
 93mfio40		i2s_out, debug_agc_done_0
 94mfio41		i2s_out, debug_agc_done_1
 95mfio42		i2s_out, debug_ed_cca_ind
 96mfio43		i2s_out, debug_s2l_done
 97mfio44		i2s_out
 98mfio45		i2s_dac_clk, audio_sync
 99mfio46		audio_trigger
100mfio47		i2s_in
101mfio48		i2s_in
102mfio49		i2s_in
103mfio50		i2s_in
104mfio51		i2s_in
105mfio52		i2s_in
106mfio53		i2s_in
107mfio54		i2s_in, spdif_in
108mfio55		uart0, spim0, spim1
109mfio56		uart0, spim0, spim1
110mfio57		uart0, spim0, spim1
111mfio58		uart0, spim1
112mfio59		uart1
113mfio60		uart1
114mfio61		spdif_out
115mfio62		spdif_in
116mfio63		eth, mips_trace_clk, mips_trace_data
117mfio64		eth, mips_trace_dint, mips_trace_data
118mfio65		eth, mips_trace_trigout, mips_trace_data
119mfio66		eth, mips_trace_trigin, mips_trace_data
120mfio67		eth, mips_trace_dm, mips_trace_data
121mfio68		eth, mips_trace_probe_n, mips_trace_data
122mfio69		eth, mips_trace_data
123mfio70		eth, mips_trace_data
124mfio71		eth
125mfio72		ir
126mfio73		pwmpdm, mips_trace_clk, sram_debug
127mfio74		pwmpdm, mips_trace_dint, sram_debug
128mfio75		pwmpdm, mips_trace_trigout, rom_debug
129mfio76		pwmpdm, mips_trace_trigin, rom_debug
130mfio77		mdc_debug, mips_trace_dm, rpu_debug
131mfio78		mdc_debug, mips_trace_probe_n, rpu_debug
132mfio79		ddr_debug, mips_trace_data, mips_debug
133mfio80		ddr_debug, mips_trace_data, mips_debug
134mfio81		dreq0, mips_trace_data, eth_debug
135mfio82		dreq1, mips_trace_data, eth_debug
136mfio83		mips_pll_lock, mips_trace_data, usb_debug
137mfio84		audio_pll_lock, mips_trace_data, usb_debug
138mfio85		rpu_v_pll_lock, mips_trace_data, sdhost_debug
139mfio86		rpu_l_pll_lock, mips_trace_data, sdhost_debug
140mfio87		sys_pll_lock, dreq2, socif_debug
141mfio88		wifi_pll_lock, dreq3, socif_debug
142mfio89		bt_pll_lock, dreq4, dreq5
143tck
144trstn
145tdi
146tms
147tdo
148jtag_comply
149safe_mode
150por_disable
151resetn
152
153Example:
154--------
155pinctrl@18101c00 {
156	compatible = "img,pistachio-system-pinctrl";
157	reg = <0x18101C00 0x400>;
158
159	gpio0: gpio0 {
160		interrupts = <GIC_SHARED 71 IRQ_TYPE_LEVEL_HIGH>;
161
162		gpio-controller;
163		#gpio-cells = <2>;
164
165		interrupt-controller;
166		#interrupt-cells = <2>;
167	};
168
169	...
170
171	gpio5: gpio5 {
172		interrupts = <GIC_SHARED 76 IRQ_TYPE_LEVEL_HIGH>;
173
174		gpio-controller;
175		#gpio-cells = <2>;
176
177		interrupt-controller;
178		#interrupt-cells = <2>;
179	};
180
181	...
182
183	uart0_xfer: uart0-xfer {
184		uart0-rxd {
185			pins = "mfio55";
186			function = "uart0";
187		};
188		uart0-txd {
189			pins = "mfio56";
190			function = "uart0";
191		};
192	};
193
194	uart0_rts_cts: uart0-rts-cts {
195		uart0-rts {
196			  pins = "mfio57";
197			  function = "uart0";
198		};
199		uart0-cts {
200			  pins = "mfio58";
201			  function = "uart0";
202		};
203	};
204};
205
206uart@... {
207	...
208	pinctrl-names = "default";
209	pinctrl-0 = <&uart0_xfer>, <&uart0_rts_cts>;
210	...
211};
212
213usb_vbus: fixed-regulator {
214	...
215	gpio = <&gpio5 6 GPIO_ACTIVE_HIGH>;
216	...
217};
~/ Read-only file preview.