xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/toshiba,visconti-pinctrl.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
16be33864SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
26be33864SEmmanuel Vadot%YAML 1.2
36be33864SEmmanuel Vadot---
46be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/toshiba,visconti-pinctrl.yaml#
56be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
66be33864SEmmanuel Vadot
76be33864SEmmanuel Vadottitle: Toshiba Visconti TMPV770x pin mux/config controller
86be33864SEmmanuel Vadot
96be33864SEmmanuel Vadotmaintainers:
106be33864SEmmanuel Vadot  - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
116be33864SEmmanuel Vadot
126be33864SEmmanuel Vadotdescription:
136be33864SEmmanuel Vadot  Toshiba's Visconti ARM SoC a pin mux/config controller.
146be33864SEmmanuel Vadot
156be33864SEmmanuel Vadotproperties:
166be33864SEmmanuel Vadot  compatible:
176be33864SEmmanuel Vadot    enum:
186be33864SEmmanuel Vadot      - toshiba,tmpv7708-pinctrl
196be33864SEmmanuel Vadot
206be33864SEmmanuel Vadot  reg:
216be33864SEmmanuel Vadot    maxItems: 1
226be33864SEmmanuel Vadot
23e67e8565SEmmanuel VadotallOf:
24*fac71e4eSEmmanuel Vadot  - $ref: pinctrl.yaml#
25e67e8565SEmmanuel Vadot
266be33864SEmmanuel Vadotrequired:
276be33864SEmmanuel Vadot  - compatible
286be33864SEmmanuel Vadot  - reg
296be33864SEmmanuel Vadot
306be33864SEmmanuel VadotpatternProperties:
316be33864SEmmanuel Vadot  '-pins$':
326be33864SEmmanuel Vadot    type: object
336be33864SEmmanuel Vadot    description: |
346be33864SEmmanuel Vadot      A pinctrl node should contain at least one subnodes representing the
356be33864SEmmanuel Vadot      pinctrl groups available on the machine. Each subnode will list the
366be33864SEmmanuel Vadot      pins it needs, and how they should be configured, with regard to muxer
376be33864SEmmanuel Vadot      configuration, pullups, drive strength.
38*fac71e4eSEmmanuel Vadot    $ref: pinmux-node.yaml
397ef62cebSEmmanuel Vadot    additionalProperties: false
406be33864SEmmanuel Vadot
416be33864SEmmanuel Vadot    properties:
426be33864SEmmanuel Vadot      function:
436be33864SEmmanuel Vadot        description:
446be33864SEmmanuel Vadot          Function to mux.
45*fac71e4eSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/string
466be33864SEmmanuel Vadot        enum: [i2c0, i2c1, i2c2, i2c3, i2c4, i2c5, i2c6, i2c7, i2c8,
476be33864SEmmanuel Vadot               spi0, spi1, spi2, spi3, spi4, spi5, spi6,
486be33864SEmmanuel Vadot               uart0, uart1, uart2, uart3, pwm, pcmif_out, pcmif_in]
496be33864SEmmanuel Vadot
506be33864SEmmanuel Vadot      groups:
516be33864SEmmanuel Vadot        description:
526be33864SEmmanuel Vadot          Name of the pin group to use for the functions.
53*fac71e4eSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/string
546be33864SEmmanuel Vadot        enum: [i2c0_grp, i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp,
556be33864SEmmanuel Vadot               i2c5_grp, i2c6_grp, i2c7_grp, i2c8_grp,
566be33864SEmmanuel Vadot               spi0_grp, spi0_cs0_grp, spi0_cs1_grp, spi0_cs2_grp,
576be33864SEmmanuel Vadot               spi1_grp, spi2_grp, spi3_grp, spi4_grp, spi5_grp, spi6_grp,
586be33864SEmmanuel Vadot               uart0_grp, uart1_grp, uart2_grp, uart3_grp,
596be33864SEmmanuel Vadot               pwm0_gpio4_grp, pwm0_gpio8_grp, pwm0_gpio12_grp,
606be33864SEmmanuel Vadot               pwm0_gpio16_grp, pwm1_gpio5_grp, pwm1_gpio9_grp,
616be33864SEmmanuel Vadot               pwm1_gpio13_grp, pwm1_gpio17_grp, pwm2_gpio6_grp,
626be33864SEmmanuel Vadot               pwm2_gpio10_grp, pwm2_gpio14_grp, pwm2_gpio18_grp,
636be33864SEmmanuel Vadot               pwm3_gpio7_grp, pwm3_gpio11_grp, pwm3_gpio15_grp,
646be33864SEmmanuel Vadot               pwm3_gpio19_grp, pcmif_out_grp, pcmif_in_grp]
656be33864SEmmanuel Vadot
666be33864SEmmanuel Vadot      drive-strength:
676be33864SEmmanuel Vadot        enum: [2, 4, 6, 8, 16, 24, 32]
686be33864SEmmanuel Vadot        default: 2
696be33864SEmmanuel Vadot        description:
706be33864SEmmanuel Vadot          Selects the drive strength for the specified pins, in mA.
716be33864SEmmanuel Vadot
726be33864SEmmanuel Vadot      bias-pull-up: true
736be33864SEmmanuel Vadot
746be33864SEmmanuel Vadot      bias-pull-down: true
756be33864SEmmanuel Vadot
766be33864SEmmanuel Vadot      bias-disable: true
776be33864SEmmanuel Vadot
786be33864SEmmanuel VadotadditionalProperties: false
796be33864SEmmanuel Vadot
806be33864SEmmanuel Vadotexamples:
816be33864SEmmanuel Vadot  # Pinmux controller node
826be33864SEmmanuel Vadot  - |
836be33864SEmmanuel Vadot    soc {
846be33864SEmmanuel Vadot        #address-cells = <2>;
856be33864SEmmanuel Vadot        #size-cells = <2>;
866be33864SEmmanuel Vadot
87e67e8565SEmmanuel Vadot        pmux: pinmux@24190000 {
886be33864SEmmanuel Vadot            compatible = "toshiba,tmpv7708-pinctrl";
896be33864SEmmanuel Vadot            reg = <0 0x24190000 0 0x10000>;
906be33864SEmmanuel Vadot
916be33864SEmmanuel Vadot            spi0_pins: spi0-pins {
926be33864SEmmanuel Vadot                function = "spi0";
936be33864SEmmanuel Vadot                groups = "spi0_grp";
946be33864SEmmanuel Vadot            };
956be33864SEmmanuel Vadot        };
966be33864SEmmanuel Vadot    };
97