1 CSR SiRFprimaII pinmux controller 1 CSR SiRFprimaII pinmux controller 2 2 3 Required properties: 3 Required properties: 4 - compatible : "sirf,prima2-pinctrl" 4 - compatible : "sirf,prima2-pinctrl" 5 - reg : Address range of the pinctrl 5 - reg : Address range of the pinctrl registers 6 - interrupts : Interrupts used by every GPI 6 - interrupts : Interrupts used by every GPIO group 7 - gpio-controller : Indicates this device is a 7 - gpio-controller : Indicates this device is a GPIO controller 8 - interrupt-controller : Marks the device nod 8 - interrupt-controller : Marks the device node as an interrupt controller 9 Optional properties: 9 Optional properties: 10 - sirf,pullups : if n-th bit of m-th bank is s 10 - sirf,pullups : if n-th bit of m-th bank is set, set a pullup on GPIO-n of bank m 11 - sirf,pulldowns : if n-th bit of m-th bank is 11 - sirf,pulldowns : if n-th bit of m-th bank is set, set a pulldown on GPIO-n of bank m 12 12 13 Please refer to pinctrl-bindings.txt in this d 13 Please refer to pinctrl-bindings.txt in this directory for details of the common 14 pinctrl bindings used by client devices. 14 pinctrl bindings used by client devices. 15 15 16 SiRFprimaII's pinmux nodes act as a container 16 SiRFprimaII's pinmux nodes act as a container for an arbitrary number of subnodes. 17 Each of these subnodes represents some desired 17 Each of these subnodes represents some desired configuration for a group of pins. 18 18 19 Required subnode-properties: 19 Required subnode-properties: 20 - sirf,pins : An array of strings. Each string 20 - sirf,pins : An array of strings. Each string contains the name of a group. 21 - sirf,function: A string containing the name 21 - sirf,function: A string containing the name of the function to mux to the 22 group. 22 group. 23 23 24 Valid values for group and function names ca 24 Valid values for group and function names can be found from looking at the 25 group and function arrays in driver files: 25 group and function arrays in driver files: 26 drivers/pinctrl/pinctrl-sirf.c 26 drivers/pinctrl/pinctrl-sirf.c 27 27 28 For example, pinctrl might have subnodes like 28 For example, pinctrl might have subnodes like the following: 29 uart2_pins_a: uart2@0 { 29 uart2_pins_a: uart2@0 { 30 uart { 30 uart { 31 sirf,pins = "uart2grp"; 31 sirf,pins = "uart2grp"; 32 sirf,function = "uart2"; 32 sirf,function = "uart2"; 33 }; 33 }; 34 }; 34 }; 35 uart2_noflow_pins_a: uart2@1 { 35 uart2_noflow_pins_a: uart2@1 { 36 uart { 36 uart { 37 sirf,pins = "uart2_nostreamct 37 sirf,pins = "uart2_nostreamctrlgrp"; 38 sirf,function = "uart2_nostre 38 sirf,function = "uart2_nostreamctrl"; 39 }; 39 }; 40 }; 40 }; 41 41 42 For a specific board, if it wants to use uart2 42 For a specific board, if it wants to use uart2 without hardware flow control, 43 it can add the following to its board-specific 43 it can add the following to its board-specific .dts file. 44 uart2: uart@b0070000 { 44 uart2: uart@b0070000 { 45 pinctrl-names = "default"; 45 pinctrl-names = "default"; 46 pinctrl-0 = <&uart2_noflow_pins_a>; 46 pinctrl-0 = <&uart2_noflow_pins_a>; 47 } 47 }
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.