123 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/pinctrl/sophgo,cv1800-pinctrl.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Sophgo CV1800 Pin Controller8 9maintainers:10 - Inochi Amaoto <inochiama@outlook.com>11 12properties:13 compatible:14 enum:15 - sophgo,cv1800b-pinctrl16 - sophgo,cv1812h-pinctrl17 - sophgo,sg2000-pinctrl18 - sophgo,sg2002-pinctrl19 20 reg:21 items:22 - description: pinctrl for system domain23 - description: pinctrl for rtc domain24 25 reg-names:26 items:27 - const: sys28 - const: rtc29 30 resets:31 maxItems: 132 33patternProperties:34 '-cfg$':35 type: object36 description:37 A pinctrl node should contain at least one subnode representing the38 pinctrl groups available on the machine.39 40 additionalProperties: false41 42 patternProperties:43 '-pins$':44 type: object45 description: |46 Each subnode will list the pins it needs, and how they should47 be configured, with regard to muxer configuration, bias, input48 enable/disable, input schmitt trigger, slew-rate, drive strength49 and bus hold state. In addition, all pins in the same subnode50 should have the same power domain. For configuration detail,51 refer to https://github.com/sophgo/sophgo-doc/.52 53 allOf:54 - $ref: pincfg-node.yaml#55 - $ref: pinmux-node.yaml#56 57 properties:58 pinmux:59 description: |60 The list of GPIOs and their mux settings that properties in the61 node apply to. This should be set using the GPIOMUX or GPIOMUX262 macro.63 64 bias-pull-up:65 type: boolean66 67 bias-pull-down:68 type: boolean69 70 drive-strength-microamp:71 description: typical current when output high level.72 73 input-schmitt-microvolt:74 description: typical threshold for schmitt trigger.75 76 power-source:77 description: power supplies at X mV.78 enum: [ 1800, 3300 ]79 80 slew-rate:81 description: slew rate for output buffer (0 is fast, 1 is slow)82 enum: [ 0, 1 ]83 84 bias-bus-hold: true85 86 required:87 - pinmux88 - power-source89 90 additionalProperties: false91 92required:93 - compatible94 - reg95 - reg-names96 97additionalProperties: false98 99examples:100 - |101 #include <dt-bindings/pinctrl/pinctrl-cv1800b.h>102 103 pinctrl@3001000 {104 compatible = "sophgo,cv1800b-pinctrl";105 reg = <0x03001000 0x1000>,106 <0x05027000 0x1000>;107 reg-names = "sys", "rtc";108 109 uart0_cfg: uart0-cfg {110 uart0-pins {111 pinmux = <PINMUX(PIN_UART0_TX, 0)>,112 <PINMUX(PIN_UART0_RX, 0)>;113 bias-pull-up;114 drive-strength-microamp = <10800>;115 input-schmitt-microvolt = <0>;116 power-source = <3300>;117 slew-rate = <0>;118 };119 };120 };121 122...123