1.. zephyr:board:: adi_eval_adin1110ebz
2
3Overview
4********
5
6The EVAL-ADIN1110EBZ is a flexible platform enabling quick evaluation of the ADIN1110, robust,
7low power 10BASE-T1L MAC-PHY. It provides 10Mbit per second Single Pair Ethernet (SPE) connections
8with devices across 1.7km of cable.
9
10The evaluation board offers two modes of operation for maximum flexibility. Connected to a PC
11via USB port, the full set of ADIN1110 register settings and features such as link quality
12monitoring and diagnostics can be accessed over the USB using serial command interface.
13The board also provides an Arduino interface.
14
15Alternatively, the board can operate in stand-alone mode where it is configured by setting hardware
16configuration links and switches. On-board LEDs provide status indication.
17
18The SPI interface provides configuration and data access to the ADIN1110.
19
20A small prototyping area and test points are provided for experimentation with alternative cable
21connection topologies including isolation transformers and/or power coupling inductors.
22
23.. important::
24
25   S201 DIP switches are shipped in Open Alliance SPI mode. The current Zephyr
26   default board configuration is set to work as "Generic SPI, CRC enabled",
27   so the S201 DIP switches must be set as ``SPI_CFG0 OFF`` and ``SPI_CFG1 ON``.
28   An inconsistent S201 DIP switches configuration will halt the boot.
29
30Hardware
31********
32
33The ADI EVAL-ADIN1110EBZ hardware features list is available here:
34
35https://wiki.analog.com/resources/eval/user-guides/eval-adin1110ebz-user-guide
36
37
38Supported Features
39==================
40
41The ADI adi_eval_adin1110ebz board configuration supports the
42following hardware features:
43
44+--------------+------------+-------------------------------------+
45| Interface    | Controller | Driver/Component                    |
46+==============+============+=====================================+
47| NVIC         | on-chip    | nested vector interrupt controller  |
48+--------------+------------+-------------------------------------+
49| UART         | on-chip    | serial port-polling;                |
50|              |            | serial port-interrupt               |
51+--------------+------------+-------------------------------------+
52| PINMUX       | on-chip    | pinmux                              |
53+--------------+------------+-------------------------------------+
54| GPIO         | on-chip    | gpio                                |
55+--------------+------------+-------------------------------------+
56| I2C          | on-chip    | i2c                                 |
57+--------------+------------+-------------------------------------+
58| SPI          | on-chip    | spi                                 |
59+--------------+------------+-------------------------------------+
60| PWM          | on-chip    | pwm                                 |
61+--------------+------------+-------------------------------------+
62| WATCHDOG     | on-chip    | independent watchdog                |
63+--------------+------------+-------------------------------------+
64| ADIN1110     | spi        | adin1110 10BASE-T1L mac/phy         |
65+--------------+------------+-------------------------------------+
66| FT232        | uart       | usb-uart                            |
67+--------------+------------+-------------------------------------+
68| ADT7422      | i2c        | temperature sensor                  |
69+--------------+------------+-------------------------------------+
70| ISS66WVE4M16 | fmc        | 8MB PSRAM                           |
71+--------------+------------+-------------------------------------+
72
73
74The default configuration can be found in the defconfig file:
75
76	:zephyr_file:`boards/adi/eval_adin1110ebz/adi_eval_adin1110ebz_defconfig`
77
78
79Connections and IOs
80===================
81
82ADI ADIN1110EBZ evaluation board has 7 GPIO controllers (from A to G). These controllers are
83responsible for pin muxing, input/output, pull-up, etc.
84
85For mode details please refer to `EVAL-ADIN1110EBZ User Guide <https://wiki.analog.com/resources/eval/user-guides/eval-adin1110ebz-user-guide>`_.
86
87Default Zephyr Peripheral Mapping:
88----------------------------------
89
90- UART_1 TX/RX : PA9/PA10 (UART to FT232)
91- UART_4 TX/RX : PA0/PA1 (Arduino Serial)
92- I2C1 SCL/SDA : PG14/PG13 (Arduino I2C)
93- I2C3 SCL/SDA : PG7/PG8 (Sensor I2C bus)
94- SPI1 SCK/MISO/MOSI : PA5/PA6/PA7 (Simple SPI to nor Flash)
95- SPI2 SCK/MISO/MOSI : PB13/PB14/PB15 (ADIN1110)
96- SPI3 SCK/MISO/MOSI : PC10/PC11/PC12 (Arduino SPI)
97- LD1 : PC13 (Green LED)
98- LD2 : PE2 (Red LED)
99- LD3 : PE6 (Yellow LED)
100- LD4 : PG15 (Blue LED)
101- PSRAM : PE0/PE1/PF0-PF15/PG0-PG5/PD11-PD13/PE3/PE4
102          PD14/PD15/PD9/PD1/PE7-PE15/PD8-PD10
103
104
105System Clock
106------------
107
108EVAL-ADIN1110EBZ System Clock could be driven by an internal or external oscillator, as well as
109the main PLL clock. By default the System clock is driven by the PLL clock at 80MHz, driven by the
11016MHz high speed internal oscillator.
111
112Serial Port
113-----------
114
115EVAL-ADIN1110EBZ has 2 U(S)ARTs. The Zephyr console output is assigned to UART1 that is connected
116to a FT232, so available through Micro USB connector. Default settings are 115200 8N1.
117
118
119Programming and Debugging
120*************************
121
122Flashing
123========
124
125EVAL-ADIN1110EBZ includes an ST-LINK/V2-1 JTAG/SWD 10 or 20 pin connector. This interface is
126supported by the openocd version included in Zephyr SDK.
127
128Flashing an application to  Discovery kit
129-----------------------------------------
130
131Connect the EVAL-ADIN1110EBZ to your host computer using the USB port, then run a serial host
132program to connect with your ADI board. For example:
133
134.. code-block:: console
135
136   $ minicom -D /dev/serial/by-id/usb-ADI_EVAL-ADIN1110EBZ_AVAS_XXXXXX-if00-port0
137
138where XXXXXX is the serial number of the connected device.
139Then, build and flash in the usual way. Here is an example for the :zephyr:code-sample:`hello_world` application.
140
141.. zephyr-app-commands::
142   :zephyr-app: samples/hello_world
143   :board: adi_eval_adin1110ebz
144   :goals: build flash
145
146You should see the following message on the console:
147
148.. code-block:: console
149
150   Hello World! adi_eval_adin1110ebz
151
152Debugging
153=========
154
155You can debug an application in the usual way.  Here is an example for the :zephyr:code-sample:`hello_world`
156application.
157
158.. zephyr-app-commands::
159   :zephyr-app: samples/hello_world
160   :board: adi_eval_adin1110ebz
161   :maybe-skip-config:
162   :goals: debug
163
164.. _EVAL-ADIN1110EBZ evaluation board website:
165   https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/eval-adin1110.html
166
167.. _EVAL-ADIN1110EBZ board User Guide:
168   https://wiki.analog.com/resources/eval/user-guides/eval-adin1110ebz-user-guide
169
170.. _ADIN1110 Datasheet:
171   https://www.analog.com/media/en/technical-documentation/data-sheets/adin1110.pdf
172
173.. _STM32L4S5QII3P reference manual:
174   https://www.st.com/resource/en/reference_manual/rm0432-stm32l4-series-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
175