summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/pinctrl/pinctrl-mt8186.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'dts/Bindings/pinctrl/pinctrl-mt8186.yaml')
-rw-r--r--dts/Bindings/pinctrl/pinctrl-mt8186.yaml276
1 files changed, 0 insertions, 276 deletions
diff --git a/dts/Bindings/pinctrl/pinctrl-mt8186.yaml b/dts/Bindings/pinctrl/pinctrl-mt8186.yaml
deleted file mode 100644
index 1eeb885ce0..0000000000
--- a/dts/Bindings/pinctrl/pinctrl-mt8186.yaml
+++ /dev/null
@@ -1,276 +0,0 @@
-# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-%YAML 1.2
----
-$id: http://devicetree.org/schemas/pinctrl/pinctrl-mt8186.yaml#
-$schema: http://devicetree.org/meta-schemas/core.yaml#
-
-title: Mediatek MT8186 Pin Controller
-
-maintainers:
- - Sean Wang <sean.wang@mediatek.com>
-
-description: |
- The Mediatek's Pin controller is used to control SoC pins.
-
-properties:
- compatible:
- const: mediatek,mt8186-pinctrl
-
- gpio-controller: true
-
- '#gpio-cells':
- description: |
- Number of cells in GPIO specifier. Since the generic GPIO binding is used,
- the amount of cells must be specified as 2. See the below
- mentioned gpio binding representation for description of particular cells.
- const: 2
-
- gpio-ranges:
- maxItems: 1
-
- gpio-line-names: true
-
- reg:
- description: |
- Physical address base for gpio base registers. There are 8 different GPIO
- physical address base in mt8186.
- maxItems: 8
-
- reg-names:
- description: |
- Gpio base register names.
- items:
- - const: iocfg0
- - const: iocfg_bm
- - const: iocfg_bl
- - const: iocfg_br
- - const: iocfg_lm
- - const: iocfg_rb
- - const: iocfg_tl
- - const: eint
-
- interrupt-controller: true
-
- '#interrupt-cells':
- const: 2
-
- interrupts:
- description: The interrupt outputs to sysirq
- maxItems: 1
-
- mediatek,rsel-resistance-in-si-unit:
- type: boolean
- description: |
- Identifying i2c pins pull up/down type which is RSEL. It can support
- RSEL define or si unit value(ohm) to set different resistance.
-
-# PIN CONFIGURATION NODES
-patternProperties:
- '-pins$':
- type: object
- additionalProperties: false
- patternProperties:
- '^pins':
- type: object
- additionalProperties: false
- description: |
- A pinctrl node should contain at least one subnodes representing the
- pinctrl groups available on the machine. Each subnode will list the
- pins it needs, and how they should be configured, with regard to muxer
- configuration, pullups, drive strength, input enable/disable and
- input schmitt.
- An example of using macro:
- pincontroller {
- /* GPIO0 set as multifunction GPIO0 */
- gpio-pins {
- pins {
- pinmux = <PINMUX_GPIO0__FUNC_GPIO0>;
- }
- };
- /* GPIO128 set as multifunction SDA0 */
- i2c0-pins {
- pins {
- pinmux = <PINMUX_GPIO128__FUNC_SDA0>;
- }
- };
- };
- $ref: "pinmux-node.yaml"
-
- properties:
- pinmux:
- description: |
- Integer array, represents gpio pin number and mux setting.
- Supported pin number and mux varies for different SoCs, and are
- defined as macros in dt-bindings/pinctrl/<soc>-pinfunc.h
- directly.
-
- drive-strength:
- enum: [2, 4, 6, 8, 10, 12, 14, 16]
-
- drive-strength-microamp:
- enum: [125, 250, 500, 1000]
-
- bias-pull-down:
- oneOf:
- - type: boolean
- - enum: [100, 101, 102, 103]
- description: mt8186 pull down PUPD/R0/R1 type define value.
- - enum: [200, 201, 202, 203]
- description: mt8186 pull down RSEL type define value.
- - enum: [75000, 5000]
- description: mt8186 pull down RSEL type si unit value(ohm).
- description: |
- For pull down type is normal, it don't need add RSEL & R1R0 define
- and resistance value.
- For pull down type is PUPD/R0/R1 type, it can add R1R0 define to
- set different resistance. It can support "MTK_PUPD_SET_R1R0_00" &
- "MTK_PUPD_SET_R1R0_01" & "MTK_PUPD_SET_R1R0_10" &
- "MTK_PUPD_SET_R1R0_11" define in mt8186.
- For pull down type is RSEL, it can add RSEL define & resistance
- value(ohm) to set different resistance by identifying property
- "mediatek,rsel-resistance-in-si-unit".
- It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001"
- & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011"
- define in mt8186. It can also support resistance value(ohm)
- "75000" & "5000" in mt8186.
- An example of using RSEL define:
- pincontroller {
- i2c0_pin {
- pins {
- pinmux = <PINMUX_GPIO128__FUNC_SDA0>;
- bias-pull-down = <MTK_PULL_SET_RSEL_001>;
- }
- };
- };
- An example of using si unit resistance value(ohm):
- &pio {
- mediatek,rsel-resistance-in-si-unit;
- }
- pincontroller {
- i2c0_pin {
- pins {
- pinmux = <PINMUX_GPIO128__FUNC_SDA0>;
- bias-pull-down = <75000>;
- }
- };
- };
-
- bias-pull-up:
- oneOf:
- - type: boolean
- - enum: [100, 101, 102, 103]
- description: mt8186 pull up PUPD/R0/R1 type define value.
- - enum: [200, 201, 202, 203]
- description: mt8186 pull up RSEL type define value.
- - enum: [1000, 5000, 10000, 75000]
- description: mt8186 pull up RSEL type si unit value(ohm).
- description: |
- For pull up type is normal, it don't need add RSEL & R1R0 define
- and resistance value.
- For pull up type is PUPD/R0/R1 type, it can add R1R0 define to
- set different resistance. It can support "MTK_PUPD_SET_R1R0_00" &
- "MTK_PUPD_SET_R1R0_01" & "MTK_PUPD_SET_R1R0_10" &
- "MTK_PUPD_SET_R1R0_11" define in mt8186.
- For pull up type is RSEL, it can add RSEL define & resistance
- value(ohm) to set different resistance by identifying property
- "mediatek,rsel-resistance-in-si-unit".
- It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001"
- & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011"
- define in mt8186. It can also support resistance value(ohm)
- "1000" & "5000" & "10000" & "75000" in mt8186.
- An example of using si unit resistance value(ohm):
- &pio {
- mediatek,rsel-resistance-in-si-unit;
- }
- pincontroller {
- i2c0-pins {
- pins {
- pinmux = <PINMUX_GPIO128__FUNC_SDA0>;
- bias-pull-up = <1000>;
- }
- };
- };
-
- bias-disable: true
-
- output-high: true
-
- output-low: true
-
- input-enable: true
-
- input-disable: true
-
- input-schmitt-enable: true
-
- input-schmitt-disable: true
-
- required:
- - pinmux
-
-required:
- - compatible
- - reg
- - interrupts
- - interrupt-controller
- - '#interrupt-cells'
- - gpio-controller
- - '#gpio-cells'
- - gpio-ranges
-
-additionalProperties: false
-
-examples:
- - |
- #include <dt-bindings/pinctrl/mt8186-pinfunc.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
-
- pio: pinctrl@10005000 {
- compatible = "mediatek,mt8186-pinctrl";
- reg = <0x10005000 0x1000>,
- <0x10002000 0x0200>,
- <0x10002200 0x0200>,
- <0x10002400 0x0200>,
- <0x10002600 0x0200>,
- <0x10002A00 0x0200>,
- <0x10002c00 0x0200>,
- <0x1000b000 0x1000>;
- reg-names = "iocfg0", "iocfg_bm", "iocfg_bl",
- "iocfg_br", "iocfg_lm", "iocfg_rb",
- "iocfg_tl", "eint";
- gpio-controller;
- #gpio-cells = <2>;
- gpio-ranges = <&pio 0 0 185>;
- interrupt-controller;
- interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH 0>;
- #interrupt-cells = <2>;
-
- pio-pins {
- pins {
- pinmux = <PINMUX_GPIO0__FUNC_GPIO0>;
- output-low;
- };
- };
-
- spi0-pins {
- pins-spi {
- pinmux = <PINMUX_GPIO0__FUNC_SPI0_CLK_B>,
- <PINMUX_GPIO1__FUNC_SPI0_CSB_B>,
- <PINMUX_GPIO2__FUNC_SPI0_MO_B>;
- bias-disable;
- };
- pins-spi-mi {
- pinmux = <PINMUX_GPIO3__FUNC_SPI0_MI_B>;
- bias-pull-down;
- };
- };
-
- i2c0-pins {
- pins {
- pinmux = <PINMUX_GPIO127__FUNC_SCL0>,
- <PINMUX_GPIO128__FUNC_SDA0>;
- bias-pull-up = <MTK_PULL_SET_RSEL_001>;
- drive-strength-microamp = <1000>;
- };
- };
- };