-
Notifications
You must be signed in to change notification settings - Fork 2
[PW_SID:1044261] ASoC: sophgo: add CV1800 I2S controllers support #1345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There are 4 TDM controllers on the SoC. Each controller can receive or transmit data over DMA. The dma it self has 8 channels. Each channel can be connected only to a specific i2s node. But each of dma channel can have multiple purposes so in order to save dma channels the configurations allows to use tx and rx, only rx, only tx or none channels. I2S controller without channels can be useful in configuration where I2S is used as clock source only and doesn't produce any data. Signed-off-by: Anton D. Stavinskii <stavinsky@gmail.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The actual CPU DAI controller. The driver can be used with simple-audio-card. It respects fixed clock configuration from simple-audio-card. The card driver can request direction out, this will be interpreted as mclk out, the clock which can be used in other CPU or codecs. For example I2S3 generates clock for ADC. I2S was tested in S24_32 and S16 dual channel formats. Signed-off-by: Anton D. Stavinskii <stavinsky@gmail.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Document the internal ADC and DAC audio codecs integrated in the Sophgo CV1800B SoC. Signed-off-by: Anton D. Stavinskii <stavinsky@gmail.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Codec DAI endpoint for RXADC + basic controls. THe codec have basic volume control. Which is imlemented by lookup table for simplicity. The codec expects set_sysclk callback to adjust internal mclk divider. Signed-off-by: Anton D. Stavinskii <stavinsky@gmail.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Codec DAI endpoint for TXDAC. The codec does only a few things - set up decimation - enable codec and I2S output - ensures the driver doesn't have dac overwrite enabled. (unmute the output) Signed-off-by: Anton D. Stavinskii <stavinsky@gmail.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Introduced I2S nodes and internal dac and adc nodes as well The new header file provided in order to make DMA channel names more readable. Signed-off-by: Anton D. Stavinskii <stavinsky@gmail.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 1: "[v3,1/6] ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controller" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 2: "[v3,2/6] ASoC: sophgo: add CV1800B I2S/TDM controller driver" |
|
Patch 4: "[v3,4/6] ASoC: sophgo: add CV1800B internal ADC codec driver" |
|
Patch 4: "[v3,4/6] ASoC: sophgo: add CV1800B internal ADC codec driver" |
|
Patch 4: "[v3,4/6] ASoC: sophgo: add CV1800B internal ADC codec driver" |
|
Patch 4: "[v3,4/6] ASoC: sophgo: add CV1800B internal ADC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 5: "[v3,5/6] ASoC: sophgo: add CV1800B internal DAC codec driver" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
|
Patch 6: "[v3,6/6] riscv: dts: sophgo: dts nodes for i2s tdm modules" |
PR for series 1044261 applied to workflow__riscv__fixes
Name: ASoC: sophgo: add CV1800 I2S controllers support
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1044261
Version: 3