Loading Documentation/devicetree/bindings/sound/rockchip-i2s.txt +2 −4 Original line number Diff line number Diff line Loading @@ -12,8 +12,6 @@ Required properties: - reg: physical base address of the controller and length of memory mapped region. - interrupts: should contain the I2S interrupt. - #address-cells: should be 1. - #size-cells: should be 0. - dmas: DMA specifiers for tx and rx dma. See the DMA client binding, Documentation/devicetree/bindings/dma/dma.txt - dma-names: should include "tx" and "rx". Loading @@ -21,6 +19,7 @@ Required properties: - clock-names: should contain followings: - "i2s_hclk": clock for I2S BUS - "i2s_clk" : clock for I2S controller - rockchip,capture-channels: max capture channels, if not set, 2 channels default. Example for rk3288 I2S controller: Loading @@ -28,10 +27,9 @@ i2s@ff890000 { compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s"; reg = <0xff890000 0x10000>; interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; dmas = <&pdma1 0>, <&pdma1 1>; dma-names = "tx", "rx"; clock-names = "i2s_hclk", "i2s_clk"; clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; rockchip,capture-channels = <2>; }; Documentation/devicetree/bindings/sound/rockchip-spdif.txt 0 → 100644 +40 −0 Original line number Diff line number Diff line * Rockchip SPDIF transceiver The S/PDIF audio block is a stereo transceiver that allows the processor to receive and transmit digital audio via an coaxial cable or a fibre cable. Required properties: - compatible: should be one of the following: - "rockchip,rk3288-spdif", "rockchip,rk3188-spdif" or "rockchip,rk3066-spdif" - reg: physical base address of the controller and length of memory mapped region. - interrupts: should contain the SPDIF interrupt. - dmas: DMA specifiers for tx dma. See the DMA client binding, Documentation/devicetree/bindings/dma/dma.txt - dma-names: should be "tx" - clocks: a list of phandle + clock-specifier pairs, one for each entry in clock-names. - clock-names: should contain following: - "hclk": clock for SPDIF controller - "mclk" : clock for SPDIF bus Required properties on RK3288: - rockchip,grf: the phandle of the syscon node for the general register file (GRF) Example for the rk3188 SPDIF controller: spdif: spdif@0x1011e000 { compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif"; reg = <0x1011e000 0x2000>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; dmas = <&dmac1_s 8>; dma-names = "tx"; clock-names = "hclk", "mclk"; clocks = <&cru HCLK_SPDIF>, <&cru SCLK_SPDIF>; status = "disabled"; #sound-dai-cells = <0>; }; sound/soc/codecs/rl6347a.c +1 −18 Original line number Diff line number Diff line Loading @@ -11,25 +11,8 @@ */ #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/init.h> #include <linux/delay.h> #include <linux/pm.h> #include <linux/i2c.h> #include <linux/platform_device.h> #include <linux/spi/spi.h> #include <linux/dmi.h> #include <linux/acpi.h> #include <sound/core.h> #include <sound/pcm.h> #include <sound/pcm_params.h> #include <sound/soc.h> #include <sound/soc-dapm.h> #include <sound/initval.h> #include <sound/tlv.h> #include <sound/jack.h> #include <linux/workqueue.h> #include <sound/hda_verbs.h> #include <linux/regmap.h> #include "rl6347a.h" Loading sound/soc/codecs/rl6347a.h +2 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ #ifndef __RL6347A_H__ #define __RL6347A_H__ #include <sound/hda_verbs.h> #define VERB_CMD(V, N, D) ((N << 20) | (V << 8) | D) #define RL6347A_VENDOR_REGISTERS 0x20 Loading sound/soc/codecs/rt286.c +6 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ #include <sound/jack.h> #include <linux/workqueue.h> #include <sound/rt286.h> #include <sound/hda_verbs.h> #include "rl6347a.h" #include "rt286.h" Loading @@ -38,7 +37,7 @@ #define RT288_VENDOR_ID 0x10ec0288 struct rt286_priv { const struct reg_default *index_cache; struct reg_default *index_cache; int index_cache_size; struct regmap *regmap; struct snd_soc_codec *codec; Loading Loading @@ -1161,7 +1160,11 @@ static int rt286_i2c_probe(struct i2c_client *i2c, return -ENODEV; } rt286->index_cache = rt286_index_def; rt286->index_cache = devm_kmemdup(&i2c->dev, rt286_index_def, sizeof(rt286_index_def), GFP_KERNEL); if (!rt286->index_cache) return -ENOMEM; rt286->index_cache_size = INDEX_CACHE_SIZE; rt286->i2c = i2c; i2c_set_clientdata(i2c, rt286); Loading Loading
Documentation/devicetree/bindings/sound/rockchip-i2s.txt +2 −4 Original line number Diff line number Diff line Loading @@ -12,8 +12,6 @@ Required properties: - reg: physical base address of the controller and length of memory mapped region. - interrupts: should contain the I2S interrupt. - #address-cells: should be 1. - #size-cells: should be 0. - dmas: DMA specifiers for tx and rx dma. See the DMA client binding, Documentation/devicetree/bindings/dma/dma.txt - dma-names: should include "tx" and "rx". Loading @@ -21,6 +19,7 @@ Required properties: - clock-names: should contain followings: - "i2s_hclk": clock for I2S BUS - "i2s_clk" : clock for I2S controller - rockchip,capture-channels: max capture channels, if not set, 2 channels default. Example for rk3288 I2S controller: Loading @@ -28,10 +27,9 @@ i2s@ff890000 { compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s"; reg = <0xff890000 0x10000>; interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; dmas = <&pdma1 0>, <&pdma1 1>; dma-names = "tx", "rx"; clock-names = "i2s_hclk", "i2s_clk"; clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; rockchip,capture-channels = <2>; };
Documentation/devicetree/bindings/sound/rockchip-spdif.txt 0 → 100644 +40 −0 Original line number Diff line number Diff line * Rockchip SPDIF transceiver The S/PDIF audio block is a stereo transceiver that allows the processor to receive and transmit digital audio via an coaxial cable or a fibre cable. Required properties: - compatible: should be one of the following: - "rockchip,rk3288-spdif", "rockchip,rk3188-spdif" or "rockchip,rk3066-spdif" - reg: physical base address of the controller and length of memory mapped region. - interrupts: should contain the SPDIF interrupt. - dmas: DMA specifiers for tx dma. See the DMA client binding, Documentation/devicetree/bindings/dma/dma.txt - dma-names: should be "tx" - clocks: a list of phandle + clock-specifier pairs, one for each entry in clock-names. - clock-names: should contain following: - "hclk": clock for SPDIF controller - "mclk" : clock for SPDIF bus Required properties on RK3288: - rockchip,grf: the phandle of the syscon node for the general register file (GRF) Example for the rk3188 SPDIF controller: spdif: spdif@0x1011e000 { compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif"; reg = <0x1011e000 0x2000>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; dmas = <&dmac1_s 8>; dma-names = "tx"; clock-names = "hclk", "mclk"; clocks = <&cru HCLK_SPDIF>, <&cru SCLK_SPDIF>; status = "disabled"; #sound-dai-cells = <0>; };
sound/soc/codecs/rl6347a.c +1 −18 Original line number Diff line number Diff line Loading @@ -11,25 +11,8 @@ */ #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/init.h> #include <linux/delay.h> #include <linux/pm.h> #include <linux/i2c.h> #include <linux/platform_device.h> #include <linux/spi/spi.h> #include <linux/dmi.h> #include <linux/acpi.h> #include <sound/core.h> #include <sound/pcm.h> #include <sound/pcm_params.h> #include <sound/soc.h> #include <sound/soc-dapm.h> #include <sound/initval.h> #include <sound/tlv.h> #include <sound/jack.h> #include <linux/workqueue.h> #include <sound/hda_verbs.h> #include <linux/regmap.h> #include "rl6347a.h" Loading
sound/soc/codecs/rl6347a.h +2 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ #ifndef __RL6347A_H__ #define __RL6347A_H__ #include <sound/hda_verbs.h> #define VERB_CMD(V, N, D) ((N << 20) | (V << 8) | D) #define RL6347A_VENDOR_REGISTERS 0x20 Loading
sound/soc/codecs/rt286.c +6 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ #include <sound/jack.h> #include <linux/workqueue.h> #include <sound/rt286.h> #include <sound/hda_verbs.h> #include "rl6347a.h" #include "rt286.h" Loading @@ -38,7 +37,7 @@ #define RT288_VENDOR_ID 0x10ec0288 struct rt286_priv { const struct reg_default *index_cache; struct reg_default *index_cache; int index_cache_size; struct regmap *regmap; struct snd_soc_codec *codec; Loading Loading @@ -1161,7 +1160,11 @@ static int rt286_i2c_probe(struct i2c_client *i2c, return -ENODEV; } rt286->index_cache = rt286_index_def; rt286->index_cache = devm_kmemdup(&i2c->dev, rt286_index_def, sizeof(rt286_index_def), GFP_KERNEL); if (!rt286->index_cache) return -ENOMEM; rt286->index_cache_size = INDEX_CACHE_SIZE; rt286->i2c = i2c; i2c_set_clientdata(i2c, rt286); Loading