···1111 - Krzysztof Kozlowski <krzk@kernel.org>12121313description: |1414- USI IP-core provides selectable serial protocol (UART, SPI or High-Speed I2C).1515- USI shares almost all internal circuits within each protocol, so only one1616- protocol can be chosen at a time. USI is modeled as a node with zero or more1717- child nodes, each representing a serial sub-node device. The mode setting1818- selects which particular function will be used.1414+ The USI IP-core provides configurable support for serial protocols, enabling1515+ different serial communication modes depending on the version.1616+1717+ In USIv1, configurations are available to enable either one or two protocols1818+ simultaneously in select combinations - High-Speed I2C0, High-Speed1919+ I2C1, SPI, UART, High-Speed I2C0 and I2C1 or both High-Speed2020+ I2C1 and UART.2121+2222+ In USIv2, only one protocol can be active at a time, either UART, SPI, or2323+ High-Speed I2C.2424+2525+ The USI core shares internal circuits across protocols, meaning only the2626+ selected configuration is active at any given time. USI is modeled as a node2727+ with zero or more child nodes, each representing a serial sub-node device. The2828+ mode setting selects which particular function will be used.19292030properties:2131 $nodename:···4131 - const: samsung,exynos850-usi4232 - enum:4333 - samsung,exynos850-usi3434+ - samsung,exynos8895-usi44354536 reg:4637 maxItems: 1···75647665 samsung,mode:7766 $ref: /schemas/types.yaml#/definitions/uint327878- enum: [0, 1, 2, 3]6767+ enum: [0, 1, 2, 3, 4, 5, 6]7968 description:8069 Selects USI function (which serial protocol to use). Refer to8170 <include/dt-bindings/soc/samsung,exynos-usi.h> for valid USI mode values.···112101 - samsung,sysreg113102 - samsung,mode114103115115-if:116116- properties:117117- compatible:118118- contains:119119- enum:120120- - samsung,exynos850-usi104104+allOf:105105+ - if:106106+ properties:107107+ compatible:108108+ contains:109109+ enum:110110+ - samsung,exynos850-usi121111122122-then:123123- properties:124124- reg:125125- maxItems: 1112112+ then:113113+ properties:114114+ reg:115115+ maxItems: 1126116127127- clocks:128128- items:129129- - description: Bus (APB) clock130130- - description: Operating clock for UART/SPI/I2C protocol117117+ clocks:118118+ items:119119+ - description: Bus (APB) clock120120+ - description: Operating clock for UART/SPI/I2C protocol131121132132- clock-names:133133- maxItems: 2122122+ clock-names:123123+ maxItems: 2134124135135- required:136136- - reg137137- - clocks138138- - clock-names125125+ samsung,mode:126126+ enum: [0, 1, 2, 3]139127140140-else:141141- properties:142142- reg: false143143- clocks: false144144- clock-names: false145145- samsung,clkreq-on: false128128+ required:129129+ - reg130130+ - clocks131131+ - clock-names132132+133133+ - if:134134+ properties:135135+ compatible:136136+ contains:137137+ enum:138138+ - samsung,exynos8895-usi139139+140140+ then:141141+ properties:142142+ reg: false143143+144144+ clocks:145145+ items:146146+ - description: Bus (APB) clock147147+ - description: Operating clock for UART/SPI protocol148148+149149+ clock-names:150150+ maxItems: 2151151+152152+ samsung,clkreq-on: false153153+154154+ required:155155+ - clocks156156+ - clock-names146157147158additionalProperties: false148159···177144 compatible = "samsung,exynos850-usi";178145 reg = <0x138200c0 0x20>;179146 samsung,sysreg = <&sysreg_peri 0x1010>;180180- samsung,mode = <USI_V2_UART>;147147+ samsung,mode = <USI_MODE_UART>;181148 samsung,clkreq-on; /* needed for UART mode */182149 #address-cells = <1>;183150 #size-cells = <1>;