1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mfd/atmel,sama5d2-flexcom.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Microchip Flexcom (Flexible Serial Communication Unit) 8 9maintainers: 10 - Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com> 11 12description: 13 The Microchip Flexcom is just a wrapper which embeds a SPI controller, 14 an I2C controller and an USART. Only one function can be used at a 15 time and is chosen at boot time according to the device tree. 16 17properties: 18 compatible: 19 oneOf: 20 - const: atmel,sama5d2-flexcom 21 - items: 22 - const: microchip,sam9x7-flexcom 23 - const: atmel,sama5d2-flexcom 24 - items: 25 - const: microchip,sama7g5-flexcom 26 - const: atmel,sama5d2-flexcom 27 28 29 reg: 30 maxItems: 1 31 32 clocks: 33 maxItems: 1 34 35 "#address-cells": 36 const: 1 37 38 "#size-cells": 39 const: 1 40 41 ranges: 42 description: 43 One range for the full I/O register region. (including USART, 44 TWI and SPI registers). 45 items: 46 maxItems: 3 47 48 atmel,flexcom-mode: 49 description: | 50 Specifies the flexcom mode as follows: 51 1: USART 52 2: SPI 53 3: I2C. 54 $ref: /schemas/types.yaml#/definitions/uint32 55 enum: [1, 2, 3] 56 57patternProperties: 58 "^serial@[0-9a-f]+$": 59 type: object 60 description: 61 Child node describing USART. See atmel-usart.txt for details 62 of USART bindings. 63 64 "^spi@[0-9a-f]+$": 65 type: object 66 description: 67 Child node describing SPI. See ../spi/spi_atmel.txt for details 68 of SPI bindings. 69 70 "^i2c@[0-9a-f]+$": 71 $ref: /schemas/i2c/atmel,at91sam-i2c.yaml 72 description: 73 Child node describing I2C. 74 75required: 76 - compatible 77 - reg 78 - clocks 79 - "#address-cells" 80 - "#size-cells" 81 - ranges 82 - atmel,flexcom-mode 83 84additionalProperties: false 85 86examples: 87 - | 88 #include <dt-bindings/interrupt-controller/arm-gic.h> 89 90 flx0: flexcom@f8034000 { 91 compatible = "atmel,sama5d2-flexcom"; 92 reg = <0xf8034000 0x200>; 93 clocks = <&flx0_clk>; 94 #address-cells = <1>; 95 #size-cells = <1>; 96 ranges = <0x0 0xf8034000 0x800>; 97 atmel,flexcom-mode = <2>; 98 }; 99... 100