1.. zephyr:board:: acp_6_0_adsp 2 3Overview 4******** 5 6ACP 6.0 is Audio co-processor in AMD SoC based on HiFi5 DSP Xtensa Architecture, 7Zephyr OS is ported to run various audio and speech use cases on 8the SOF based framework. 9 10SOF can be built with either Zephyr or Cadence's proprietary 11Xtensa OS (XTOS) and run on a ACP 6.0 AMD platforms. 12 13Hardware 14******** 15 16- Board features: 17 18 - RAM: 1.75MB HP SRAM & 512KB configurable IRAM/DRAM 19 - Audio Interfaces: 20 21 - 1 x SP (I2S, PCM), 22 - 1 x BT (I2S, PCM), 23 - 1 x HS (I2S, PCM), 24 - DMIC 25 26Supported Features 27================== 28 29The following hardware features are supported: 30 31+-----------+------------+-------------------------------------+ 32| Interface | Controller | Driver/Component | 33+===========+============+=====================================+ 34| I2S | on-chip | I2S controller | 35+-----------+------------+-------------------------------------+ 36| DMIC(PDM) | on-chip | PDM controller | 37+-----------+------------+-------------------------------------+ 38 39System Clock 40============ 41 42The ACP 6.0 SoC operates with an audio clock frequency ranging from 200 to 800 MHz. 43 44System requirements 45******************* 46 47Xtensa Toolchain (optional) 48=========================== 49 50The Zephyr SDK provides GCC-based toolchains necessary to build Zephyr for 51the AMD ACP boards. For users looking for higher optimization levels, 52building with the proprietary Xtensa toolchain from Cadence 53might be preferable. 54 55The following instructions assume you have purchased and 56installed the toolchain(s) and core(s) for your board following 57instructions from Xtensa documentation. 58 59If you choose to build with the Xtensa toolchain instead of the Zephyr SDK, set 60the following environment variables specific to the board in addition to the 61Xtensa toolchain environment variable listed below. 62 63First, make sure, the necessary license is available from 64Cadence and set the license variables as per the instruction from Cadence. 65Next, set the following environment variables: 66 67The bottom three variables are specific to acp_6_0. 68 69.. code-block:: shell 70 71 export XTENSA_TOOLCHAIN_PATH="tools installed path" 72 export XTENSA_BUILDS_DIR="user build directory path" 73 export ZEPHYR_TOOLCHAIN_VARIANT=xcc 74 export TOOLCHAIN_VER=RI-2019.1-linux 75 export XTENSA_CORE=LX7_HiFi5_PROD 76 77Programming and Debugging 78************************* 79 80Building 81======== 82 83Build as usual. 84 85.. zephyr-app-commands:: 86 :zephyr-app: samples/hello_world 87 :board: acp_6_0_adsp/acp_6_0 88 :goals: build 89 90Flashing 91======== 92 93AMD supports only signed images flashing on ACP 6.0 platforms 94through ACP Linux Driver. 95 96The following boot sequence messages can be observed in dmesg 97 98 - booting DSP firmware 99 - ACP_DSP0_RUNSTALL : 0x0 100 - ipc rx: 0x70000000 101 - Firmware info: version 2:11:99-03a9d 102 - Firmware: ABI 3:29:1 Kernel ABI 3:23:0 103 - mailbox upstream 0x0 - size 0x400 104 - mailbox downstream 0x400 - size 0x400 105 - stream region 0x1000 - size 0x400 106 - debug region 0x800 - size 0x400 107 - fw_state change: 3 -> 6 108 - ipc rx done: 0x70000000 109 - firmware boot complete 110