18c2ecf20Sopenharmony_ciLantiq FALCON pinmux controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- compatible: "lantiq,pinctrl-falcon" 58c2ecf20Sopenharmony_ci- reg: Should contain the physical address and length of the gpio/pinmux 68c2ecf20Sopenharmony_ci register range 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciPlease refer to pinctrl-bindings.txt in this directory for details of the 98c2ecf20Sopenharmony_cicommon pinctrl bindings used by client devices, including the meaning of the 108c2ecf20Sopenharmony_ciphrase "pin configuration node". 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciLantiq's pin configuration nodes act as a container for an arbitrary number of 138c2ecf20Sopenharmony_cisubnodes. Each of these subnodes represents some desired configuration for a 148c2ecf20Sopenharmony_cipin, a group, or a list of pins or groups. This configuration can include the 158c2ecf20Sopenharmony_cimux function to select on those group(s), and two pin configuration parameters: 168c2ecf20Sopenharmony_cipull-up and open-drain 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciThe name of each subnode is not important as long as it is unique; all subnodes 198c2ecf20Sopenharmony_cishould be enumerated and processed purely based on their content. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciEach subnode only affects those parameters that are explicitly listed. In 228c2ecf20Sopenharmony_ciother words, a subnode that lists a mux function but no pin configuration 238c2ecf20Sopenharmony_ciparameters implies no information about any pin configuration parameters. 248c2ecf20Sopenharmony_ciSimilarly, a pin subnode that describes a pullup parameter implies no 258c2ecf20Sopenharmony_ciinformation about e.g. the mux function. 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciWe support 2 types of nodes. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciDefinition of mux function groups: 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ciRequired subnode-properties: 328c2ecf20Sopenharmony_ci- lantiq,groups : An array of strings. Each string contains the name of a group. 338c2ecf20Sopenharmony_ci Valid values for these names are listed below. 348c2ecf20Sopenharmony_ci- lantiq,function: A string containing the name of the function to mux to the 358c2ecf20Sopenharmony_ci group. Valid values for function names are listed below. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciValid values for group and function names: 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci mux groups: 408c2ecf20Sopenharmony_ci por, ntr, ntr8k, hrst, mdio, bootled, asc0, spi, spi cs0, spi cs1, i2c, 418c2ecf20Sopenharmony_ci jtag, slic, pcm, asc1 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci functions: 448c2ecf20Sopenharmony_ci rst, ntr, mdio, led, asc, spi, i2c, jtag, slic, pcm 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciDefinition of pin configurations: 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ciRequired subnode-properties: 508c2ecf20Sopenharmony_ci- lantiq,pins : An array of strings. Each string contains the name of a pin. 518c2ecf20Sopenharmony_ci Valid values for these names are listed below. 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciOptional subnode-properties: 548c2ecf20Sopenharmony_ci- lantiq,pull: Integer, representing the pull-down/up to apply to the pin. 558c2ecf20Sopenharmony_ci 0: none, 1: down 568c2ecf20Sopenharmony_ci- lantiq,drive-current: Boolean, enables drive-current 578c2ecf20Sopenharmony_ci- lantiq,slew-rate: Boolean, enables slew-rate 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciExample: 608c2ecf20Sopenharmony_ci pinmux0 { 618c2ecf20Sopenharmony_ci compatible = "lantiq,pinctrl-falcon"; 628c2ecf20Sopenharmony_ci pinctrl-names = "default"; 638c2ecf20Sopenharmony_ci pinctrl-0 = <&state_default>; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci state_default: pinmux { 668c2ecf20Sopenharmony_ci asc0 { 678c2ecf20Sopenharmony_ci lantiq,groups = "asc0"; 688c2ecf20Sopenharmony_ci lantiq,function = "asc"; 698c2ecf20Sopenharmony_ci }; 708c2ecf20Sopenharmony_ci ntr { 718c2ecf20Sopenharmony_ci lantiq,groups = "ntr8k"; 728c2ecf20Sopenharmony_ci lantiq,function = "ntr"; 738c2ecf20Sopenharmony_ci }; 748c2ecf20Sopenharmony_ci i2c { 758c2ecf20Sopenharmony_ci lantiq,groups = "i2c"; 768c2ecf20Sopenharmony_ci lantiq,function = "i2c"; 778c2ecf20Sopenharmony_ci }; 788c2ecf20Sopenharmony_ci hrst { 798c2ecf20Sopenharmony_ci lantiq,groups = "hrst"; 808c2ecf20Sopenharmony_ci lantiq,function = "rst"; 818c2ecf20Sopenharmony_ci }; 828c2ecf20Sopenharmony_ci }; 838c2ecf20Sopenharmony_ci }; 84