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