1 Imagination Technologies Pistachio SoC pin controllers
2 ======================================================
4 The pin controllers on Pistachio are a combined GPIO controller, (GPIO)
5 interrupt controller, and pinmux + pinconf device. The system ("east") pin
6 controller on Pistachio has 99 pins, 90 of which are MFIOs which can be
7 configured as GPIOs. The 90 GPIOs are divided into 6 banks of up to 16 GPIOs
8 each. The GPIO banks are represented as sub-nodes of the pad controller node.
10 Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
11 ../interrupt-controller/interrupts.txt for generic information regarding
12 pin controller, GPIO, and interrupt bindings.
14 Required properties for pin controller node:
15 --------------------------------------------
16 - compatible: "img,pistachio-system-pinctrl".
17 - reg: Address range of the pinctrl registers.
19 Required 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.
31 Note that the N GPIO bank sub-nodes *must* be named gpio0, gpio1, ... gpioN-1.
33 Required 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.
38 Optional 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.
54 mfio1 spim1, spim0, uart1
55 mfio2 spim1, spim0, uart1
68 mfio15 sdhost, mips_trace_clk, mips_trace_data
69 mfio16 sdhost, mips_trace_dint, mips_trace_data
70 mfio17 sdhost, mips_trace_trigout, mips_trace_data
71 mfio18 sdhost, mips_trace_trigin, mips_trace_data
72 mfio19 sdhost, mips_trace_dm, mips_trace_data
73 mfio20 sdhost, mips_trace_probe_n, mips_trace_data
74 mfio21 sdhost, mips_trace_data
75 mfio22 sdhost, mips_trace_data
89 mfio36 i2s_out, audio_clk_in
90 mfio37 i2s_out, debug_raw_cca_ind
91 mfio38 i2s_out, debug_ed_sec20_cca_ind
92 mfio39 i2s_out, debug_ed_sec40_cca_ind
93 mfio40 i2s_out, debug_agc_done_0
94 mfio41 i2s_out, debug_agc_done_1
95 mfio42 i2s_out, debug_ed_cca_ind
96 mfio43 i2s_out, debug_s2l_done
98 mfio45 i2s_dac_clk, audio_sync
107 mfio54 i2s_in, spdif_in
108 mfio55 uart0, spim0, spim1
109 mfio56 uart0, spim0, spim1
110 mfio57 uart0, spim0, spim1
116 mfio63 eth, mips_trace_clk, mips_trace_data
117 mfio64 eth, mips_trace_dint, mips_trace_data
118 mfio65 eth, mips_trace_trigout, mips_trace_data
119 mfio66 eth, mips_trace_trigin, mips_trace_data
120 mfio67 eth, mips_trace_dm, mips_trace_data
121 mfio68 eth, mips_trace_probe_n, mips_trace_data
122 mfio69 eth, mips_trace_data
123 mfio70 eth, mips_trace_data
126 mfio73 pwmpdm, mips_trace_clk, sram_debug
127 mfio74 pwmpdm, mips_trace_dint, sram_debug
128 mfio75 pwmpdm, mips_trace_trigout, rom_debug
129 mfio76 pwmpdm, mips_trace_trigin, rom_debug
130 mfio77 mdc_debug, mips_trace_dm, rpu_debug
131 mfio78 mdc_debug, mips_trace_probe_n, rpu_debug
132 mfio79 ddr_debug, mips_trace_data, mips_debug
133 mfio80 ddr_debug, mips_trace_data, mips_debug
134 mfio81 dreq0, mips_trace_data, eth_debug
135 mfio82 dreq1, mips_trace_data, eth_debug
136 mfio83 mips_pll_lock, mips_trace_data, usb_debug
137 mfio84 audio_pll_lock, mips_trace_data, usb_debug
138 mfio85 rpu_v_pll_lock, mips_trace_data, sdhost_debug
139 mfio86 rpu_l_pll_lock, mips_trace_data, sdhost_debug
140 mfio87 sys_pll_lock, dreq2, socif_debug
141 mfio88 wifi_pll_lock, dreq3, socif_debug
142 mfio89 bt_pll_lock, dreq4, dreq5
156 compatible = "img,pistachio-system-pinctrl";
157 reg = <0x18101C00 0x400>;
160 interrupts = <GIC_SHARED 71 IRQ_TYPE_LEVEL_HIGH>;
165 interrupt-controller;
166 #interrupt-cells = <2>;
172 interrupts = <GIC_SHARED 76 IRQ_TYPE_LEVEL_HIGH>;
177 interrupt-controller;
178 #interrupt-cells = <2>;
183 uart0_xfer: uart0-xfer {
194 uart0_rts_cts: uart0-rts-cts {
208 pinctrl-names = "default";
209 pinctrl-0 = <&uart0_xfer>, <&uart0_rts_cts>;
213 usb_vbus: fixed-regulator {
215 gpio = <&gpio5 6 GPIO_ACTIVE_HIGH>;