123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352 |
- ST Ericsson abx500 pinmux controller
- Required properties:
- - compatible: "stericsson,ab8500-gpio", "stericsson,ab8540-gpio",
- "stericsson,ab8505-gpio", "stericsson,ab9540-gpio",
- Please refer to pinctrl-bindings.txt in this directory for details of the
- common pinctrl bindings used by client devices, including the meaning of the
- phrase "pin configuration node".
- ST Ericsson's pin configuration nodes act as a container for an arbitrary number of
- subnodes. Each of these subnodes represents some desired configuration for a
- pin, a group, or a list of pins or groups. This configuration can include the
- mux function to select on those pin(s)/group(s), and various pin configuration
- parameters, such as input, output, pull up, pull down...
- The name of each subnode is not important; all subnodes should be enumerated
- and processed purely based on their content.
- Required subnode-properties:
- - ste,pins : An array of strings. Each string contains the name of a pin or
- group.
- Optional subnode-properties:
- - ste,function: A string containing the name of the function to mux to the
- pin or group.
- - generic pin configuration option to use. Example :
- default_cfg {
- ste,pins = "GPIO1";
- bias-disable;
- };
- - ste,config: Handle of pin configuration node containing the generic
- pinconfig options to use, as described in pinctrl-bindings.txt in
- this directory. Example :
- pcfg_bias_disable: pcfg_bias_disable {
- bias-disable;
- };
- default_cfg {
- ste,pins = "GPIO1";
- ste.config = <&pcfg_bias_disable>;
- };
- Example board file extract:
- &pinctrl_abx500 {
- pinctrl-names = "default";
- pinctrl-0 = <&sysclkreq2_default_mode>, <&sysclkreq3_default_mode>, <&gpio3_default_mode>, <&sysclkreq6_default_mode>, <&pwmout1_default_mode>, <&pwmout2_default_mode>, <&pwmout3_default_mode>, <&adi1_default_mode>, <&dmic12_default_mode>, <&dmic34_default_mode>, <&dmic56_default_mode>, <&sysclkreq5_default_mode>, <&batremn_default_mode>, <&service_default_mode>, <&pwrctrl0_default_mode>, <&pwrctrl1_default_mode>, <&pwmextvibra1_default_mode>, <&pwmextvibra2_default_mode>, <&gpio51_default_mode>, <&gpio52_default_mode>, <&gpio53_default_mode>, <&gpio54_default_mode>, <&pdmclkdat_default_mode>;
- sysclkreq2 {
- sysclkreq2_default_mode: sysclkreq2_default {
- default_mux {
- ste,function = "sysclkreq";
- ste,pins = "sysclkreq2_d_1";
- };
- default_cfg {
- ste,pins = "GPIO1";
- bias-disable;
- };
- };
- };
- sysclkreq3 {
- sysclkreq3_default_mode: sysclkreq3_default {
- default_mux {
- ste,function = "sysclkreq";
- ste,pins = "sysclkreq3_d_1";
- };
- default_cfg {
- ste,pins = "GPIO2";
- output-low;
- };
- };
- };
- gpio3 {
- gpio3_default_mode: gpio3_default {
- default_mux {
- ste,function = "gpio";
- ste,pins = "gpio3_a_1";
- };
- default_cfg {
- ste,pins = "GPIO3";
- output-low;
- };
- };
- };
- sysclkreq6 {
- sysclkreq6_default_mode: sysclkreq6_default {
- default_mux {
- ste,function = "sysclkreq";
- ste,pins = "sysclkreq6_d_1";
- };
- default_cfg {
- ste,pins = "GPIO4";
- bias-disable;
- };
- };
- };
- pwmout1 {
- pwmout1_default_mode: pwmout1_default {
- default_mux {
- ste,function = "pwmout";
- ste,pins = "pwmout1_d_1";
- };
- default_cfg {
- ste,pins = "GPIO14";
- output-low;
- };
- };
- };
- pwmout2 {
- pwmout2_default_mode: pwmout2_default {
- pwmout2_default_mux {
- ste,function = "pwmout";
- ste,pins = "pwmout2_d_1";
- };
- pwmout2_default_cfg {
- ste,pins = "GPIO15";
- output-low;
- };
- };
- };
- pwmout3 {
- pwmout3_default_mode: pwmout3_default {
- pwmout3_default_mux {
- ste,function = "pwmout";
- ste,pins = "pwmout3_d_1";
- };
- pwmout3_default_cfg {
- ste,pins = "GPIO16";
- output-low;
- };
- };
- };
- adi1 {
- adi1_default_mode: adi1_default {
- adi1_default_mux {
- ste,function = "adi1";
- ste,pins = "adi1_d_1";
- };
- adi1_default_cfg1 {
- ste,pins = "GPIO17","GPIO19","GPIO20";
- bias-disable;
- };
- adi1_default_cfg2 {
- ste,pins = "GPIO18";
- output-low;
- };
- };
- };
- dmic12 {
- dmic12_default_mode: dmic12_default {
- dmic12_default_mux {
- ste,function = "dmic";
- ste,pins = "dmic12_d_1";
- };
- dmic12_default_cfg1 {
- ste,pins = "GPIO27";
- output-low;
- };
- dmic12_default_cfg2 {
- ste,pins = "GPIO28";
- bias-disable;
- };
- };
- };
- dmic34 {
- dmic34_default_mode: dmic34_default {
- dmic34_default_mux {
- ste,function = "dmic";
- ste,pins = "dmic34_d_1";
- };
- dmic34_default_cfg1 {
- ste,pins = "GPIO29";
- output-low;
- };
- dmic34_default_cfg2 {
- ste,pins = "GPIO30";
- bias-disable;{
- };
- };
- };
- dmic56 {
- dmic56_default_mode: dmic56_default {
- dmic56_default_mux {
- ste,function = "dmic";
- ste,pins = "dmic56_d_1";
- };
- dmic56_default_cfg1 {
- ste,pins = "GPIO31";
- output-low;
- };
- dmic56_default_cfg2 {
- ste,pins = "GPIO32";
- bias-disable;
- };
- };
- };
- sysclkreq5 {
- sysclkreq5_default_mode: sysclkreq5_default {
- sysclkreq5_default_mux {
- ste,function = "sysclkreq";
- ste,pins = "sysclkreq5_d_1";
- };
- sysclkreq5_default_cfg {
- ste,pins = "GPIO42";
- output-low;
- };
- };
- };
- batremn {
- batremn_default_mode: batremn_default {
- batremn_default_mux {
- ste,function = "batremn";
- ste,pins = "batremn_d_1";
- };
- batremn_default_cfg {
- ste,pins = "GPIO43";
- bias-disable;
- };
- };
- };
- service {
- service_default_mode: service_default {
- service_default_mux {
- ste,function = "service";
- ste,pins = "service_d_1";
- };
- service_default_cfg {
- ste,pins = "GPIO44";
- bias-disable;
- };
- };
- };
- pwrctrl0 {
- pwrctrl0_default_mux: pwrctrl0_mux {
- pwrctrl0_default_mux {
- ste,function = "pwrctrl";
- ste,pins = "pwrctrl0_d_1";
- };
- };
- pwrctrl0_default_mode: pwrctrl0_default {
- pwrctrl0_default_cfg {
- ste,pins = "GPIO45";
- bias-disable;
- };
- };
- };
- pwrctrl1 {
- pwrctrl1_default_mux: pwrctrl1_mux {
- pwrctrl1_default_mux {
- ste,function = "pwrctrl";
- ste,pins = "pwrctrl1_d_1";
- };
- };
- pwrctrl1_default_mode: pwrctrl1_default {
- pwrctrl1_default_cfg {
- ste,pins = "GPIO46";
- bias-disable;
- };
- };
- };
- pwmextvibra1 {
- pwmextvibra1_default_mode: pwmextvibra1_default {
- pwmextvibra1_default_mux {
- ste,function = "pwmextvibra";
- ste,pins = "pwmextvibra1_d_1";
- };
- pwmextvibra1_default_cfg {
- ste,pins = "GPIO47";
- bias-disable;
- };
- };
- };
- pwmextvibra2 {
- pwmextvibra2_default_mode: pwmextvibra2_default {
- pwmextvibra2_default_mux {
- ste,function = "pwmextvibra";
- ste,pins = "pwmextvibra2_d_1";
- };
- pwmextvibra1_default_cfg {
- ste,pins = "GPIO48";
- bias-disable;
- };
- };
- };
- gpio51 {
- gpio51_default_mode: gpio51_default {
- gpio51_default_mux {
- ste,function = "gpio";
- ste,pins = "gpio51_a_1";
- };
- gpio51_default_cfg {
- ste,pins = "GPIO51";
- output-low;
- };
- };
- };
- gpio52 {
- gpio52_default_mode: gpio52_default {
- gpio52_default_mux {
- ste,function = "gpio";
- ste,pins = "gpio52_a_1";
- };
- gpio52_default_cfg {
- ste,pins = "GPIO52";
- bias-pull-down;
- };
- };
- };
- gpio53 {
- gpio53_default_mode: gpio53_default {
- gpio53_default_mux {
- ste,function = "gpio";
- ste,pins = "gpio53_a_1";
- };
- gpio53_default_cfg {
- ste,pins = "GPIO53";
- bias-pull-down;
- };
- };
- };
- gpio54 {
- gpio54_default_mode: gpio54_default {
- gpio54_default_mux {
- ste,function = "gpio";
- ste,pins = "gpio54_a_1";
- };
- gpio54_default_cfg {
- ste,pins = "GPIO54";
- output-low;
- };
- };
- };
- pdmclkdat {
- pdmclkdat_default_mode: pdmclkdat_default {
- pdmclkdat_default_mux {
- ste,function = "pdm";
- ste,pins = "pdmclkdat_d_1";
- };
- pdmclkdat_default_cfg {
- ste,pins = "GPIO55", "GPIO56";
- bias-disable;
- };
- };
- };
- };
|