2 2
RAZZY

I2S Codec on Euler bus of Pine A64+

Recommended Posts

I  am using an armbian build image on PINE A64+ board with the kernel 3.10.107.  During build i enabled below I2S driver as built-in.

CONFIG_SND_SOC_SUNXI_RW=y
CONFIG_SND_SOC_SUNXI_AUDIO_DMA=y
CONFIG_SND_SOC_SUNXI_TDM=y
CONFIG_SND_SUNXI_SOC=y
CONFIG_SND_SOC_INTERNAL_AUDIOCODEC=y
CONFIG_SND_SOC_INTERNAL_I2S=y
CONFIG_SND_SOC_AUDIO_CODEC_MACHINE=y
CONFIG_SND_SOC_DAUDIO_PLATFORM=y
CONFIG_SND_SOC_VIRCODEC=y
CONFIG_SND_SOC_DAUDIO0_MACHINE=y
# CONFIG_SND_SOC_DAUDIO1_MACHINE is not set
CONFIG_SND_SUNXI_SOC_HDMIAUDIO=y

 

The Internal Audio  and HDMI Audio are initialized successfully but failed to snddaudio0 which can be accessed from Euler bus pins.  below is the error log.

 

Dec  4 02:22:10 localhost kernel: [   10.453351] snddaudio0 sound.8: ASoC: CPU DAI (null) not registered
Dec  4 02:22:10 localhost kernel: [   10.453386] snddaudio0 sound.8: snd_soc_register_card() failed: -517
Dec  4 02:22:10 localhost kernel: [   10.453390] [RANJ] sunxi_snddaudio0_dev_probe done with -517

 

apaly - l returns the following

root@pine64:/boot# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC codec-aif1-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: audiocodec [audiocodec], device 1: bb Voice codec-aif2-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: audiocodec [audiocodec], device 2: bb-bt-clk codec-aif2-2 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: audiocodec [audiocodec], device 3: bt Voice codec-aif3-3 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0


Before I tried to load as modules with below changes .

<*>   ASoC support for audiocodec
   <M>   ASoC support for internal-i2s 
   <M>   ASoC support for audiocodec machine 
   <M>   ASoC support for daudio platform. 
   <M>   ASoC support for vircodec  
   <M>   ASoC support for daudio0 machine 
   < >   ASoC support for daudio1 machine 
   <M>   ASoC support for hdmiaudio 

 

changed the device tree file for sound@1  (sun50iw1pi-pine64-plus.dtb)

sound@1 {
compatible = "allwinner,sunxi-daudio0-machine";
sunxi,daudio0-controller = <0x4e>;
status = "disabled";   -------> "okay"
device_type = "snddaudio0";
};

The result is same.   Please help me to enable I2S codec testing on Euler bus I2S pins using  Armbian build image.

 

Regards

Ranjit


   

Share this post


Link to post
Share on other sites

I tried

sound@1 {
compatible = "allwinner,sunxi-daudio0-machine";
sunxi,daudio0-controller = <0x4e>;
status = "okay"
device_type = "snddaudio0";
};

 

and also changed the status to "okay" on below entry.

   daudio@0x01c22000 {
                        compatible = "allwinner,sunxi-daudio";
                        reg = <0x0 0x1c22000 0x0 0x58>;
                        clocks = <0x2 0x42>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <0x43>;
                        pinctrl-1 = <0x44>;
                        pcm_lrck_period = <0x20>;
                        pcm_lrckr_period = <0x1>;
                        slot_width_select = <0x20>;
                        pcm_lsb_first = <0x0>;
                        tx_data_mode = <0x0>;
                        rx_data_mode = <0x0>;
                        daudio_master = <0x4>;
                        audio_format = <0x1>;
                        signal_inversion = <0x1>;
                        frametype = <0x0>;
                        tdm_config = <0x1>;
                        tdm_num = <0x0>;
                        status = "okay";
                        linux,phandle = <0x4e>;
                        phandle = <0x4e>;
                        device_type = "daudio0";
                };
 

Even with this changes I2S at Euler pin is not working.  Does anyone tried testing I2S on Euler bus pin with kernel 3.10.107 ?

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
2 2