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