1.. _ip_k66f:
2
3SEGGER IP Switch Board
4######################
5
6Overview
7********
8
9The Segger IP Switch Board is a Evaluation board based on NXP Kinetis K66 MCU.
10It comes with Micrel/Microchip KSZ8794CNX integrated 4-port 10/100 managed
11Ethernet switch with Gigabit RGMII/MII/RMII interface.
12
13- KSZ8794CNX enables evaluation for switch functions
14- On-board debug probe J-Link-OB for programming
15
16.. image:: ip_k66f.jpg
17   :align: center
18   :alt: IP-K66F
19
20Hardware
21********
22
23- MK66FN2M0VMD18 MCU (180 MHz, 2 MB flash memory, 256 KB RAM, low-power,
24  crystal-less USB
25- Dual role USB interface with micro-B USB connector
26- 2 User LED
27- On-board debug probe J-Link-OB for programming
28- Micrel/Microchip Ethernet Switch KSZ8794CNX with 3 RJ45 connectors
29
30For more information about the K66F SoC and IP-K66F board:
31
32- `K66F Website`_
33- `K66F Datasheet`_
34- `K66F Reference Manual`_
35- `IP-K66F Website`_
36- `IP-K66F User Guide`_
37- `IP-K66F Schematics`_
38
39Supported Features
40==================
41
42The ip_k66f board configuration supports the following hardware features:
43
44+-----------+------------+-------------------------------------+
45| Interface | Controller | Driver/Component                    |
46+===========+============+=====================================+
47| NVIC      | on-chip    | nested vector interrupt controller  |
48+-----------+------------+-------------------------------------+
49| SYSTICK   | on-chip    | systick                             |
50+-----------+------------+-------------------------------------+
51| PINMUX    | on-chip    | pinmux                              |
52+-----------+------------+-------------------------------------+
53| GPIO      | on-chip    | gpio                                |
54+-----------+------------+-------------------------------------+
55| WATCHDOG  | on-chip    | watchdog                            |
56+-----------+------------+-------------------------------------+
57| FLASH     | on-chip    | soc flash                           |
58+-----------+------------+-------------------------------------+
59| RTC       | on-chip    | rtc                                 |
60+-----------+------------+-------------------------------------+
61
62The default configuration can be found in the defconfig file:
63
64	``boards/arm/ip_k66f/ip_k66f_defconfig``
65
66Micrel/Microchip KSZ8794CNX Ethernet Switch is not currently
67supported.
68
69Connections and IOs
70===================
71
72The K66F SoC has five pairs of pinmux/gpio controllers.
73
74+-------+-----------------+---------------------------+
75| Name  | Function        | Usage                     |
76+=======+=================+===========================+
77| PTA8  | GPIO            | Red LED                   |
78+-------+-----------------+---------------------------+
79| PTA10 | GPIO            | RED LED                   |
80+-------+-----------------+---------------------------+
81
82System Clock
83============
84
85The K66F SoC is configured to use the 12 MHz low gain crystal oscillator on the
86board with the on-chip PLL to generate a 180 MHz system clock.
87
88Serial Port
89===========
90
91The K66F SoC has six UARTs. None of them are used.
92
93Programming and Debugging
94*************************
95
96Build and flash applications as usual (see :ref:`build_an_application` and
97:ref:`application_run` for more details).
98
99Configuring a Debug Probe
100=========================
101
102A debug probe is used for both flashing and debugging the board. This board is
103configured by default to use the :ref:`opensda-jlink-onboard-debug-probe`.
104
105:ref:`opensda-jlink-onboard-debug-probe`
106--------------------------------------------------
107
108Install the :ref:`jlink-debug-host-tools` and make sure they are in your search
109path.
110
111Follow the instructions in :ref:`opensda-jlink-onboard-debug-probe` to program
112the `OpenSDA J-Link Generic Firmware for V3.2 Bootloader`_. Note that Segger
113does provide an OpenSDA J-Link Board-Specific Firmware for this board, however
114it is not compatible with the DAPLink bootloader.
115
116The default flasher is ``jlink`` using the built-in SEGGER Jlink interface.
117
118Flashing
119========
120
121Here is an example for the :zephyr:code-sample:`blinky` application.
122
123.. zephyr-app-commands::
124   :zephyr-app: samples/basic/blinky
125   :board: ip_k66f
126   :goals: flash
127
128Red LED0 should blink at 1 second delay.
129
130Debugging
131=========
132
133Here is an example for the :zephyr:code-sample:`blinky` application.
134
135.. zephyr-app-commands::
136   :zephyr-app: samples/basic/blinky
137   :board: ip_k66f
138   :goals: debug
139
140Step through the application in your debugger.
141
142.. _IP-K66F Website:
143   https://www.segger.com/evaluate-our-software/segger/embosip-switch-board/
144
145.. _IP-K66F User Guide:
146   https://www.segger.com/downloads/emnet/UM06002
147
148.. _IP-K66F Schematics:
149   https://www.segger.com/downloads/emnet/embOSIP_SwitchBoard_V2.0_WEB_Schematic.pdf
150
151.. _K66F Website:
152   https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k6x-ethernet/kinetis-k66-180-mhz-dual-high-speed-full-speed-usbs-2mb-flash-microcontrollers-mcus-based-on-arm-cortex-m4-core:K66_180
153
154.. _K66F Datasheet:
155   https://www.nxp.com/docs/en/data-sheet/K66P144M180SF5V2.pdf
156
157.. _K66F Reference Manual:
158   https://www.nxp.com/webapp/Download?colCode=K66P144M180SF5RMV2
159
160.. _OpenSDA J-Link Generic Firmware for V3.2 Bootloader:
161   https://www.segger.com/downloads/jlink/OpenSDA_V3_2
162
163Serial console
164==============
165
166The ``ip_k66f`` board only uses Segger's RTT console for providing serial
167console. There is no physical serial port available.
168
169- To communicate with this board one needs in one console:
170
171``/opt/SEGGER/JLink_V664/JLinkRTTLogger -Device MK66FN2M0XXX18 -RTTChannel 1 -if SWD -Speed 4000 ~/rtt.log``
172
173- In another one:
174
175``nc localhost 19021``
176