Post Go back to editing

Yocto Linux build version 5.0.1 on ADSP-SC594 EZKIT - first experiences

Category: Software
Product Number: ADSP-SC594
Software Version: 5.0.1

Hello everyone,

I recently did a lot of tests with the sc594 board running Yocto Linux and version 5.0.0 of the Yocto release from ADI. What I found finally was:

1) Use the bootloader from Version 5.0.0 to be able to boot from USB (github.com/.../Linux-for-ADSP‐SC5xx-5.0.0-Landing-Page)
2) Use the Yocto Linux binary build output from version 3.1.2. of the Yocto build chain (https://github.com/analogdevicesinc/lnxdsp-adi-meta/wiki/Linux-for-ADSP%E2%80%90SC5xx-3.1.2-Landing-Page)

In this combination everything worked out well!

However, there were some compromises:
- I could not use the uboot from version 3.1.2 since if could not find the USB stick containing kernel and OS.
- I could not boot Version 5.0.0 of the Linux OS build since the system was freezing and - after introducing a patch for this - there was a problem with the serial console.

The discussion was in a previous thread within this Q&A board, here: 

Yocto Linux build version 5.0.0 on ADSP-SC594 EZKIT - system freezes

Today, I was happy to see that release 5.0.1 has become available in hope to work around these compromises. I just tested the latest release and would like to share my experience:

- I can not use the uboot from version 5.0.1: It just does not find the USB memory stick, hence, I can not boot from USB. I solved this be going back to the uboot from version 5.0.0.
- I can not use the spi boot of version 5.0.1 either, there are some file corruption reports when starting the kernel via spi and - finally - a kernel panic.
- With uboot from version 5.0.0, I could finally boot version 5.0.1 Linux OS and kernel from USB. It looks good, however, unfortunately, the serial console still hangs. This can be easily reproduced
   by running the "top" command which just does not show completely. It is not a show-stopper but tends to be annoying. I tried many options to fix the serial console problem but was not able to solve the issue.
- The modifications during the kernel build required to deactivate audio in Linux to involve the DSP for audio i/o are not prepared for sc594. I created a patch myself to achieve this.

So far, I have tested with focus on build system and boot process - not so much on operation. I will do that next. 

Best regards - Hauke 

Thread Notes

Parents
  • > I can not use the uboot from version 5.0.1: It just does not find the USB memory stick, hence, I can not boot from USB. I solved this be going back to the uboot from version 5.0.0.
    There is nothing changed on usb related between releases. I will do the test. 

    > I can not use the spi boot of version 5.0.1 either, there are some file corruption reports when starting the kernel via spi and - finally - a kernel panic.
    Can you share the logs? Are you referring to jffs2 errors? I built and flashed SPI flash and without issues. 

    > With uboot from version 5.0.0, I could finally boot version 5.0.1 Linux OS and kernel from USB. It looks good, however, unfortunately, the serial console still hangs. This can be easily reproduced
    Yes can reproduce serial hangs issue, could connect trough SSH without issues. 

    > The modifications during the kernel build required to deactivate audio in Linux to involve the DSP for audio i/o are not prepared for sc594. I created a patch myself to achieve this.

    Your modifications is similar to this ones https://github.com/analogdevicesinc/lnxdsp-adi-meta/blob/main/meta-adi-adsp-sc5xx/recipes-kernel/linux/linux-adi/0002-SC598-Enable-SHARC-ALSA-demo-disabling-most-linux-ba.patch ?

  • Regarding the modifications for "Audio via DSP only", here are the parts that I patched:

    =======================================================================

    +++ b/meta-adi-adsp-sc5xx/recipes-kernel/linux/linux-adi/0001-Patches-for-SC594-Audio-DSP.patch
    @@ -0,0 +1,54 @@
    
    +Subject: [PATCH] Patches for SC594 Audio DSP
    +
    +---
    + arch/arm/boot/dts/adi/sc594-som-ezkit.dts | 9 +++++++--
    + 1 file changed, 7 insertions(+), 2 deletions(-)
    +
    +diff --git a/arch/arm/boot/dts/adi/sc594-som-ezkit.dts b/arch/arm/boot/dts/adi/sc594-som-ezkit.dts
    +index f845a3b0ac36..a06590fe5eb4 100644
    +--- a/arch/arm/boot/dts/adi/sc594-som-ezkit.dts
    ++++ b/arch/arm/boot/dts/adi/sc594-som-ezkit.dts
    +@@ -20,6 +20,7 @@ sound {
    + 			compatible = "adi,sc5xx-asoc-card";
    + 			adi,cpu-dai = <&i2s4>;
    + 			adi,codec = <&adau1962>, <&adau1979>;
    ++			status = "disabled";
    + 		};
    + 	};
    + };
    +@@ -136,11 +137,13 @@ gige-reset {
    + 	adau1979: adau1979@11 {
    + 		compatible = "adi,adau1977";
    + 		reg = <0x11>;
    ++		status = "disabled";
    + 	};
    + 
    + 	adau1962: adau1962@4 {
    + 		compatible = "adi,adau1962";
    + 		reg = <0x4>;
    ++		status = "disabled";
    + 	};
    + 
    + };
    +@@ -207,11 +210,13 @@ dp83848: ethernet-phy@1 {
    + &i2s4 {
    + 	pinctrl-names = "default";
    + 	pinctrl-0 = <&sru_dai1>;
    +-	status = "okay";
    ++	// status = "okay";
    ++	status = "disabled";
    + };
    + 
    + &sru_ctrl_dai1 {
    +-	status = "okay";
    ++	//status = "okay";
    ++	status = "disabled";
    + 
    + 	sru_dai1: sru_dai1_mux {
    + 		route {
    +-- 
    +2.43.0
    +
    
    diff --git a/meta-adi-adsp-sc5xx/recipes-kernel/linux/sharc_audio.inc b/meta-adi-adsp-sc5xx/recipes-kernel/linux/sharc_audio.inc
    index 4236cbd..69a67dc 100644
    --- a/meta-adi-adsp-sc5xx/recipes-kernel/linux/sharc_audio.inc
    +++ b/meta-adi-adsp-sc5xx/recipes-kernel/linux/sharc_audio.inc
    @@ -1,5 +1,6 @@
     HYBRID_AUDIO_PATCH = " \
     	file://0001-SC598-Audio-configuration-for-hybrid-audio-support.patch \
    +	file://0001-Patches-for-SC594-Audio-DSP.patch \
     "
     SHARC_ALSA_PATCH = " \
     	${HYBRID_AUDIO_PATCH} \
    -- 
    2.43.0
    
Reply
  • Regarding the modifications for "Audio via DSP only", here are the parts that I patched:

    =======================================================================

    +++ b/meta-adi-adsp-sc5xx/recipes-kernel/linux/linux-adi/0001-Patches-for-SC594-Audio-DSP.patch
    @@ -0,0 +1,54 @@
    
    +Subject: [PATCH] Patches for SC594 Audio DSP
    +
    +---
    + arch/arm/boot/dts/adi/sc594-som-ezkit.dts | 9 +++++++--
    + 1 file changed, 7 insertions(+), 2 deletions(-)
    +
    +diff --git a/arch/arm/boot/dts/adi/sc594-som-ezkit.dts b/arch/arm/boot/dts/adi/sc594-som-ezkit.dts
    +index f845a3b0ac36..a06590fe5eb4 100644
    +--- a/arch/arm/boot/dts/adi/sc594-som-ezkit.dts
    ++++ b/arch/arm/boot/dts/adi/sc594-som-ezkit.dts
    +@@ -20,6 +20,7 @@ sound {
    + 			compatible = "adi,sc5xx-asoc-card";
    + 			adi,cpu-dai = <&i2s4>;
    + 			adi,codec = <&adau1962>, <&adau1979>;
    ++			status = "disabled";
    + 		};
    + 	};
    + };
    +@@ -136,11 +137,13 @@ gige-reset {
    + 	adau1979: adau1979@11 {
    + 		compatible = "adi,adau1977";
    + 		reg = <0x11>;
    ++		status = "disabled";
    + 	};
    + 
    + 	adau1962: adau1962@4 {
    + 		compatible = "adi,adau1962";
    + 		reg = <0x4>;
    ++		status = "disabled";
    + 	};
    + 
    + };
    +@@ -207,11 +210,13 @@ dp83848: ethernet-phy@1 {
    + &i2s4 {
    + 	pinctrl-names = "default";
    + 	pinctrl-0 = <&sru_dai1>;
    +-	status = "okay";
    ++	// status = "okay";
    ++	status = "disabled";
    + };
    + 
    + &sru_ctrl_dai1 {
    +-	status = "okay";
    ++	//status = "okay";
    ++	status = "disabled";
    + 
    + 	sru_dai1: sru_dai1_mux {
    + 		route {
    +-- 
    +2.43.0
    +
    
    diff --git a/meta-adi-adsp-sc5xx/recipes-kernel/linux/sharc_audio.inc b/meta-adi-adsp-sc5xx/recipes-kernel/linux/sharc_audio.inc
    index 4236cbd..69a67dc 100644
    --- a/meta-adi-adsp-sc5xx/recipes-kernel/linux/sharc_audio.inc
    +++ b/meta-adi-adsp-sc5xx/recipes-kernel/linux/sharc_audio.inc
    @@ -1,5 +1,6 @@
     HYBRID_AUDIO_PATCH = " \
     	file://0001-SC598-Audio-configuration-for-hybrid-audio-support.patch \
    +	file://0001-Patches-for-SC594-Audio-DSP.patch \
     "
     SHARC_ALSA_PATCH = " \
     	${HYBRID_AUDIO_PATCH} \
    -- 
    2.43.0
    
Children
No Data