123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- CSR SiRFatlas7 pinmux controller
- Required properties:
- - compatible : "sirf,atlas7-ioc"
- - reg : Address range of the pinctrl registers
- For example, pinctrl might have properties like the following:
- pinctrl: ioc@18880000 {
- compatible = "sirf,atlas7-ioc";
- reg = <0x18880000 0x1000>;
- a_ac97_pmx: ac97@0 {
- ac97 {
- groups = "audio_ac97_grp";
- function = "audio_ac97";
- };
- };
- ...
- sd2_pmx: sd2@0 {
- sd2 {
- groups = "sd2_grp0";
- function = "sd2";
- };
- };
- ...
- sample0_cfg: sample0@0 {
- sample0 {
- pins = "ldd_0", "ldd_1";
- bias-pull-up;
- };
- };
- sample1_cfg: sample1@0 {
- sample1 {
- pins = "ldd_2", "ldd_3";
- input-schmitt-enable;
- };
- };
- sample2_cfg: sample2@0 {
- sample2 {
- groups = "uart4_nopause_grp";
- bias-pull-down;
- };
- };
- sample3_cfg: sample3@0 {
- sample3 {
- pins = "ldd_4", "ldd_5";
- drive-strength = <2>;
- };
- };
- };
- Please refer to pinctrl-bindings.txt in this directory for details of the common
- pinctrl bindings used by client devices.
- SiRFatlas7's pinmux nodes act as a container for an abitrary number of subnodes.
- Each of these subnodes represents some desired configuration for a group of pins.
- Required subnode-properties:
- - groups : An array of strings. Each string contains the name of a group.
- - function: A string containing the name of the function to mux to the
- group.
- Valid values for group and function names can be found from looking at the
- group and function arrays in driver files:
- drivers/pinctrl/pinctrl-sirf.c
- For example, pinctrl might have subnodes like the following:
- sd0_pmx: sd0@0 {
- sd0 {
- groups = "sd0_grp";
- function = "sd0";
- };
- };
- sd1_pmx0: sd1@0 {
- sd1 {
- groups = "sd1_grp0";
- function = "sd1_m0";
- };
- };
- sd1_pmx1: sd1@1 {
- sd1 {
- groups = "sd1_grp1";
- function = "sd1_m1";
- };
- };
- For a specific board, if it wants to use sd1,
- it can add the following to its board-specific .dts file.
- sd1: sd@0x12340000 {
- pinctrl-names = "default";
- pinctrl-0 = <&sd1_pmx0>;
- }
- or
- sd1: sd@0x12340000 {
- pinctrl-names = "default";
- pinctrl-0 = <&sd1_pmx1>;
- }
|