18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 28cc087a1SEmmanuel Vadot%YAML 1.2 38cc087a1SEmmanuel Vadot--- 48cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/net/nfc/marvell,nci.yaml# 58cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68cc087a1SEmmanuel Vadot 78cc087a1SEmmanuel Vadottitle: Marvell International Ltd. NCI NFC controller 88cc087a1SEmmanuel Vadot 98cc087a1SEmmanuel Vadotmaintainers: 10c9ccf3a3SEmmanuel Vadot - Krzysztof Kozlowski <krzk@kernel.org> 118cc087a1SEmmanuel Vadot 128cc087a1SEmmanuel Vadotproperties: 138cc087a1SEmmanuel Vadot compatible: 148cc087a1SEmmanuel Vadot enum: 158cc087a1SEmmanuel Vadot - marvell,nfc-i2c 168cc087a1SEmmanuel Vadot - marvell,nfc-spi 178cc087a1SEmmanuel Vadot - marvell,nfc-uart 188cc087a1SEmmanuel Vadot 198cc087a1SEmmanuel Vadot hci-muxed: 208cc087a1SEmmanuel Vadot type: boolean 218cc087a1SEmmanuel Vadot description: | 228cc087a1SEmmanuel Vadot Specifies that the chip is muxing NCI over HCI frames 238cc087a1SEmmanuel Vadot 248cc087a1SEmmanuel Vadot interrupts: 258cc087a1SEmmanuel Vadot maxItems: 1 268cc087a1SEmmanuel Vadot 278cc087a1SEmmanuel Vadot reg: 288cc087a1SEmmanuel Vadot maxItems: 1 298cc087a1SEmmanuel Vadot 308cc087a1SEmmanuel Vadot reset-n-io: 31fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 328cc087a1SEmmanuel Vadot maxItems: 1 338cc087a1SEmmanuel Vadot description: | 348cc087a1SEmmanuel Vadot Output GPIO pin used to reset the chip (active low) 358cc087a1SEmmanuel Vadot 368cc087a1SEmmanuel Vadot i2c-int-falling: 378cc087a1SEmmanuel Vadot type: boolean 388cc087a1SEmmanuel Vadot description: | 398cc087a1SEmmanuel Vadot For I2C type of connection. Specifies that the chip read event shall be 40*aa1a8ff2SEmmanuel Vadot triggered on falling edge. 418cc087a1SEmmanuel Vadot 428cc087a1SEmmanuel Vadot i2c-int-rising: 438cc087a1SEmmanuel Vadot type: boolean 448cc087a1SEmmanuel Vadot description: | 458cc087a1SEmmanuel Vadot For I2C type of connection. Specifies that the chip read event shall be 46*aa1a8ff2SEmmanuel Vadot triggered on rising edge. 478cc087a1SEmmanuel Vadot 488cc087a1SEmmanuel Vadot break-control: 498cc087a1SEmmanuel Vadot type: boolean 508cc087a1SEmmanuel Vadot description: | 518cc087a1SEmmanuel Vadot For UART type of connection. Specifies that the chip needs specific break 528cc087a1SEmmanuel Vadot management. 538cc087a1SEmmanuel Vadot 548cc087a1SEmmanuel Vadot flow-control: 558cc087a1SEmmanuel Vadot type: boolean 568cc087a1SEmmanuel Vadot description: | 578cc087a1SEmmanuel Vadot For UART type of connection. Specifies that the chip is using RTS/CTS. 588cc087a1SEmmanuel Vadot 598cc087a1SEmmanuel Vadot spi-cpha: true 608cc087a1SEmmanuel Vadot spi-cpol: true 618cc087a1SEmmanuel Vadot 628cc087a1SEmmanuel Vadotrequired: 638cc087a1SEmmanuel Vadot - compatible 648cc087a1SEmmanuel Vadot 658cc087a1SEmmanuel VadotallOf: 668cc087a1SEmmanuel Vadot - if: 678cc087a1SEmmanuel Vadot properties: 688cc087a1SEmmanuel Vadot compatible: 698cc087a1SEmmanuel Vadot contains: 708cc087a1SEmmanuel Vadot const: marvell,nfc-i2c 718cc087a1SEmmanuel Vadot then: 728cc087a1SEmmanuel Vadot properties: 738cc087a1SEmmanuel Vadot break-control: false 748cc087a1SEmmanuel Vadot flow-control: false 758cc087a1SEmmanuel Vadot spi-cpha: false 768cc087a1SEmmanuel Vadot spi-cpol: false 778cc087a1SEmmanuel Vadot spi-max-frequency: false 788cc087a1SEmmanuel Vadot required: 798cc087a1SEmmanuel Vadot - reg 808cc087a1SEmmanuel Vadot 818cc087a1SEmmanuel Vadot - if: 828cc087a1SEmmanuel Vadot properties: 838cc087a1SEmmanuel Vadot compatible: 848cc087a1SEmmanuel Vadot contains: 858cc087a1SEmmanuel Vadot const: marvell,nfc-spi 868cc087a1SEmmanuel Vadot then: 87b97ee269SEmmanuel Vadot $ref: /schemas/spi/spi-peripheral-props.yaml# 888cc087a1SEmmanuel Vadot properties: 898cc087a1SEmmanuel Vadot break-control: false 908cc087a1SEmmanuel Vadot flow-control: false 918cc087a1SEmmanuel Vadot i2c-int-falling: false 928cc087a1SEmmanuel Vadot i2c-int-rising: false 938cc087a1SEmmanuel Vadot required: 948cc087a1SEmmanuel Vadot - reg 958cc087a1SEmmanuel Vadot 968cc087a1SEmmanuel Vadot - if: 978cc087a1SEmmanuel Vadot properties: 988cc087a1SEmmanuel Vadot compatible: 998cc087a1SEmmanuel Vadot contains: 1008cc087a1SEmmanuel Vadot const: marvell,nfc-uart 1018cc087a1SEmmanuel Vadot then: 1028cc087a1SEmmanuel Vadot properties: 1038cc087a1SEmmanuel Vadot i2c-int-falling: false 1048cc087a1SEmmanuel Vadot i2c-int-rising: false 1058cc087a1SEmmanuel Vadot interrupts: false 1068cc087a1SEmmanuel Vadot spi-cpha: false 1078cc087a1SEmmanuel Vadot spi-cpol: false 1088cc087a1SEmmanuel Vadot spi-max-frequency: false 1098cc087a1SEmmanuel Vadot reg: false 1108cc087a1SEmmanuel Vadot 111b97ee269SEmmanuel VadotunevaluatedProperties: false 1128cc087a1SEmmanuel Vadot 1138cc087a1SEmmanuel Vadotexamples: 1148cc087a1SEmmanuel Vadot - | 1158cc087a1SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 1168cc087a1SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1178cc087a1SEmmanuel Vadot 1188cc087a1SEmmanuel Vadot i2c { 1198cc087a1SEmmanuel Vadot #address-cells = <1>; 1208cc087a1SEmmanuel Vadot #size-cells = <0>; 1218cc087a1SEmmanuel Vadot 1228cc087a1SEmmanuel Vadot nfc@8 { 1238cc087a1SEmmanuel Vadot compatible = "marvell,nfc-i2c"; 1248cc087a1SEmmanuel Vadot reg = <0x8>; 1258cc087a1SEmmanuel Vadot 1268cc087a1SEmmanuel Vadot interrupt-parent = <&gpio3>; 1278cc087a1SEmmanuel Vadot interrupts = <21 IRQ_TYPE_EDGE_RISING>; 1288cc087a1SEmmanuel Vadot 1298cc087a1SEmmanuel Vadot i2c-int-rising; 1308cc087a1SEmmanuel Vadot 1317ef62cebSEmmanuel Vadot reset-n-io = <&gpio3 19 GPIO_ACTIVE_LOW>; 1328cc087a1SEmmanuel Vadot }; 1338cc087a1SEmmanuel Vadot }; 1348cc087a1SEmmanuel Vadot 1358cc087a1SEmmanuel Vadot - | 1368cc087a1SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 1378cc087a1SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1388cc087a1SEmmanuel Vadot 1398cc087a1SEmmanuel Vadot spi { 1408cc087a1SEmmanuel Vadot #address-cells = <1>; 1418cc087a1SEmmanuel Vadot #size-cells = <0>; 1428cc087a1SEmmanuel Vadot 1438cc087a1SEmmanuel Vadot nfc@0 { 1448cc087a1SEmmanuel Vadot compatible = "marvell,nfc-spi"; 1458cc087a1SEmmanuel Vadot reg = <0>; 1468cc087a1SEmmanuel Vadot 1478cc087a1SEmmanuel Vadot spi-max-frequency = <3000000>; 1488cc087a1SEmmanuel Vadot spi-cpha; 1498cc087a1SEmmanuel Vadot spi-cpol; 1508cc087a1SEmmanuel Vadot 1518cc087a1SEmmanuel Vadot interrupt-parent = <&gpio1>; 1528cc087a1SEmmanuel Vadot interrupts = <17 IRQ_TYPE_EDGE_RISING>; 1538cc087a1SEmmanuel Vadot 1547ef62cebSEmmanuel Vadot reset-n-io = <&gpio3 19 GPIO_ACTIVE_LOW>; 1558cc087a1SEmmanuel Vadot }; 1568cc087a1SEmmanuel Vadot }; 1578cc087a1SEmmanuel Vadot 1588cc087a1SEmmanuel Vadot - | 1598cc087a1SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 1608cc087a1SEmmanuel Vadot 1618cc087a1SEmmanuel Vadot uart { 1628cc087a1SEmmanuel Vadot nfc { 1638cc087a1SEmmanuel Vadot compatible = "marvell,nfc-uart"; 1648cc087a1SEmmanuel Vadot 1657ef62cebSEmmanuel Vadot reset-n-io = <&gpio3 16 GPIO_ACTIVE_LOW>; 1668cc087a1SEmmanuel Vadot 1678cc087a1SEmmanuel Vadot hci-muxed; 1688cc087a1SEmmanuel Vadot flow-control; 1698cc087a1SEmmanuel Vadot }; 1708cc087a1SEmmanuel Vadot }; 171