# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/board/fsl,fpga-qixis-i2c.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Freescale on-board FPGA connected on I2C bus maintainers: - Frank Li properties: compatible: oneOf: - items: - enum: - fsl,bsc9132qds-fpga - const: fsl,fpga-qixis-i2c - items: - enum: - fsl,ls1028aqds-fpga - fsl,lx2160aqds-fpga - const: fsl,fpga-qixis-i2c - const: simple-mfd - const: fsl,lx2160ardb-fpga "#address-cells": const: 1 "#size-cells": const: 0 interrupts: maxItems: 1 reg: maxItems: 1 mux-controller: $ref: /schemas/mux/reg-mux.yaml patternProperties: "^gpio@[0-9a-f]+$": type: object additionalProperties: true properties: compatible: contains: enum: - fsl,lx2160ardb-fpga-gpio-sfp required: - compatible - reg allOf: - if: properties: compatible: contains: enum: - fsl,lx2160ardb-fpga then: required: - "#address-cells" - "#size-cells" else: properties: "#address-cells": false "#size-cells": false additionalProperties: false examples: - | i2c { #address-cells = <1>; #size-cells = <0>; board-control@66 { compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c"; reg = <0x66>; }; }; - | i2c { #address-cells = <1>; #size-cells = <0>; board-control@66 { compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c", "simple-mfd"; reg = <0x66>; mux-controller { compatible = "reg-mux"; #mux-control-cells = <1>; mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */ }; }; }; - | i2c { #address-cells = <1>; #size-cells = <0>; board-control@66 { compatible = "fsl,lx2160ardb-fpga"; reg = <0x66>; #address-cells = <1>; #size-cells = <0>; gpio@19 { compatible = "fsl,lx2160ardb-fpga-gpio-sfp"; reg = <0x19>; gpio-controller; #gpio-cells = <2>; gpio-line-names = "SFP2_TX_EN", "", "", "", "SFP2_RX_LOS", "SFP2_TX_FAULT", "", "SFP2_MOD_ABS"; }; }; };