162306a36Sopenharmony_ciLantiq FALCON pinmux controller 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciRequired properties: 462306a36Sopenharmony_ci- compatible: "lantiq,pinctrl-falcon" 562306a36Sopenharmony_ci- reg: Should contain the physical address and length of the gpio/pinmux 662306a36Sopenharmony_ci register range 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciPlease refer to pinctrl-bindings.txt in this directory for details of the 962306a36Sopenharmony_cicommon pinctrl bindings used by client devices, including the meaning of the 1062306a36Sopenharmony_ciphrase "pin configuration node". 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciLantiq's pin configuration nodes act as a container for an arbitrary number of 1362306a36Sopenharmony_cisubnodes. Each of these subnodes represents some desired configuration for a 1462306a36Sopenharmony_cipin, a group, or a list of pins or groups. This configuration can include the 1562306a36Sopenharmony_cimux function to select on those group(s), and two pin configuration parameters: 1662306a36Sopenharmony_cipull-up and open-drain 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciThe name of each subnode is not important as long as it is unique; all subnodes 1962306a36Sopenharmony_cishould be enumerated and processed purely based on their content. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciEach subnode only affects those parameters that are explicitly listed. In 2262306a36Sopenharmony_ciother words, a subnode that lists a mux function but no pin configuration 2362306a36Sopenharmony_ciparameters implies no information about any pin configuration parameters. 2462306a36Sopenharmony_ciSimilarly, a pin subnode that describes a pullup parameter implies no 2562306a36Sopenharmony_ciinformation about e.g. the mux function. 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciWe support 2 types of nodes. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciDefinition of mux function groups: 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciRequired subnode-properties: 3262306a36Sopenharmony_ci- lantiq,groups : An array of strings. Each string contains the name of a group. 3362306a36Sopenharmony_ci Valid values for these names are listed below. 3462306a36Sopenharmony_ci- lantiq,function: A string containing the name of the function to mux to the 3562306a36Sopenharmony_ci group. Valid values for function names are listed below. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciValid values for group and function names: 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci mux groups: 4062306a36Sopenharmony_ci por, ntr, ntr8k, hrst, mdio, bootled, asc0, spi, spi cs0, spi cs1, i2c, 4162306a36Sopenharmony_ci jtag, slic, pcm, asc1 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci functions: 4462306a36Sopenharmony_ci rst, ntr, mdio, led, asc, spi, i2c, jtag, slic, pcm 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciDefinition of pin configurations: 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciRequired subnode-properties: 5062306a36Sopenharmony_ci- lantiq,pins : An array of strings. Each string contains the name of a pin. 5162306a36Sopenharmony_ci Valid values for these names are listed below. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciOptional subnode-properties: 5462306a36Sopenharmony_ci- lantiq,pull: Integer, representing the pull-down/up to apply to the pin. 5562306a36Sopenharmony_ci 0: none, 1: down 5662306a36Sopenharmony_ci- lantiq,drive-current: Boolean, enables drive-current 5762306a36Sopenharmony_ci- lantiq,slew-rate: Boolean, enables slew-rate 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ciExample: 6062306a36Sopenharmony_ci pinmux0 { 6162306a36Sopenharmony_ci compatible = "lantiq,pinctrl-falcon"; 6262306a36Sopenharmony_ci pinctrl-names = "default"; 6362306a36Sopenharmony_ci pinctrl-0 = <&state_default>; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci state_default: pinmux { 6662306a36Sopenharmony_ci asc0 { 6762306a36Sopenharmony_ci lantiq,groups = "asc0"; 6862306a36Sopenharmony_ci lantiq,function = "asc"; 6962306a36Sopenharmony_ci }; 7062306a36Sopenharmony_ci ntr { 7162306a36Sopenharmony_ci lantiq,groups = "ntr8k"; 7262306a36Sopenharmony_ci lantiq,function = "ntr"; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci i2c { 7562306a36Sopenharmony_ci lantiq,groups = "i2c"; 7662306a36Sopenharmony_ci lantiq,function = "i2c"; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci hrst { 7962306a36Sopenharmony_ci lantiq,groups = "hrst"; 8062306a36Sopenharmony_ci lantiq,function = "rst"; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci }; 84