mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 19:13:47 +02:00
dt-bindings: pinctrl: document polarfire soc mssio pin controller
On Polarfire SoC, the Bank 2 and Bank 4 IOs connected to the Multiprocessor Subsystem (MSS) are controlled by IOMUX_CRs 1 through 6, which determine what function in routed to them, and MSSIO_BANK#_IO_CFG_CRs, which determine the configuration of each pin. Document it, including several custom configuration options that stem from MSS Configurator options (the MSS Configurator is part of the FPGA tooling for this device). "ibufmd" unfortunately is not a 1:1 mapping with an MSS Configurator option, unlike clamp-diode or lockdown, and I do not know the effect of any bits in the field. I have no been able to find an explanation for these bits in documentation. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Linus Walleij <linusw@kernel.org>
This commit is contained in:
parent
43722575e5
commit
6b324d1994
|
|
@ -0,0 +1,109 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/pinctrl/microchip,mpfs-pinctrl-mssio.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip Polarfire SoC MSSIO pinctrl
|
||||
|
||||
maintainers:
|
||||
- Conor Dooley <conor.dooley@microchip.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: microchip,mpfs-pinctrl-mssio
|
||||
- items:
|
||||
- const: microchip,pic64gx-pinctrl-mssio
|
||||
- const: microchip,mpfs-pinctrl-mssio
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
pinctrl-use-default: true
|
||||
|
||||
patternProperties:
|
||||
'-cfg$':
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
patternProperties:
|
||||
'-pins$':
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
allOf:
|
||||
- $ref: pincfg-node.yaml#
|
||||
- $ref: pinmux-node.yaml#
|
||||
|
||||
properties:
|
||||
pins:
|
||||
description:
|
||||
The list of IOs that properties in the pincfg node apply to.
|
||||
|
||||
function:
|
||||
description:
|
||||
A string containing the name of the function to mux for these
|
||||
pins. The "reserved" function tristates a pin.
|
||||
enum: [ sd, emmc, qspi, spi, usb, uart, i2c, can, mdio, misc
|
||||
reserved, gpio, fabric-test, tied-low, tied-high, tristate ]
|
||||
|
||||
bias-bus-hold: true
|
||||
bias-disable: true
|
||||
bias-pull-down: true
|
||||
bias-pull-up: true
|
||||
input-schmitt-enable: true
|
||||
low-power-enable: true
|
||||
|
||||
drive-strength:
|
||||
enum: [ 2, 4, 6, 8, 10, 12, 16, 20 ]
|
||||
|
||||
power-source:
|
||||
description:
|
||||
Which bank voltage to use. This cannot differ for pins in a
|
||||
given bank, the whole bank uses the same voltage.
|
||||
enum: [ 1200000, 1500000, 1800000, 2500000, 3300000 ]
|
||||
|
||||
microchip,clamp-diode:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Reflects the "Clamp Diode" setting in the MSS Configurator for
|
||||
this pin. This setting controls whether or not input voltage
|
||||
clamping should be enabled.
|
||||
|
||||
microchip,ibufmd:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
default: 0
|
||||
description:
|
||||
Reflects the "IBUFMD" bits in the MSS Configurator output files
|
||||
for this pin.
|
||||
|
||||
required:
|
||||
- pins
|
||||
- function
|
||||
- power-source
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pinctrl@204 {
|
||||
compatible = "microchip,mpfs-pinctrl-mssio";
|
||||
reg = <0x204 0x7c>;
|
||||
|
||||
ikrd-spi1-cfg {
|
||||
spi1-pins {
|
||||
pins = <30>, <31>, <32>, <33>;
|
||||
function = "spi";
|
||||
bias-pull-up;
|
||||
drive-strength = <8>;
|
||||
power-source = <3300000>;
|
||||
microchip,ibufmd = <0x1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
|
|
@ -42,6 +42,10 @@ properties:
|
|||
type: object
|
||||
$ref: /schemas/pinctrl/microchip,mpfs-pinctrl-iomux0.yaml
|
||||
|
||||
pinctrl@204:
|
||||
type: object
|
||||
$ref: /schemas/pinctrl/microchip,mpfs-pinctrl-mssio.yaml
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user