Bindings: - DT schema conversions for Samsung clocks, RNG bindings, Qcom Command DB and rmtfs, gpio-restart, i2c-mux-gpio, i2c-mux-pinctl, Tegra I2C and BPMP, pwm-vibrator, Arm DSU, and Cadence macb - DT schema conversions for Broadcom platforms: interrupt controllers, STB GPIO, STB waketimer, STB reset, iProc MDIO mux, iProc PCIe, Cygnus PCIe PHY, PWM, USB BDC, BCM6328 LEDs, TMON, SYSTEMPORT, AMAC, Northstar 2 PCIe PHY, GENET, moca PHY, GISB arbiter, and SATA - Add binding schemas for Tegra210 EMC table, TI DC-DC converters, - Clean-ups of MDIO bus schemas to fix 'unevaluatedProperties' issues - More fixes due to 'unevaluatedProperties' enabling - Data type fixes and clean-ups of binding examples found in preparation to move to validating DTB files directly (instead of intermediate YAML representation. - Vendor prefixes for T-Head Semiconductor, OnePlus, and Sunplus - Add various new compatible strings DT core: - Silence a warning for overlapping reserved memory regions - Reimplement unittest overlay tracking - Fix stack frame size warning in unittest - Clean-ups of early FDT scanning functions - Fix handling of "linux,usable-memory-range" on EFI booted systems - Add support for 'fail' status on CPU nodes - Improve error message in of_phandle_iterator_next() - kbuild: Disable duplicate unit-address warnings for disabled nodes -----BEGIN PGP SIGNATURE----- iQJEBAABCgAuFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmHfCdcQHHJvYmhAa2Vy bmVsLm9yZwAKCRD6+121jbxhw+UZD/0ZMQQ6VF20MW7Gg0bOutd8Q6Q6opjrCG5c nLW5mv8Q+um3sI1ZpwdMI4zAfCmTfeL13ZM9KtJKlJ0o41bgId+kZsezy4I2rN9+ sE1CwA4TninKTJsUkmyQX4fgJRUZ95Eubryfb07sy7nbK3LZQ+t18R5tzVBDpzy4 7hy4eM6mlMxgIJDi7EUboLZslkMM4TGGutLsk5C5T5V5lcWSt3Jj5WZtl5k4Wykq j4i9mU+GGTZi0nGAJQ7lNoLPatZDSVQx5tzNV/Wi8hSwZbn0Kycu+IuWZyihILz/ 9lzB/7tv8fl+xkTaJ5xxaY05HcDeX02yCLzh3PfAHRYdbQ2EkFoaKqJ81SLfAq5t aH87v41wFSrjzynxpppqswXOdqI/jofrHrGlQldnw0VHGTjEfDbyZGRQFPHmuzTG gXaSNKCxppG7ThpXarfu7D4TdYV75n+cBOsC/BBopYgIS2+xmjDA3t5Scks1/4NX 1Hfq9IMF9iYJYc/GNXBWcOrLn9d1ILYt6HrKRQar1NIEFH1Lt0c2aw5WsyvOZ4zx aLHLSbEwnl+2wleyGB9YQkFaaF7N6qcid3u9KFRJP6nTojoaeQaIi3MR9F3LVReZ LV5YfWEcij1zc+lzwgHc6+8bbgFxrKgOC2IL/B6u93u/BO0wmF/54kbEZKaLyX8d a7Iii4IYFw== =2g8v -----END PGP SIGNATURE----- Merge tag 'devicetree-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree updates from Rob Herring: "Bindings: - DT schema conversions for Samsung clocks, RNG bindings, Qcom Command DB and rmtfs, gpio-restart, i2c-mux-gpio, i2c-mux-pinctl, Tegra I2C and BPMP, pwm-vibrator, Arm DSU, and Cadence macb - DT schema conversions for Broadcom platforms: interrupt controllers, STB GPIO, STB waketimer, STB reset, iProc MDIO mux, iProc PCIe, Cygnus PCIe PHY, PWM, USB BDC, BCM6328 LEDs, TMON, SYSTEMPORT, AMAC, Northstar 2 PCIe PHY, GENET, moca PHY, GISB arbiter, and SATA - Add binding schemas for Tegra210 EMC table, TI DC-DC converters, - Clean-ups of MDIO bus schemas to fix 'unevaluatedProperties' issues - More fixes due to 'unevaluatedProperties' enabling - Data type fixes and clean-ups of binding examples found in preparation to move to validating DTB files directly (instead of intermediate YAML representation. - Vendor prefixes for T-Head Semiconductor, OnePlus, and Sunplus - Add various new compatible strings DT core: - Silence a warning for overlapping reserved memory regions - Reimplement unittest overlay tracking - Fix stack frame size warning in unittest - Clean-ups of early FDT scanning functions - Fix handling of "linux,usable-memory-range" on EFI booted systems - Add support for 'fail' status on CPU nodes - Improve error message in of_phandle_iterator_next() - kbuild: Disable duplicate unit-address warnings for disabled nodes" * tag 'devicetree-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (114 commits) dt-bindings: net: mdio: Drop resets/reset-names child properties dt-bindings: clock: samsung: convert S5Pv210 to dtschema dt-bindings: clock: samsung: convert Exynos5410 to dtschema dt-bindings: clock: samsung: convert Exynos5260 to dtschema dt-bindings: clock: samsung: extend Exynos7 bindings with UFS dt-bindings: clock: samsung: convert Exynos7 to dtschema dt-bindings: clock: samsung: convert Exynos5433 to dtschema dt-bindings: i2c: maxim,max96712: Add bindings for Maxim Integrated MAX96712 dt-bindings: iio: adi,ltc2983: Fix 64-bit property sizes dt-bindings: power: maxim,max17040: Fix incorrect type for 'maxim,rcomp' dt-bindings: interrupt-controller: arm,gic-v3: Fix 'interrupts' cell size in example dt-bindings: iio/magnetometer: yamaha,yas530: Fix invalid 'interrupts' in example dt-bindings: clock: imx5: Drop clock consumer node from example dt-bindings: Drop required 'interrupt-parent' dt-bindings: net: ti,dp83869: Drop value on boolean 'ti,max-output-impedance' dt-bindings: net: wireless: mt76: Fix 8-bit property sizes dt-bindings: PCI: snps,dw-pcie-ep: Drop conflicting 'max-functions' schema dt-bindings: i2c: st,stm32-i2c: Make each example a separate entry dt-bindings: net: stm32-dwmac: Make each example a separate entry dt-bindings: net: Cleanup MDIO node schemas ...
310 lines
8.8 KiB
YAML
310 lines
8.8 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/dsa/qca8k.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm Atheros QCA83xx switch family
|
|
|
|
maintainers:
|
|
- John Crispin <john@phrozen.org>
|
|
|
|
description:
|
|
If the QCA8K switch is connect to an SoC's external mdio-bus, each subnode
|
|
describing a port needs to have a valid phandle referencing the internal PHY
|
|
it is connected to. This is because there is no N:N mapping of port and PHY
|
|
ID. To declare the internal mdio-bus configuration, declare an MDIO node in
|
|
the switch node and declare the phandle for the port, referencing the internal
|
|
PHY it is connected to. In this config, an internal mdio-bus is registered and
|
|
the MDIO master is used for communication. Mixed external and internal
|
|
mdio-bus configurations are not supported by the hardware.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- qca,qca8327
|
|
- qca,qca8328
|
|
- qca,qca8334
|
|
- qca,qca8337
|
|
description: |
|
|
qca,qca8328: referenced as AR8328(N)-AK1(A/B) QFN 176 pin package
|
|
qca,qca8327: referenced as AR8327(N)-AL1A DR-QFN 148 pin package
|
|
qca,qca8334: referenced as QCA8334-AL3C QFN 88 pin package
|
|
qca,qca8337: referenced as QCA8337N-AL3(B/C) DR-QFN 148 pin package
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
reset-gpios:
|
|
description:
|
|
GPIO to be used to reset the whole device
|
|
maxItems: 1
|
|
|
|
qca,ignore-power-on-sel:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description:
|
|
Ignore power-on pin strapping to configure LED open-drain or EEPROM
|
|
presence. This is needed for devices with incorrect configuration or when
|
|
the OEM has decided not to use pin strapping and falls back to SW regs.
|
|
|
|
qca,led-open-drain:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description:
|
|
Set LEDs to open-drain mode. This requires the qca,ignore-power-on-sel to
|
|
be set, otherwise the driver will fail at probe. This is required if the
|
|
OEM does not use pin strapping to set this mode and prefers to set it
|
|
using SW regs. The pin strappings related to LED open-drain mode are
|
|
B68 on the QCA832x and B49 on the QCA833x.
|
|
|
|
mdio:
|
|
$ref: /schemas/net/mdio.yaml#
|
|
unevaluatedProperties: false
|
|
description: Qca8k switch have an internal mdio to access switch port.
|
|
If this is not present, the legacy mapping is used and the
|
|
internal mdio access is used.
|
|
With the legacy mapping the reg corresponding to the internal
|
|
mdio is the switch reg with an offset of -1.
|
|
|
|
patternProperties:
|
|
"^(ethernet-)?ports$":
|
|
type: object
|
|
properties:
|
|
'#address-cells':
|
|
const: 1
|
|
'#size-cells':
|
|
const: 0
|
|
|
|
patternProperties:
|
|
"^(ethernet-)?port@[0-6]$":
|
|
type: object
|
|
description: Ethernet switch ports
|
|
|
|
$ref: dsa-port.yaml#
|
|
|
|
properties:
|
|
qca,sgmii-rxclk-falling-edge:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description:
|
|
Set the receive clock phase to falling edge. Mostly commonly used on
|
|
the QCA8327 with CPU port 0 set to SGMII.
|
|
|
|
qca,sgmii-txclk-falling-edge:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description:
|
|
Set the transmit clock phase to falling edge.
|
|
|
|
qca,sgmii-enable-pll:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description:
|
|
For SGMII CPU port, explicitly enable PLL, TX and RX chain along with
|
|
Signal Detection. On the QCA8327 this should not be enabled, otherwise
|
|
the SGMII port will not initialize. When used on the QCA8337, revision 3
|
|
or greater, a warning will be displayed. When the CPU port is set to
|
|
SGMII on the QCA8337, it is advised to set this unless a communication
|
|
issue is observed.
|
|
|
|
unevaluatedProperties: false
|
|
|
|
oneOf:
|
|
- required:
|
|
- ports
|
|
- required:
|
|
- ethernet-ports
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: true
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
mdio {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
external_phy_port1: ethernet-phy@0 {
|
|
reg = <0>;
|
|
};
|
|
|
|
external_phy_port2: ethernet-phy@1 {
|
|
reg = <1>;
|
|
};
|
|
|
|
external_phy_port3: ethernet-phy@2 {
|
|
reg = <2>;
|
|
};
|
|
|
|
external_phy_port4: ethernet-phy@3 {
|
|
reg = <3>;
|
|
};
|
|
|
|
external_phy_port5: ethernet-phy@4 {
|
|
reg = <4>;
|
|
};
|
|
|
|
switch@10 {
|
|
compatible = "qca,qca8337";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reset-gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
|
|
reg = <0x10>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
label = "cpu";
|
|
ethernet = <&gmac1>;
|
|
phy-mode = "rgmii";
|
|
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
label = "lan1";
|
|
phy-handle = <&external_phy_port1>;
|
|
};
|
|
|
|
port@2 {
|
|
reg = <2>;
|
|
label = "lan2";
|
|
phy-handle = <&external_phy_port2>;
|
|
};
|
|
|
|
port@3 {
|
|
reg = <3>;
|
|
label = "lan3";
|
|
phy-handle = <&external_phy_port3>;
|
|
};
|
|
|
|
port@4 {
|
|
reg = <4>;
|
|
label = "lan4";
|
|
phy-handle = <&external_phy_port4>;
|
|
};
|
|
|
|
port@5 {
|
|
reg = <5>;
|
|
label = "wan";
|
|
phy-handle = <&external_phy_port5>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
mdio {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
switch@10 {
|
|
compatible = "qca,qca8337";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reset-gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
|
|
reg = <0x10>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
label = "cpu";
|
|
ethernet = <&gmac1>;
|
|
phy-mode = "rgmii";
|
|
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
label = "lan1";
|
|
phy-mode = "internal";
|
|
phy-handle = <&internal_phy_port1>;
|
|
};
|
|
|
|
port@2 {
|
|
reg = <2>;
|
|
label = "lan2";
|
|
phy-mode = "internal";
|
|
phy-handle = <&internal_phy_port2>;
|
|
};
|
|
|
|
port@3 {
|
|
reg = <3>;
|
|
label = "lan3";
|
|
phy-mode = "internal";
|
|
phy-handle = <&internal_phy_port3>;
|
|
};
|
|
|
|
port@4 {
|
|
reg = <4>;
|
|
label = "lan4";
|
|
phy-mode = "internal";
|
|
phy-handle = <&internal_phy_port4>;
|
|
};
|
|
|
|
port@5 {
|
|
reg = <5>;
|
|
label = "wan";
|
|
phy-mode = "internal";
|
|
phy-handle = <&internal_phy_port5>;
|
|
};
|
|
|
|
port@6 {
|
|
reg = <0>;
|
|
label = "cpu";
|
|
ethernet = <&gmac1>;
|
|
phy-mode = "sgmii";
|
|
|
|
qca,sgmii-rxclk-falling-edge;
|
|
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
};
|
|
|
|
mdio {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
internal_phy_port1: ethernet-phy@0 {
|
|
reg = <0>;
|
|
};
|
|
|
|
internal_phy_port2: ethernet-phy@1 {
|
|
reg = <1>;
|
|
};
|
|
|
|
internal_phy_port3: ethernet-phy@2 {
|
|
reg = <2>;
|
|
};
|
|
|
|
internal_phy_port4: ethernet-phy@3 {
|
|
reg = <3>;
|
|
};
|
|
|
|
internal_phy_port5: ethernet-phy@4 {
|
|
reg = <4>;
|
|
};
|
|
};
|
|
};
|
|
};
|