1408f181eSBarry SongCSR SiRFprimaII pinmux controller 2408f181eSBarry Song 3408f181eSBarry SongRequired properties: 4408f181eSBarry Song- compatible : "sirf,prima2-pinctrl" 5408f181eSBarry Song- reg : Address range of the pinctrl registers 6408f181eSBarry Song- interrupts : Interrupts used by every GPIO group 7408f181eSBarry Song- gpio-controller : Indicates this device is a GPIO controller 8408f181eSBarry Song- interrupt-controller : Marks the device node as an interrupt controller 9fc2b04e7SBarry SongOptional properties: 10fc2b04e7SBarry Song- sirf,pullups : if n-th bit of m-th bank is set, set a pullup on GPIO-n of bank m 11fc2b04e7SBarry Song- sirf,pulldowns : if n-th bit of m-th bank is set, set a pulldown on GPIO-n of bank m 12408f181eSBarry Song 13408f181eSBarry SongPlease refer to pinctrl-bindings.txt in this directory for details of the common 14408f181eSBarry Songpinctrl bindings used by client devices. 15408f181eSBarry Song 16a0e27f51SSoren BrinkmannSiRFprimaII's pinmux nodes act as a container for an arbitrary number of subnodes. 17408f181eSBarry SongEach of these subnodes represents some desired configuration for a group of pins. 18408f181eSBarry Song 19408f181eSBarry SongRequired subnode-properties: 20408f181eSBarry Song- sirf,pins : An array of strings. Each string contains the name of a group. 21408f181eSBarry Song- sirf,function: A string containing the name of the function to mux to the 22408f181eSBarry Song group. 23408f181eSBarry Song 24408f181eSBarry Song Valid values for group and function names can be found from looking at the 25408f181eSBarry Song group and function arrays in driver files: 26408f181eSBarry Song drivers/pinctrl/pinctrl-sirf.c 27408f181eSBarry Song 28408f181eSBarry SongFor example, pinctrl might have subnodes like the following: 29408f181eSBarry Song uart2_pins_a: uart2@0 { 30408f181eSBarry Song uart { 31408f181eSBarry Song sirf,pins = "uart2grp"; 32408f181eSBarry Song sirf,function = "uart2"; 33408f181eSBarry Song }; 34408f181eSBarry Song }; 35408f181eSBarry Song uart2_noflow_pins_a: uart2@1 { 36408f181eSBarry Song uart { 37408f181eSBarry Song sirf,pins = "uart2_nostreamctrlgrp"; 38408f181eSBarry Song sirf,function = "uart2_nostreamctrl"; 39408f181eSBarry Song }; 40408f181eSBarry Song }; 41408f181eSBarry Song 42408f181eSBarry SongFor a specific board, if it wants to use uart2 without hardware flow control, 43408f181eSBarry Songit can add the following to its board-specific .dts file. 44*4c9847b7SMathieu Malaterreuart2: uart@b0070000 { 45408f181eSBarry Song pinctrl-names = "default"; 46408f181eSBarry Song pinctrl-0 = <&uart2_noflow_pins_a>; 47408f181eSBarry Song} 48