qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] fsl-imx6ul: add SAI1/2/3 and ASRC as unimplemented devices


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] fsl-imx6ul: add SAI1/2/3 and ASRC as unimplemented devices
Date: Tue, 10 Aug 2021 07:19:51 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

Hi Guenter,

On 8/10/21 6:10 AM, Guenter Roeck wrote:
> Define SAI1/2/3 and ASRC as unimplemented devices to avoid random
> Linux kernel crashes.

Relevant dmesg output could be useful.

> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
>  hw/arm/fsl-imx6ul.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c
> index e0128d7316..48b60eb3ce 100644
> --- a/hw/arm/fsl-imx6ul.c
> +++ b/hw/arm/fsl-imx6ul.c
> @@ -534,6 +534,13 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error 
> **errp)
>       */
>      create_unimplemented_device("sdma", FSL_IMX6UL_SDMA_ADDR, 0x4000);
>  
> +    /*
> +     * SAI

"Audio SSI (Synchronous Serial Interface)"

> +     */
> +    create_unimplemented_device("sai1", FSL_IMX6UL_SAI1_ADDR, 0x4000);
> +    create_unimplemented_device("sai2", FSL_IMX6UL_SAI2_ADDR, 0x4000);
> +    create_unimplemented_device("sai3", FSL_IMX6UL_SAI3_ADDR, 0x4000);

Hmm I see these named SSI[123] in the datasheet.

  The Synchronous Serial Interface (SSI) is a full-duplex serial
  port that allows communication with external devices using a
  variety of serial protocols. The SSI supports a wide variety of
  protocols (SSI normal, SSI network, I2S, and AC-97), bit depths
  (up to 24 bits per word), and clock/frame sync options.

  The three SSIs may support three audio streams (possibly at
  different sample rates) simultaneously. SSI1, SSI2 and SSI3 are
  located on the Shared Peripheral Bus. Since the SDMA can directly
  access SSI1...SSI3 (being on the Shared Peripheral Bus), they can
  be used for high-bandwidth data transfers in order to optimize
  bus bandwidth consumption.

Since QEMU models SPI devices in hw/ssi/, having the devices named
"sai*" is OK.

> +
>      /*
>       * PWM
>       */
> @@ -542,6 +549,11 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error 
> **errp)
>      create_unimplemented_device("pwm3", FSL_IMX6UL_PWM3_ADDR, 0x4000);
>      create_unimplemented_device("pwm4", FSL_IMX6UL_PWM4_ADDR, 0x4000);
>  
> +    /*
> +     * ASRC

"Audio ASRC (asynchronous sample rate converter)"

Preferably updating the descriptions:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> +     */
> +    create_unimplemented_device("asrc", FSL_IMX6UL_ASRC_ADDR, 0x4000);
> +
>      /*
>       * CAN
>       */
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]