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 - enum: 23 - microchip,sam9x7-flexcom 24 - microchip,sama7d65-flexcom 25 - microchip,sama7g5-flexcom 26 - const: atmel,sama5d2-flexcom 27 28 reg: 29 maxItems: 1 30 31 clocks: 32 maxItems: 1 33 34 "#address-cells": 35 const: 1 36 37 "#size-cells": 38 const: 1 39 40 ranges: 41 description: 42 One range for the full I/O register region. (including USART, 43 TWI and SPI registers). 44 items: 45 maxItems: 3 46 47 atmel,flexcom-mode: 48 description: | 49 Specifies the flexcom mode as follows: 50 1: USART 51 2: SPI 52 3: I2C. 53 $ref: /schemas/types.yaml#/definitions/uint32 54 enum: [1, 2, 3] 55 56patternProperties: 57 "^serial@[0-9a-f]+$": 58 type: object 59 description: 60 Child node describing USART. See atmel-usart.txt for details 61 of USART bindings. 62 63 "^spi@[0-9a-f]+$": 64 type: object 65 description: 66 Child node describing SPI. See ../spi/spi_atmel.txt for details 67 of SPI bindings. 68 69 "^i2c@[0-9a-f]+$": 70 $ref: /schemas/i2c/atmel,at91sam-i2c.yaml 71 description: 72 Child node describing I2C. 73 74required: 75 - compatible 76 - reg 77 - clocks 78 - "#address-cells" 79 - "#size-cells" 80 - ranges 81 - atmel,flexcom-mode 82 83additionalProperties: false 84 85examples: 86 - | 87 #include <dt-bindings/interrupt-controller/arm-gic.h> 88 89 flx0: flexcom@f8034000 { 90 compatible = "atmel,sama5d2-flexcom"; 91 reg = <0xf8034000 0x200>; 92 clocks = <&flx0_clk>; 93 #address-cells = <1>; 94 #size-cells = <1>; 95 ranges = <0x0 0xf8034000 0x800>; 96 atmel,flexcom-mode = <2>; 97 }; 98... 99