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