1.. zephyr:board:: lpcxpresso55s28 2 3Overview 4******** 5 6The LPCXpresso55S28 development board provides the ideal platform for evaluation 7of and development with the LPC552x/S2x MCU based on the Arm® Cortex®-M33 8architecture. The board includes a high-performance onboard debug probe, audio 9subsystem and accelerometer, with several options for adding off-the-shelf 10add-on boards for networking, sensors, displays, and other interfaces. 11 12Hardware 13******** 14 15- LPC55S28 Arm® Cortex®-M33 microcontroller running at up to 150 MHz 16- 512 KB flash and 256 KB SRAM on-chip 17- Onboard, high-speed USB, Link2 debug probe with CMSIS-DAP and SEGGER J-Link 18 protocol options 19- UART and SPI port bridging from LPC55S28 target to USB via the onboard debug 20 probe 21- Hardware support for external debug probe 22- 3 x user LEDs, plus Reset, ISP (3) and user buttons 23- Micro SD card slot (4-bit SDIO) 24- NXP MMA8652FCR1 accelerometer 25- Stereo audio codec with line in/out 26- High and full speed USB ports with micro A/B connector for host or device 27 functionality 28- MikroEletronika Click expansion option 29- LPCXpresso-V3 expansion option compatible with Arduino UNO 30- PMod compatible expansion / host connector 31 32For more information about the LPC55S28 SoC and LPCXPresso55S28 board, see: 33 34- `LPC55S28 SoC Website`_ 35- `LPC55S28 Datasheet`_ 36- `LPC55S28 User Manual`_ 37- `LPCXpresso55S28 Website`_ 38- `LPCXpresso55S28 User Manual`_ 39- `LPCXpresso55S28 Development Board Design Files`_ 40 41Supported Features 42================== 43 44The lpcxpresso55s28 board configuration supports the hardware features listed 45below. For additional features not yet supported, please also refer to the 46:zephyr:board:`lpcxpresso55s69` , which is the superset board in NXP's LPC55xx series. 47NXP prioritizes enabling the superset board with NXP's Full Platform Support for 48Zephyr. Therefore, the lpcxpresso55s69 board may have additional features 49already supported, which can also be re-used on this lpcxpresso55s28 board: 50 51+-----------+------------+-------------------------------------+ 52| Interface | Controller | Driver/Component | 53+===========+============+=====================================+ 54| NVIC | on-chip | nested vector interrupt controller | 55+-----------+------------+-------------------------------------+ 56| SYSTICK | on-chip | systick | 57+-----------+------------+-------------------------------------+ 58| IOCON | on-chip | pinmux | 59+-----------+------------+-------------------------------------+ 60| GPIO | on-chip | gpio | 61+-----------+------------+-------------------------------------+ 62| I2C | on-chip | i2c | 63+-----------+------------+-------------------------------------+ 64| SPI | on-chip | spi | 65+-----------+------------+-------------------------------------+ 66| USART | on-chip | serial port-polling; | 67| | | serial port-interrupt | 68+-----------+------------+-------------------------------------+ 69| WWDT | on-chip | windowed watchdog timer | 70+-----------+------------+-------------------------------------+ 71| ADC | on-chip | adc | 72+-----------+------------+-------------------------------------+ 73| CLOCK | on-chip | clock_control | 74+-----------+------------+-------------------------------------+ 75| RNG | on-chip | entropy; | 76| | | random | 77+-----------+------------+-------------------------------------+ 78| IAP | on-chip | flash programming | 79+-----------+------------+-------------------------------------+ 80 81Other hardware features are not currently enabled. 82 83The default configuration file 84:zephyr_file:`boards/nxp/lpcxpresso55s28/lpcxpresso55s28_defconfig` 85 86Connections and IOs 87=================== 88 89The LPC55S28 SoC has IOCON registers, which can be used to configure 90the functionality of a pin. 91 92+---------+-----------------+----------------------------+ 93| Name | Function | Usage | 94+=========+=================+============================+ 95| PIO0_26 | SPI | SPI MOSI | 96+---------+-----------------+----------------------------+ 97| PIO0_29 | USART | USART RX | 98+---------+-----------------+----------------------------+ 99| PIO0_30 | USART | USART TX | 100+---------+-----------------+----------------------------+ 101| PIO1_1 | SPI | SPI SSEL | 102+---------+-----------------+----------------------------+ 103| PIO1_2 | SPI | SPI SCK | 104+---------+-----------------+----------------------------+ 105| PIO1_3 | SPI | SPI MISO | 106+---------+-----------------+----------------------------+ 107| PIO1_4 | GPIO | RED LED | 108+---------+-----------------+----------------------------+ 109| PIO1_6 | GPIO | BLUE_LED | 110+---------+-----------------+----------------------------+ 111| PIO1_7 | GPIO | GREEN LED | 112+---------+-----------------+----------------------------+ 113| PIO1_20 | I2C | I2C SCL | 114+---------+-----------------+----------------------------+ 115| PIO1_21 | I2C | I2C SDA | 116+---------+-----------------+----------------------------+ 117 118System Clock 119============ 120 121The LPC55S28 SoC is configured to use PLL1 clocked from the external 24MHz 122crystal, running at 144MHz as a source for the system clock. When the flash 123controller is enabled, the core clock will be reduced to 96MHz. The application 124may reconfigure clocks after initialization, provided that the core clock is 125always set to 96MHz when flash programming operations are performed. 126 127Serial Port 128=========== 129 130The LPC55S28 SoC has 8 FLEXCOMM interfaces for serial communication. One is 131configured as USART for the console and the remaining are not used. 132 133Programming and Debugging 134************************* 135 136Build and flash applications as usual (see :ref:`build_an_application` 137and :ref:`application_run` for more details). 138 139Configuring a Debug Probe 140========================= 141 142A debug probe is used for both flashing and debugging the board. This 143board is configured by default to use the LPC-Link2 CMSIS-DAP Onboard 144Debug Probe. 145 146Configuring a Console 147===================== 148 149Connect a USB cable from your PC to P6, and use the serial terminal of your 150choice (minicom, putty, etc.) with the following settings: 151 152- Speed: 115200 153- Data: 8 bits 154- Parity: None 155- Stop bits: 1 156 157Flashing 158======== 159 160Here is an example for the :zephyr:code-sample:`hello_world` application. 161 162.. zephyr-app-commands:: 163 :zephyr-app: samples/hello_world 164 :board: lpcxpresso55s28 165 :goals: flash 166 167Open a serial terminal, reset the board (press the RESET button), and you should 168see the following message in the terminal: 169 170.. code-block:: console 171 172 ***** Booting Zephyr OS v2.4.0 ***** 173 Hello World! lpcxpresso55s28 174 175Debugging 176========= 177 178Here is an example for the :zephyr:code-sample:`hello_world` application. 179 180.. zephyr-app-commands:: 181 :zephyr-app: samples/hello_world 182 :board: lpcxpresso55s28 183 :goals: debug 184 185Open a serial terminal, step through the application in your debugger, and you 186should see the following message in the terminal: 187 188.. code-block:: console 189 190 ***** Booting Zephyr OS zephyr-v2.4.0 ***** 191 Hello World! lpcxpresso55s28 192 193.. _LPC55S28 SoC Website: 194 https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc5500-cortex-m33/lpc552x-s2x-mainstream-arm-cortex-m33-based-microcontroller-family:LPC552x-S2x 195 196.. _LPC55S28 Datasheet: 197 https://www.nxp.com/docs/en/nxp/data-sheets/LPC55S2x_LPC552x_DS.pdf 198 199.. _LPC55S28 User Manual: 200 https://www.nxp.com/webapp/Download?colCode=UM11126 201 202.. _LPCxpresso55S28 Website: 203 https://www.nxp.com/design/software/development-software/lpcxpresso55s28-development-board:LPC55S28-EVK 204 205.. _LPCXpresso55S28 User Manual: 206 https://www.nxp.com/webapp/Download?colCode=UM11158 207 208.. _LPCXpresso55S28 Development Board Design Files: 209 https://www.nxp.com/webapp/Download?colCode=LPCXpresso55S69-DS 210