18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sound/rockchip-i2s.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Rockchip I2S controller 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cidescription: 108c2ecf20Sopenharmony_ci The I2S bus (Inter-IC sound bus) is a serial link for digital 118c2ecf20Sopenharmony_ci audio data transfer between devices in the system. 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cimaintainers: 148c2ecf20Sopenharmony_ci - Heiko Stuebner <heiko@sntech.de> 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciproperties: 178c2ecf20Sopenharmony_ci compatible: 188c2ecf20Sopenharmony_ci oneOf: 198c2ecf20Sopenharmony_ci - const: rockchip,rk3066-i2s 208c2ecf20Sopenharmony_ci - items: 218c2ecf20Sopenharmony_ci - enum: 228c2ecf20Sopenharmony_ci - rockchip,px30-i2s 238c2ecf20Sopenharmony_ci - rockchip,rk3036-i2s 248c2ecf20Sopenharmony_ci - rockchip,rk3188-i2s 258c2ecf20Sopenharmony_ci - rockchip,rk3228-i2s 268c2ecf20Sopenharmony_ci - rockchip,rk3288-i2s 278c2ecf20Sopenharmony_ci - rockchip,rk3308-i2s 288c2ecf20Sopenharmony_ci - rockchip,rk3328-i2s 298c2ecf20Sopenharmony_ci - rockchip,rk3366-i2s 308c2ecf20Sopenharmony_ci - rockchip,rk3368-i2s 318c2ecf20Sopenharmony_ci - rockchip,rk3399-i2s 328c2ecf20Sopenharmony_ci - const: rockchip,rk3066-i2s 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci reg: 358c2ecf20Sopenharmony_ci maxItems: 1 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci interrupts: 388c2ecf20Sopenharmony_ci maxItems: 1 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci clocks: 418c2ecf20Sopenharmony_ci items: 428c2ecf20Sopenharmony_ci - description: clock for I2S controller 438c2ecf20Sopenharmony_ci - description: clock for I2S BUS 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci clock-names: 468c2ecf20Sopenharmony_ci items: 478c2ecf20Sopenharmony_ci - const: i2s_clk 488c2ecf20Sopenharmony_ci - const: i2s_hclk 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci dmas: 518c2ecf20Sopenharmony_ci minItems: 1 528c2ecf20Sopenharmony_ci maxItems: 2 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci dma-names: 558c2ecf20Sopenharmony_ci oneOf: 568c2ecf20Sopenharmony_ci - const: rx 578c2ecf20Sopenharmony_ci - items: 588c2ecf20Sopenharmony_ci - const: tx 598c2ecf20Sopenharmony_ci - const: rx 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci power-domains: 628c2ecf20Sopenharmony_ci maxItems: 1 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci rockchip,capture-channels: 658c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 668c2ecf20Sopenharmony_ci default: 2 678c2ecf20Sopenharmony_ci description: 688c2ecf20Sopenharmony_ci Max capture channels, if not set, 2 channels default. 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci rockchip,playback-channels: 718c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 728c2ecf20Sopenharmony_ci default: 8 738c2ecf20Sopenharmony_ci description: 748c2ecf20Sopenharmony_ci Max playback channels, if not set, 8 channels default. 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci rockchip,grf: 778c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 788c2ecf20Sopenharmony_ci description: 798c2ecf20Sopenharmony_ci The phandle of the syscon node for the GRF register. 808c2ecf20Sopenharmony_ci Required property for controllers which support multi channel 818c2ecf20Sopenharmony_ci playback/capture. 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci "#sound-dai-cells": 848c2ecf20Sopenharmony_ci const: 0 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_cirequired: 878c2ecf20Sopenharmony_ci - compatible 888c2ecf20Sopenharmony_ci - reg 898c2ecf20Sopenharmony_ci - interrupts 908c2ecf20Sopenharmony_ci - clocks 918c2ecf20Sopenharmony_ci - clock-names 928c2ecf20Sopenharmony_ci - dmas 938c2ecf20Sopenharmony_ci - dma-names 948c2ecf20Sopenharmony_ci - "#sound-dai-cells" 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ciadditionalProperties: false 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ciexamples: 998c2ecf20Sopenharmony_ci - | 1008c2ecf20Sopenharmony_ci #include <dt-bindings/clock/rk3288-cru.h> 1018c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 1028c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 1038c2ecf20Sopenharmony_ci i2s@ff890000 { 1048c2ecf20Sopenharmony_ci compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s"; 1058c2ecf20Sopenharmony_ci reg = <0xff890000 0x10000>; 1068c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 1078c2ecf20Sopenharmony_ci clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>; 1088c2ecf20Sopenharmony_ci clock-names = "i2s_clk", "i2s_hclk"; 1098c2ecf20Sopenharmony_ci dmas = <&pdma1 0>, <&pdma1 1>; 1108c2ecf20Sopenharmony_ci dma-names = "tx", "rx"; 1118c2ecf20Sopenharmony_ci rockchip,capture-channels = <2>; 1128c2ecf20Sopenharmony_ci rockchip,playback-channels = <8>; 1138c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 1148c2ecf20Sopenharmony_ci }; 115