123 lines
3.0 KiB
YAML
123 lines
3.0 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pinctrl/sophgo,cv1800-pinctrl.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Sophgo CV1800 Pin Controller
|
|
|
|
maintainers:
|
|
- Inochi Amaoto <inochiama@outlook.com>
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- sophgo,cv1800b-pinctrl
|
|
- sophgo,cv1812h-pinctrl
|
|
- sophgo,sg2000-pinctrl
|
|
- sophgo,sg2002-pinctrl
|
|
|
|
reg:
|
|
items:
|
|
- description: pinctrl for system domain
|
|
- description: pinctrl for rtc domain
|
|
|
|
reg-names:
|
|
items:
|
|
- const: sys
|
|
- const: rtc
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
patternProperties:
|
|
'-cfg$':
|
|
type: object
|
|
description:
|
|
A pinctrl node should contain at least one subnode representing the
|
|
pinctrl groups available on the machine.
|
|
|
|
additionalProperties: false
|
|
|
|
patternProperties:
|
|
'-pins$':
|
|
type: object
|
|
description: |
|
|
Each subnode will list the pins it needs, and how they should
|
|
be configured, with regard to muxer configuration, bias, input
|
|
enable/disable, input schmitt trigger, slew-rate, drive strength
|
|
and bus hold state. In addition, all pins in the same subnode
|
|
should have the same power domain. For configuration detail,
|
|
refer to https://github.com/sophgo/sophgo-doc/.
|
|
|
|
allOf:
|
|
- $ref: pincfg-node.yaml#
|
|
- $ref: pinmux-node.yaml#
|
|
|
|
properties:
|
|
pinmux:
|
|
description: |
|
|
The list of GPIOs and their mux settings that properties in the
|
|
node apply to. This should be set using the PINMUX or PINMUX2
|
|
macro.
|
|
|
|
bias-pull-up:
|
|
type: boolean
|
|
|
|
bias-pull-down:
|
|
type: boolean
|
|
|
|
drive-strength-microamp:
|
|
description: typical current when output high level.
|
|
|
|
input-schmitt-microvolt:
|
|
description: typical threshold for schmitt trigger.
|
|
|
|
power-source:
|
|
description: power supplies at X mV.
|
|
enum: [ 1800, 3300 ]
|
|
|
|
slew-rate:
|
|
description: slew rate for output buffer (0 is fast, 1 is slow)
|
|
enum: [ 0, 1 ]
|
|
|
|
bias-bus-hold: true
|
|
|
|
required:
|
|
- pinmux
|
|
- power-source
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- reg-names
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/pinctrl/pinctrl-cv1800b.h>
|
|
|
|
pinctrl@3001000 {
|
|
compatible = "sophgo,cv1800b-pinctrl";
|
|
reg = <0x03001000 0x1000>,
|
|
<0x05027000 0x1000>;
|
|
reg-names = "sys", "rtc";
|
|
|
|
uart0_cfg: uart0-cfg {
|
|
uart0-pins {
|
|
pinmux = <PINMUX(PIN_UART0_TX, 0)>,
|
|
<PINMUX(PIN_UART0_RX, 0)>;
|
|
bias-pull-up;
|
|
drive-strength-microamp = <10800>;
|
|
input-schmitt-microvolt = <0>;
|
|
power-source = <3300>;
|
|
slew-rate = <0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
...
|