17b9ec811SGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 27b9ec811SGeert Uytterhoeven%YAML 1.2 37b9ec811SGeert Uytterhoeven--- 47b9ec811SGeert Uytterhoeven$id: http://devicetree.org/schemas/pinctrl/renesas,pfc.yaml# 57b9ec811SGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml# 67b9ec811SGeert Uytterhoeven 77b9ec811SGeert Uytterhoeventitle: Renesas Pin Function Controller (GPIO and Pin Mux/Config) 87b9ec811SGeert Uytterhoeven 97b9ec811SGeert Uytterhoevenmaintainers: 107b9ec811SGeert Uytterhoeven - Geert Uytterhoeven <geert+renesas@glider.be> 117b9ec811SGeert Uytterhoeven 127b9ec811SGeert Uytterhoevendescription: 137b9ec811SGeert Uytterhoeven The Pin Function Controller (PFC) is a Pin Mux/Config controller. 147b9ec811SGeert Uytterhoeven On SH/R-Mobile SoCs it also acts as a GPIO controller. 157b9ec811SGeert Uytterhoeven 167b9ec811SGeert Uytterhoevenproperties: 177b9ec811SGeert Uytterhoeven compatible: 187b9ec811SGeert Uytterhoeven enum: 197b9ec811SGeert Uytterhoeven - renesas,pfc-emev2 # EMMA Mobile EV2 207b9ec811SGeert Uytterhoeven - renesas,pfc-r8a73a4 # R-Mobile APE6 217b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7740 # R-Mobile A1 227b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7742 # RZ/G1H 237b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7743 # RZ/G1M 247b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7744 # RZ/G1N 257b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7745 # RZ/G1E 267b9ec811SGeert Uytterhoeven - renesas,pfc-r8a77470 # RZ/G1C 277b9ec811SGeert Uytterhoeven - renesas,pfc-r8a774a1 # RZ/G2M 287b9ec811SGeert Uytterhoeven - renesas,pfc-r8a774b1 # RZ/G2N 297b9ec811SGeert Uytterhoeven - renesas,pfc-r8a774c0 # RZ/G2E 307b9ec811SGeert Uytterhoeven - renesas,pfc-r8a774e1 # RZ/G2H 317b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7778 # R-Car M1 327b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7779 # R-Car H1 337b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7790 # R-Car H2 347b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7791 # R-Car M2-W 357b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7792 # R-Car V2H 367b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7793 # R-Car M2-N 377b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7794 # R-Car E2 387b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7795 # R-Car H3 397b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7796 # R-Car M3-W 407b9ec811SGeert Uytterhoeven - renesas,pfc-r8a77961 # R-Car M3-W+ 417b9ec811SGeert Uytterhoeven - renesas,pfc-r8a77965 # R-Car M3-N 427b9ec811SGeert Uytterhoeven - renesas,pfc-r8a77970 # R-Car V3M 437b9ec811SGeert Uytterhoeven - renesas,pfc-r8a77980 # R-Car V3H 447b9ec811SGeert Uytterhoeven - renesas,pfc-r8a77990 # R-Car E3 457b9ec811SGeert Uytterhoeven - renesas,pfc-r8a77995 # R-Car D3 4688a1590bSUlrich Hecht - renesas,pfc-r8a779a0 # R-Car V3U 4764d45eddSLUU HOAI - renesas,pfc-r8a779f0 # R-Car S4-8 481929683eSKuninori Morimoto - renesas,pfc-r8a779g0 # R-Car V4H 497b9ec811SGeert Uytterhoeven - renesas,pfc-sh73a0 # SH-Mobile AG5 507b9ec811SGeert Uytterhoeven 517b9ec811SGeert Uytterhoeven reg: 527b9ec811SGeert Uytterhoeven minItems: 1 5388a1590bSUlrich Hecht maxItems: 10 547b9ec811SGeert Uytterhoeven 557b9ec811SGeert Uytterhoeven gpio-controller: true 567b9ec811SGeert Uytterhoeven 577b9ec811SGeert Uytterhoeven '#gpio-cells': 587b9ec811SGeert Uytterhoeven const: 2 597b9ec811SGeert Uytterhoeven 607b9ec811SGeert Uytterhoeven gpio-ranges: 617b9ec811SGeert Uytterhoeven minItems: 1 627b9ec811SGeert Uytterhoeven maxItems: 16 637b9ec811SGeert Uytterhoeven 647b9ec811SGeert Uytterhoeven interrupts-extended: 657b9ec811SGeert Uytterhoeven minItems: 32 667b9ec811SGeert Uytterhoeven maxItems: 64 677b9ec811SGeert Uytterhoeven description: 687b9ec811SGeert Uytterhoeven Specify the interrupts associated with external IRQ pins on SoCs where 697b9ec811SGeert Uytterhoeven the PFC acts as a GPIO controller. It must contain one interrupt per 707b9ec811SGeert Uytterhoeven external IRQ, sorted by external IRQ number. 717b9ec811SGeert Uytterhoeven 727b9ec811SGeert Uytterhoeven power-domains: 737b9ec811SGeert Uytterhoeven maxItems: 1 747b9ec811SGeert Uytterhoeven 75c09acbc4SRafał MiłeckiallOf: 76*49cd1dd1SRob Herring - $ref: pinctrl.yaml# 77c09acbc4SRafał Miłecki 787b9ec811SGeert Uytterhoevenrequired: 797b9ec811SGeert Uytterhoeven - compatible 807b9ec811SGeert Uytterhoeven - reg 817b9ec811SGeert Uytterhoeven 827b9ec811SGeert Uytterhoevenif: 837b9ec811SGeert Uytterhoeven properties: 847b9ec811SGeert Uytterhoeven compatible: 857b9ec811SGeert Uytterhoeven enum: 867b9ec811SGeert Uytterhoeven - renesas,pfc-r8a73a4 877b9ec811SGeert Uytterhoeven - renesas,pfc-r8a7740 887b9ec811SGeert Uytterhoeven - renesas,pfc-sh73a0 897b9ec811SGeert Uytterhoeventhen: 907b9ec811SGeert Uytterhoeven required: 917b9ec811SGeert Uytterhoeven - interrupts-extended 927b9ec811SGeert Uytterhoeven - gpio-controller 937b9ec811SGeert Uytterhoeven - '#gpio-cells' 947b9ec811SGeert Uytterhoeven - gpio-ranges 957b9ec811SGeert Uytterhoeven - power-domains 967b9ec811SGeert Uytterhoeven 977b9ec811SGeert UytterhoevenadditionalProperties: 987b9ec811SGeert Uytterhoeven anyOf: 997b9ec811SGeert Uytterhoeven - type: object 1007b9ec811SGeert Uytterhoeven allOf: 1017b9ec811SGeert Uytterhoeven - $ref: pincfg-node.yaml# 1027b9ec811SGeert Uytterhoeven - $ref: pinmux-node.yaml# 1037b9ec811SGeert Uytterhoeven 1047b9ec811SGeert Uytterhoeven description: 1057b9ec811SGeert Uytterhoeven Pin controller client devices use pin configuration subnodes (children 1067b9ec811SGeert Uytterhoeven and grandchildren) for desired pin configuration. 1077b9ec811SGeert Uytterhoeven Client device subnodes use below standard properties. 1087b9ec811SGeert Uytterhoeven 1097b9ec811SGeert Uytterhoeven properties: 1107b9ec811SGeert Uytterhoeven phandle: true 1117b9ec811SGeert Uytterhoeven function: true 1127b9ec811SGeert Uytterhoeven groups: true 1137b9ec811SGeert Uytterhoeven pins: true 1147b9ec811SGeert Uytterhoeven bias-disable: true 1157b9ec811SGeert Uytterhoeven bias-pull-down: true 1167b9ec811SGeert Uytterhoeven bias-pull-up: true 1177b9ec811SGeert Uytterhoeven drive-strength: 1187b9ec811SGeert Uytterhoeven enum: [ 3, 6, 9, 12, 15, 18, 21, 24 ] # Superset of supported values 1197b9ec811SGeert Uytterhoeven power-source: 1207b9ec811SGeert Uytterhoeven enum: [ 1800, 3300 ] 1217b9ec811SGeert Uytterhoeven gpio-hog: true 1227b9ec811SGeert Uytterhoeven gpios: true 1237b9ec811SGeert Uytterhoeven input: true 1247b9ec811SGeert Uytterhoeven output-high: true 1257b9ec811SGeert Uytterhoeven output-low: true 1267b9ec811SGeert Uytterhoeven 1277b9ec811SGeert Uytterhoeven additionalProperties: false 1287b9ec811SGeert Uytterhoeven 1297b9ec811SGeert Uytterhoeven - type: object 1307b9ec811SGeert Uytterhoeven properties: 1317b9ec811SGeert Uytterhoeven phandle: true 1327b9ec811SGeert Uytterhoeven 1337b9ec811SGeert Uytterhoeven additionalProperties: 1347b9ec811SGeert Uytterhoeven $ref: "#/additionalProperties/anyOf/0" 1357b9ec811SGeert Uytterhoeven 1367b9ec811SGeert Uytterhoevenexamples: 1377b9ec811SGeert Uytterhoeven - | 1387b9ec811SGeert Uytterhoeven pfc: pinctrl@e6050000 { 1397b9ec811SGeert Uytterhoeven compatible = "renesas,pfc-r8a7740"; 1407b9ec811SGeert Uytterhoeven reg = <0xe6050000 0x8000>, 1417b9ec811SGeert Uytterhoeven <0xe605800c 0x20>; 1427b9ec811SGeert Uytterhoeven gpio-controller; 1437b9ec811SGeert Uytterhoeven #gpio-cells = <2>; 1447b9ec811SGeert Uytterhoeven gpio-ranges = <&pfc 0 0 212>; 1457b9ec811SGeert Uytterhoeven interrupts-extended = 1467b9ec811SGeert Uytterhoeven <&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>, 1477b9ec811SGeert Uytterhoeven <&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>, 1487b9ec811SGeert Uytterhoeven <&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>, 1497b9ec811SGeert Uytterhoeven <&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>, 1507b9ec811SGeert Uytterhoeven <&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>, 1517b9ec811SGeert Uytterhoeven <&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>, 1527b9ec811SGeert Uytterhoeven <&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>, 1537b9ec811SGeert Uytterhoeven <&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>; 1547b9ec811SGeert Uytterhoeven power-domains = <&pd_c5>; 1557b9ec811SGeert Uytterhoeven 156cdfd8606SKrzysztof Kozlowski lcd0-mux-hog { 1577b9ec811SGeert Uytterhoeven /* DBGMD/LCDC0/FSIA MUX */ 1587b9ec811SGeert Uytterhoeven gpio-hog; 1597b9ec811SGeert Uytterhoeven gpios = <176 0>; 1607b9ec811SGeert Uytterhoeven output-high; 1617b9ec811SGeert Uytterhoeven }; 1627b9ec811SGeert Uytterhoeven }; 1637b9ec811SGeert Uytterhoeven 1647b9ec811SGeert Uytterhoeven - | 1657b9ec811SGeert Uytterhoeven pinctrl@e6060000 { 1667b9ec811SGeert Uytterhoeven compatible = "renesas,pfc-r8a7795"; 1677b9ec811SGeert Uytterhoeven reg = <0xe6060000 0x50c>; 1687b9ec811SGeert Uytterhoeven 1697b9ec811SGeert Uytterhoeven avb_pins: avb { 1707b9ec811SGeert Uytterhoeven mux { 1717b9ec811SGeert Uytterhoeven groups = "avb_link", "avb_mdio", "avb_mii"; 1727b9ec811SGeert Uytterhoeven function = "avb"; 1737b9ec811SGeert Uytterhoeven }; 1747b9ec811SGeert Uytterhoeven 1757b9ec811SGeert Uytterhoeven pins_mdio { 1767b9ec811SGeert Uytterhoeven groups = "avb_mdio"; 1777b9ec811SGeert Uytterhoeven drive-strength = <24>; 1787b9ec811SGeert Uytterhoeven }; 1797b9ec811SGeert Uytterhoeven 1807b9ec811SGeert Uytterhoeven pins_mii_tx { 1817b9ec811SGeert Uytterhoeven pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", 1827b9ec811SGeert Uytterhoeven "PIN_AVB_TD0", "PIN_AVB_TD1", "PIN_AVB_TD2", 1837b9ec811SGeert Uytterhoeven "PIN_AVB_TD3"; 1847b9ec811SGeert Uytterhoeven drive-strength = <12>; 1857b9ec811SGeert Uytterhoeven }; 1867b9ec811SGeert Uytterhoeven }; 1877b9ec811SGeert Uytterhoeven 1887b9ec811SGeert Uytterhoeven keys_pins: keys { 1897b9ec811SGeert Uytterhoeven pins = "GP_5_17", "GP_5_20", "GP_5_22", "GP_2_1"; 1907b9ec811SGeert Uytterhoeven bias-pull-up; 1917b9ec811SGeert Uytterhoeven }; 1927b9ec811SGeert Uytterhoeven 1937b9ec811SGeert Uytterhoeven sdhi0_pins: sd0 { 1947b9ec811SGeert Uytterhoeven groups = "sdhi0_data4", "sdhi0_ctrl"; 1957b9ec811SGeert Uytterhoeven function = "sdhi0"; 1967b9ec811SGeert Uytterhoeven power-source = <3300>; 1977b9ec811SGeert Uytterhoeven }; 1987b9ec811SGeert Uytterhoeven }; 199