# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/net/nfc/marvell,nci.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Marvell International Ltd. NCI NFC controller maintainers: - Krzysztof Kozlowski <krzk@kernel.org> properties: compatible: enum: - marvell,nfc-i2c - marvell,nfc-spi - marvell,nfc-uart hci-muxed: type: boolean description: | Specifies that the chip is muxing NCI over HCI frames interrupts: maxItems: 1 reg: maxItems: 1 reset-n-io: $ref: /schemas/types.yaml#/definitions/phandle-array maxItems: 1 description: | Output GPIO pin used to reset the chip (active low) i2c-int-falling: type: boolean description: | For I2C type of connection. Specifies that the chip read event shall be triggered on falling edge. i2c-int-rising: type: boolean description: | For I2C type of connection. Specifies that the chip read event shall be triggered on rising edge. break-control: type: boolean description: | For UART type of connection. Specifies that the chip needs specific break management. flow-control: type: boolean description: | For UART type of connection. Specifies that the chip is using RTS/CTS. spi-cpha: true spi-cpol: true required: - compatible allOf: - if: properties: compatible: contains: const: marvell,nfc-i2c then: properties: break-control: false flow-control: false spi-cpha: false spi-cpol: false spi-max-frequency: false required: - reg - if: properties: compatible: contains: const: marvell,nfc-spi then: $ref: /schemas/spi/spi-peripheral-props.yaml# properties: break-control: false flow-control: false i2c-int-falling: false i2c-int-rising: false required: - reg - if: properties: compatible: contains: const: marvell,nfc-uart then: properties: i2c-int-falling: false i2c-int-rising: false interrupts: false spi-cpha: false spi-cpol: false spi-max-frequency: false reg: false unevaluatedProperties: false examples: - | #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> i2c { #address-cells = <1>; #size-cells = <0>; nfc@8 { compatible = "marvell,nfc-i2c"; reg = <0x8>; interrupt-parent = <&gpio3>; interrupts = <21 IRQ_TYPE_EDGE_RISING>; i2c-int-rising; reset-n-io = <&gpio3 19 GPIO_ACTIVE_LOW>; }; }; - | #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> spi { #address-cells = <1>; #size-cells = <0>; nfc@0 { compatible = "marvell,nfc-spi"; reg = <0>; spi-max-frequency = <3000000>; spi-cpha; spi-cpol; interrupt-parent = <&gpio1>; interrupts = <17 IRQ_TYPE_EDGE_RISING>; reset-n-io = <&gpio3 19 GPIO_ACTIVE_LOW>; }; }; - | #include <dt-bindings/gpio/gpio.h> uart { nfc { compatible = "marvell,nfc-uart"; reset-n-io = <&gpio3 16 GPIO_ACTIVE_LOW>; hci-muxed; flow-control; }; };