README.rst 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. .. SPDX-License-Identifier: GPL-2.0+
  2. ToC:
  3. - Introduction
  4. - Booting
  5. - Debugging
  6. - i2c
  7. Introduction
  8. ============
  9. The Embedded Artists LPC3250 Developer's Kit v2 features the LPC3250 SoC
  10. which is based on the ARM926EJ-S CPU. The kit features a base board and
  11. a removable OEM board which features the SoC. Details, schematics, and
  12. documentation are available from the Embedded Artists product website:
  13. https://www.embeddedartists.com/products/lpc3250-developers-kit-v2/
  14. The base board includes::
  15. - 200 pos, 0.6mm pitch SODIMM connector for OEM Board
  16. - LCD expansion connector with control signals for touch screen interface
  17. - Expansion connector with all OEM Board signals
  18. - Ethernet connector (RJ45)
  19. - CAN interface & connector (provision for second CAN interface, but not mounted)
  20. - MMC/SD interface & connector
  21. - USB1: OTG or Host interface & connector
  22. - USB2: Device or Host interface & connector
  23. - Provision for NXP JN5148 RF module (former Jennic) interface (RF module not included)
  24. - Full modem RS232 (cannot be fully used on 32-bit databus OEM boards)
  25. - RS422/485 interface & connector
  26. - Provision for IrDA transceiver interface (transceiver not mounted)
  27. - I2S audio codec (mic in, line in, line out, headphone out)
  28. - SWD/JTAG connector
  29. - Trace connector and pads for ETM connector
  30. - Serial Expansion Connector, 14-pos connector with UART/I2C/SPI/GPIO pins
  31. - Power supply, either via USB or external 5V DC
  32. - Optional coin cell battery for RTC and LED on ALARM output (coin cell not included)
  33. - OEM Board current measuring
  34. - Parallel NOR flash on external memory bus
  35. - 16-bit register and LEDs on external memory bus
  36. - 5-key joystick
  37. - LM75 temperature sensor (I2C connected)
  38. - 5 push-button keys (four via I2C and one on ISP-ENABLE)
  39. - 9 LEDs (8 via I2C and one on ISP-ENABLE)
  40. - Trimming potentiometer to analog input
  41. - USB-to-serial bridge on UART #0 (FT232R) and ISP functionality
  42. - Reset push-button and LED
  43. - Speaker output on analog output from OEM Board, or from I2S audio codec
  44. - 160x150 mm in size
  45. The OEM board::
  46. - ARMv5 ARM926EJ-S @ 266 MHz with hard-float VFPv2
  47. - 256 KByte IRAM, 64 MByte SDRAM
  48. - 128 MByte NAND flash
  49. - 4 MByte NOR Flash
  50. - Graphics Output: Parallel RGB
  51. - Hardware 2D/3D Graphic: No
  52. - Hardware Video: SW only
  53. - Graphics input: No
  54. - Audio: I2S
  55. - Ethernet: 10/100 Mbps
  56. - USB: 1x FS USB 2.0 OTG
  57. - Wi-Fi: No
  58. - FlexIO: No
  59. - Serial: 2x I2C, 2x SPI, 7x UART
  60. - ADC/PWM: 3 ch (10-bit) / 2 ch
  61. - SD: MCI
  62. - PCIe: No
  63. - Serial ATA: No
  64. - Size: 68 x 48 mm
  65. - Connector: 200 pos SODIMM
  66. Booting
  67. =======
  68. The processor will start its code execution from an internal ROM,
  69. containing the boot code. This boot loader can load code from one of four
  70. external sources to internal RAM (IRAM) at address 0x0::
  71. - UART5
  72. - SSP0 (in SPI mode)
  73. - EMC Static CS0 memory
  74. - NAND FLASH
  75. The ROM boot loader loads code as a single contiguous block at a maximum
  76. size of 56 kByte. Programs larger than this size must be loaded in more
  77. steps, for example, by a secondary boot loader.
  78. Kickstart Loader
  79. ----------------
  80. By default the Embedded Artists LPC3250 OEM Board is programmed with the
  81. kickstart loader in block 0 of the NAND flash. The responsibility of this
  82. loader is to load an application stored in block 1 and onwards of the NAND
  83. flash. The kickstart loader will load the application into internal RAM
  84. (IRAM) at address 0x0.
  85. Stage 1 Loader (s1l)
  86. --------------------
  87. By default the Embedded Artists LPC3250 OEM Board is programmed with the
  88. stage 1 loader (s1l) in block 1 of the NAND flash. This application will be
  89. loaded by the kickstart loader when the LPC3250 OEM Board powers up. The
  90. S1L loader will initialize the board, such as clocks and external memory
  91. and then start a console where you can give input commands to the loader.
  92. S1L offers the following booting options::
  93. - MMC/SD card
  94. - UART5
  95. - NAND Flash
  96. U-Boot with kickstart+s1l
  97. -------------------------
  98. Out of the box, the easiest way to get U-Boot running on the EA LPC3250
  99. DevKit v2 board is to build the ea-lpc3250devkitv2_defconfig, copy the
  100. resulting u-boot.bin to a vfat-formatted MMC/SD card, insert the MMC/SD card
  101. into the MMC/SD card slot on the board, reset the board (SW1), and::
  102. Embedded Artist 3250 Board (S1L 2.0)
  103. Build date: Oct 31 2016 13:00:37
  104. EA3250>load blk u-boot.bin raw 0x83000000
  105. File loaded successfully
  106. EA3250>exec 0x83000000
  107. Debugging
  108. =========
  109. JTAG debugging of the Embedded Artists LPC3250 Developer's Kit v2 board is
  110. easy thanks to the included/populated 20-pin JTAG port on the main board (J8).
  111. openocd 0.11 has been used with this board along with the ARM-USB-OCD-H JTAG
  112. dongle from Olimex successfully as follows:
  113. # openocd \
  114. -f interface/ftdi/olimex-arm-usb-ocd-h.cfg \
  115. -f board/phytec_lpc3250.cfg
  116. i2c
  117. ===
  118. Some of the LEDs on the board are connected via an I/O Expander (PCA9532) that
  119. is attached to the i2c1 bus. Here is a sample session of toggling some of
  120. these LEDs via i2c in U-Boot:
  121. show the existing i2c busses:
  122. EA-LPC3250v2=> i2c bus
  123. Bus 0: i2c@300
  124. Bus 1: i2c@400a0000
  125. Bus 2: i2c@400a8000
  126. set i2c1 as the current bus:
  127. EA-LPC3250v2=> i2c dev 1
  128. Setting bus to 1
  129. see what potential devices are found with rudimentary probing on i2c1:
  130. EA-LPC3250v2=> i2c probe
  131. Valid chip addresses: 1A 1D 48 50 57 60 66 6E
  132. According to the schematics the i2c slave address of the PCA9532 is 0x60.
  133. dump all of the 10 registers from the I/O Expander; NOTE that the 0x10 in the
  134. command specifies the self-incrementing mode of the PCA9532; also NOTE that
  135. the values repeat themseves to fill out a full 16 bytes:
  136. EA-LPC3250v2=> i2c md 0x60 0x10 10
  137. 0010: 00 ff 00 80 00 80 00 00 00 00 4f ff 00 80 00 80 ..........O.....
  138. turn on LEDs 23, 25, 27, and 29 (green):
  139. EA-LPC3250v2=> i2c mw 0x60 9 0x55
  140. turn on LEDs 22, 24, 26, and 28 (red):
  141. EA-LPC3250v2=> i2c mw 0x60 8 0x55
  142. dim the green LEDs (23, 25, 27, 29):
  143. EA-LPC3250v2=> i2c mw 0x60 3 0x20
  144. EA-LPC3250v2=> i2c mw 0x60 9 0xaa
  145. turn off all LEDs (23-29):
  146. EA-LPC3250v2=> i2c mw 0x60 8 0
  147. EA-LPC3250v2=> i2c mw 0x60 9 0
  148. read value of switches (input):
  149. EA-LPC3250v2=> i2c md 0x60 0 1
  150. 0000: 4f O
  151. [none are pressed]
  152. press and hold SW2 while running the following:
  153. EA-LPC3250v2=> i2c md 0x60 0 1
  154. 0000: 4e N
  155. [SW2 is pressed]