blob: f0d8e486a07da7bcedc2f431e236a5a6c8217146 [file] [log] [blame]
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/socionext,uniphier-pcie-ep.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Socionext UniPhier PCIe endpoint controller
description: |
UniPhier PCIe endpoint controller is based on the Synopsys DesignWare
PCI core. It shares common features with the PCIe DesignWare core and
inherits common properties defined in
Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml.
maintainers:
- Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
properties:
compatible:
enum:
- socionext,uniphier-pro5-pcie-ep
- socionext,uniphier-nx1-pcie-ep
reg:
minItems: 4
maxItems: 5
reg-names:
minItems: 4
items:
- const: dbi
- const: dbi2
- const: link
- const: addr_space
- const: atu
clocks:
minItems: 1
maxItems: 2
clock-names: true
resets:
minItems: 1
maxItems: 2
reset-names: true
num-ib-windows:
const: 16
num-ob-windows:
const: 16
num-lanes: true
phys:
maxItems: 1
phy-names:
const: pcie-phy
allOf:
- $ref: /schemas/pci/snps,dw-pcie-ep.yaml#
- if:
properties:
compatible:
contains:
const: socionext,uniphier-pro5-pcie-ep
then:
properties:
reg:
maxItems: 4
reg-names:
maxItems: 4
clocks:
minItems: 2
clock-names:
items:
- const: gio
- const: link
resets:
minItems: 2
reset-names:
items:
- const: gio
- const: link
else:
properties:
reg:
minItems: 5
reg-names:
minItems: 5
clocks:
maxItems: 1
clock-names:
const: link
resets:
maxItems: 1
reset-names:
const: link
required:
- compatible
- reg
- reg-names
- clocks
- clock-names
- resets
- reset-names
unevaluatedProperties: false
examples:
- |
pcie_ep: pcie-ep@66000000 {
compatible = "socionext,uniphier-pro5-pcie-ep";
reg-names = "dbi", "dbi2", "link", "addr_space";
reg = <0x66000000 0x1000>, <0x66001000 0x1000>,
<0x66010000 0x10000>, <0x67000000 0x400000>;
clock-names = "gio", "link";
clocks = <&sys_clk 12>, <&sys_clk 24>;
reset-names = "gio", "link";
resets = <&sys_rst 12>, <&sys_rst 24>;
num-ib-windows = <16>;
num-ob-windows = <16>;
num-lanes = <4>;
phy-names = "pcie-phy";
phys = <&pcie_phy>;
};