1.. _legend:
2
3Legend
4######
5
6Overview
7********
8The Legend board family contains three revisions: 25hdd, 25ssd, and 35.
9
10The Legend 2.5" HDD board (revision 25hdd) can be found in the Seagate FireCuda
11Gaming Hard Drive, Gaming Drive for Xbox and Gaming Drive for PlayStation
12devices. A 2.5" drive and two chips are embedded: an ASMedia ASM1153 USB-to-SATA
13bridge controller and a STM32F070 MCU. The former is handling the USB to HDD I/Os
14while the latter is dedicated to the LED effects. The two chips are connected
15together through I2C.
16
17The Legend 2.5" SSD board (revision 25ssd) is found in the Seagate SSD Gaming
18Drive for Xbox. A Realtek RTS5411S USB hub is embedded and connected to a Phison
19U17 2.5" SSD, as well as a STM32F070 MCU.
20
21The Legend 3.5" board (revision 35) can be found in the Seagate FireCuda Gaming
22Hub and Gaming Drive Hub for Xbox devices. A Genesys Logic GL3523-S USB hub is
23connected to an ASMedia ASM1153 USB-to-SATA bridge controller and a STM32F070
24MCU. The two chips are connected together using I2C.
25
26On all boards, the Zephyr port is running on the STM32F070 MCU.
27
28.. image:: img/firecuda_gaming_hard_drive.jpg
29   :align: center
30   :alt: Seagate FireCuda Gaming Hard Drive
31
32.. image:: img/firecuda_gaming_hub.jpg
33   :align: center
34   :alt: Seagate FireCuda Gaming Hub
35
36Hardware
37********
38
39- STM32F070cb MCU:
40
41  - ARM Cortex-M0+
42  - 16KB SRAM
43  - 128KB on-chip flash
44
45- External devices connected to the STM32F070cb MCU:
46
47  - ASMedia ASM1153 USB-to-SATA bridge (I2C master on port 1) (HDD only)
48  - 6 (hdd) or 4 (ssd) Everlight B1414 LEDs connected on SPI1 MOSI
49  - 1 white LED (HDD only)
50  - 64KB external SPI flash connected on SPI2
51
52Supported Features
53==================
54
55All the hardware features available on the Legend boards are supported by
56Zephyr.
57
58+-----------+------------+-------------------------------------+
59| Interface | Controller | Driver/Component                    |
60+===========+============+=====================================+
61| NVIC      | on-chip    | nested vector interrupt controller  |
62+-----------+------------+-------------------------------------+
63| SYSTICK   | on-chip    | systick                             |
64+-----------+------------+-------------------------------------+
65| CLOCK     | on-chip    | clock and reset control             |
66+-----------+------------+-------------------------------------+
67| GPIO      | on-chip    | gpio                                |
68+-----------+------------+-------------------------------------+
69| I2C       | on-chip    | i2c master/slave controller         |
70+-----------+------------+-------------------------------------+
71| UART      | on-chip    | serial                              |
72+-----------+------------+-------------------------------------+
73| SPI flash | on-chip    | spi_nor                             |
74+-----------+------------+-------------------------------------+
75| LED strip | on-chip    | ws2812                              |
76+-----------+------------+-------------------------------------+
77| USB       | on-chip    | usb                                 |
78+-----------+------------+-------------------------------------+
79
80
81Connections and IOs
82===================
83
84+---------+-----------------+----------------------------+
85| Name    | Function        | Usage                      |
86+=========+=================+============================+
87| PB6     | I2C1            | I2C1 SCL (HDD only)        |
88+---------+-----------------+----------------------------+
89| PB7     | I2C1            | I2C1 SDA (HDD only)        |
90+---------+-----------------+----------------------------+
91| PA10    | UART            | USART0 RX                  |
92+---------+-----------------+----------------------------+
93| PA9     | UART            | USART0 TX                  |
94+---------+-----------------+----------------------------+
95| PB0     | PWM             | Activity LED (HDD only)    |
96+---------+-----------------+----------------------------+
97| PB12    | SPI2            | SPI2 Enable                |
98+---------+-----------------+----------------------------+
99| PB13    | SPI2            | SPI2 Clock                 |
100+---------+-----------------+----------------------------+
101| PB14    | SPI2            | SPI2 MISO                  |
102+---------+-----------------+----------------------------+
103| PB15    | SPI2            | SPI2 MOSI                  |
104+---------+-----------------+----------------------------+
105| PA7     | LED strip       | SPI1 MOSI                  |
106+---------+-----------------+----------------------------+
107| PA12    | USB             | USB DM (25ssd and 35 only) |
108+---------+-----------------+----------------------------+
109| PA13    | USB             | USB DP (25ssd and 35 only) |
110+---------+-----------------+----------------------------+
111
112Programming and Debugging
113*************************
114
115Flashing
116========
117
118The STM32F070cb MCU can be flashed by connecting an external debug probe to the
119SWD port (on-board 4-pin header). In the default OpenOCD configuration, the
120ST Link interface is selected. You may need to replace it with the interface of
121your debug probe.
122
123Once the debug probe is connected to both the Legend board and your host
124computer, then you can simply run the ``west flash`` command to write a firmware
125image into flash.
126
127Debugging
128=========
129
130Please refer to the `Flashing`_ section and run the ``west debug`` command
131instead of ``west flash``.
132
133References
134**********
135
136- `STM32F070 reference manual`_
137
138.. _STM32F070 reference manual:
139   https://www.st.com/resource/en/reference_manual/dm00031936.pdf
140