xref: /openbmc/linux/Documentation/devicetree/bindings/pinctrl/nxp,lpc1850-scu.txt (revision 8c57a5e7b2820f349c95b8c8393fec1e0f4070d2)
1a9ed9eb6SJoachim EastwoodNXP LPC18xx/43xx SCU pin controller Device Tree Bindings
2a9ed9eb6SJoachim Eastwood--------------------------------------------------------
3a9ed9eb6SJoachim Eastwood
4a9ed9eb6SJoachim EastwoodRequired properties:
5a9ed9eb6SJoachim Eastwood- compatible		: Should be "nxp,lpc1850-scu"
6a9ed9eb6SJoachim Eastwood- reg			: Address and length of the register set for the device
7a9ed9eb6SJoachim Eastwood- clocks		: Clock specifier (see clock bindings for details)
8a9ed9eb6SJoachim Eastwood
9a9ed9eb6SJoachim EastwoodThe lpc1850-scu driver uses the generic pin multiplexing and generic pin
10a9ed9eb6SJoachim Eastwoodconfiguration documented in pinctrl-bindings.txt.
11a9ed9eb6SJoachim Eastwood
12a9ed9eb6SJoachim EastwoodThe following generic nodes are supported:
13a9ed9eb6SJoachim Eastwood - function
14a9ed9eb6SJoachim Eastwood - pins
15a9ed9eb6SJoachim Eastwood - bias-disable
16a9ed9eb6SJoachim Eastwood - bias-pull-up
17a9ed9eb6SJoachim Eastwood - bias-pull-down
18a9ed9eb6SJoachim Eastwood - drive-strength
19a9ed9eb6SJoachim Eastwood - input-enable
20a9ed9eb6SJoachim Eastwood - input-disable
21a9ed9eb6SJoachim Eastwood - input-schmitt-enable
22a9ed9eb6SJoachim Eastwood - input-schmitt-disable
23a9ed9eb6SJoachim Eastwood - slew-rate
24a9ed9eb6SJoachim Eastwood
25*0762ddd7SJoachim EastwoodNXP specific properties:
26*0762ddd7SJoachim Eastwood - nxp,gpio-pin-interrupt : Assign pin to gpio pin interrupt controller
27*0762ddd7SJoachim Eastwood			    irq number 0 to 7. See example below.
28*0762ddd7SJoachim Eastwood
29a9ed9eb6SJoachim EastwoodNot all pins support all properties so either refer to the NXP 1850/4350
30a9ed9eb6SJoachim Eastwooduser manual or the pin table in the pinctrl-lpc18xx driver for supported
31a9ed9eb6SJoachim Eastwoodpin properties.
32a9ed9eb6SJoachim Eastwood
33a9ed9eb6SJoachim EastwoodExample:
34a9ed9eb6SJoachim Eastwoodpinctrl: pinctrl@40086000 {
35a9ed9eb6SJoachim Eastwood	compatible = "nxp,lpc1850-scu";
36a9ed9eb6SJoachim Eastwood	reg = <0x40086000 0x1000>;
37a9ed9eb6SJoachim Eastwood	clocks = <&ccu1 CLK_CPU_SCU>;
38a9ed9eb6SJoachim Eastwood
39a9ed9eb6SJoachim Eastwood	i2c0_pins: i2c0-pins {
40a9ed9eb6SJoachim Eastwood		i2c0_pins_cfg {
41a9ed9eb6SJoachim Eastwood			pins = "i2c0_scl", "i2c0_sda";
42a9ed9eb6SJoachim Eastwood			function = "i2c0";
43a9ed9eb6SJoachim Eastwood			input-enable;
44a9ed9eb6SJoachim Eastwood		};
45a9ed9eb6SJoachim Eastwood	};
46a9ed9eb6SJoachim Eastwood
47a9ed9eb6SJoachim Eastwood	uart0_pins: uart0-pins {
48a9ed9eb6SJoachim Eastwood		uart0_rx_cfg {
49a9ed9eb6SJoachim Eastwood			pins = "pf_11";
50a9ed9eb6SJoachim Eastwood			function = "uart0";
51a9ed9eb6SJoachim Eastwood			bias-disable;
52a9ed9eb6SJoachim Eastwood			input-enable;
53a9ed9eb6SJoachim Eastwood		};
54a9ed9eb6SJoachim Eastwood
55a9ed9eb6SJoachim Eastwood		uart0_tx_cfg {
56a9ed9eb6SJoachim Eastwood			pins = "pf_10";
57a9ed9eb6SJoachim Eastwood			function = "uart0";
58a9ed9eb6SJoachim Eastwood			bias-disable;
59a9ed9eb6SJoachim Eastwood		};
60a9ed9eb6SJoachim Eastwood	};
61*0762ddd7SJoachim Eastwood
62*0762ddd7SJoachim Eastwood	gpio_joystick_pins: gpio-joystick-pins {
63*0762ddd7SJoachim Eastwood		gpio_joystick_1_cfg {
64*0762ddd7SJoachim Eastwood			pins =  "p9_0";
65*0762ddd7SJoachim Eastwood			function = "gpio";
66*0762ddd7SJoachim Eastwood			nxp,gpio-pin-interrupt = <0>;
67*0762ddd7SJoachim Eastwood			input-enable;
68*0762ddd7SJoachim Eastwood			bias-disable;
69*0762ddd7SJoachim Eastwood		};
70*0762ddd7SJoachim Eastwood	};
71a9ed9eb6SJoachim Eastwood};
72