Commit Graph

220 Commits

Author SHA1 Message Date
Gregory Nutt
1d2a69539b Squashed commit of the following:
arch/arm/src/max326xx/max32660/max32660_serial.c:  Add a mostly commented out serial driver.  With this, we can accomplish a complete build with many warnings for 'Missing logic'
    configs/max32660-evsys/src/max326_button.c:  Add support for the on-board button.
    arch/arm/src/max326xx:  Add a mostly empty max326_lowputc.c file mostly so that we can get further in the compilation.  Fixed several more compile errors revealed by this.
    arch/arm/src/max326xx:  Add peripheral clock control header file.
2018-11-19 10:47:28 -06:00
Gregory Nutt
13d902a0a5 arch/arm/src/max326xx: Bring in some mostly standard, ARMv7-M, 'boilerplate' files. 2018-11-16 15:33:01 -06:00
Gregory Nutt
6d93658ff8 Add new configuratin CONFIG_NET_MCASTGROUP. This option is selected automatically if either CONFIG_NET_IGMP or CONFIG_NET_MLD are selected. Most conditional logic based on CONFIG_NET_IGMP replaced with conditioning on CONFIG_NET_MCASTGROUP. 2018-10-31 15:03:51 -06:00
Dave Marples
ba95cfe067 Eliminate some warnings. 2018-10-25 06:48:11 -06:00
Gregory Nutt
c6a480f8ff arch/arm/src/lpc54xx/lpc54_sdmmc.c: Ported the last of Dave Marples fixes to the LPC54. Not yet verified. 2018-10-24 18:15:17 -06:00
Gregory Nutt
4901710fc7 Dave Marples refinements should be applied to the LPC54 as well 2018-10-24 08:29:17 -06:00
Gregory Nutt
37fafccaa1 arch/arm/src/lpc54xx/lpc54_sdmmc.c: This commit ports Dave Marple's patch for the LPC43 SD/MMC to the LPC54. See commit 98f268b303 2018-10-23 10:51:54 -06:00
Gregory Nutt
729b2e1907 arch/arm/src/lpc43xx/Kconfig: Restored dependency on EXPERIMENTAL for LPC43_SDMMC. 2018-10-23 06:22:40 -06:00
Gregory Nutt
41ebb6d672 arch/arm/src/lpc54xx/lpc54_sdmmc.c: Tested Dave Marple's LPC43 fix with the LPC54. Does not work. This commit adds support for and SDMMC errata and setting of the delay register which was missing in the previous commit. It appears that now I can read the SD card successfully, but I get CRC errors when writing to the card. 2018-10-22 09:35:02 -06:00
Gregory Nutt
4b0327d845 arch/arm/src/lpc54/lpc54_sdmmc: Port Dave Marple's LPC43 USB DCD fix to the LPC54 with appropriate changed. 2018-10-21 17:55:51 -06:00
Gregory Nutt
805c1bc2b9 Cosmetic changes for coding standard fixes. 2018-10-20 18:15:44 -06:00
Gregory Nutt
f8bfbd58c5 arch/arm/src/armv7-m/up_trigger_irq.c: Add logic to trigger ARMv7-M interrupts and exceptions. 2018-08-25 10:23:21 -06:00
Gregory Nutt
9bc951a335 Rename devif_loopback_out to devi_loopback 2018-08-25 08:33:21 -06:00
Xiang Xiao
0074afa0ac net/netdev: add devif_loopback_out() to check the loopback case where a packet is being sent to itself. Modify the net driver to call this function in this case. This function will simply re-inject the packet back into the network and the network driver will not put anything on the wire. 2018-08-24 09:21:33 -06:00
Gregory Nutt
8c61c2f31b Remove trailing spaces at the end of lines. 2018-08-13 07:39:38 -06:00
Gregory Nutt
10069067c1 include/nuttx/i2c/i2c_master.h: Rename I2C_M_NORESTART to I2C_M_NOSTART since it may be used in other contexts than a repeated start. Add comments to clarilfy setup for repeated start. 2018-08-03 08:51:55 -06:00
Alan Carvalho de Assis
283b73edc5 Fix lots of typos in C comments and Kconfig help text 2018-07-08 18:24:45 -06:00
kxjiang
70dc642da3 The LPC54608 can only run at a maximum frequency of 180Mhz. This configuration requires uses the clk_in, external crystal clock, to drive the PLL. When that input was selected, the board bootup failed waiting for the PLL to lock. After referring the driver from NXP, we should turn on power sources for the ext clock if system pll input select clk_in. NOTE that the LPC54628 did not require this step... perhaps because the system oscillator power was already enabled. 2018-07-08 06:58:14 -06:00
Gregory Nutt
22cd0d47fa This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE.
This makes the user interface a little hostile.  People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header).  A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length.  Instead, we define the packet buffer size then derive the MTU.

The MTU is not common currency in networking.  On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP).  Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes.  So we should be all good and without the recurring 14 byte error in MTU's and MSS's.

Squashed commit of the following:

    Trivial update to fix some spacing issues.
    net/: Rename several macros containing _MTU to _PKTSIZE.
    net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE.  This is not the MTU which does not include the size of the link layer header.  This is the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename the file d_mtu in the network driver structure to d_pktsize.  That value saved there is not the MTU.  The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header.  The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
Gregory Nutt
8bd9cfe038 Squashed commit of the following:
arch/arm:  Remove support for CONFIG_ARMV7M_CMNVECTOR.  It is now the only vector support available.  Also remove CONFIG_HAVE_CMNVECTOR.  That no longer signifies anything."
    arch/arm/src/stm32:  This commit removes support for the dedicated vector handling from the STM32 architecture support. Only common vectors are now supported.
2018-06-20 12:30:37 -06:00
Juha Niskanen
e0aa6ed48c arch/arm/src: Change ASSERT macros to DEBUGASSERT. 2018-06-06 06:34:14 -06:00
Gregory Nutt
5f0af167df Trivial fix of two typos 2018-03-13 16:39:36 -06:00
Gregory Nutt
b54ffe858a Standardization of some function headers. 2018-03-13 09:52:27 -06:00
Dmitriy Linikov
a8c58607e9 Merged in hardlulz/modem-3.0-nuttx/fix-sem-EINTR (pull request #603)
Added ECANCELED condition to DEBUGASSERT-s checking sem_wait result

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-02-20 18:24:53 +00:00
Gregory Nutt
1e59d9dd14 armv7-a, armv7-r, armv7-m: Add atomic read-add-write and read-subtract-write functions. 2018-02-04 12:22:03 -06:00
Gregory Nutt
7cf88d7dbd Make sure that labeling is used consistently in all function headers. 2018-02-01 10:00:02 -06:00
Gregory Nutt
da50646bcf sched/wdog: wd_start() is an internal OS function and should not set the errno value. Reviewed and updated every call to wd_start() to verify if return value is used and if so if the errno value is accessed. 2018-01-31 10:09:14 -06:00
Gregory Nutt
a8b6be4aaf The existence of the network driver ioctl() method should depend on CONFIG_NETDEV_IOCTL rather than CONFIG_NETDEV_PHY_IOCTL. The former enables the method, the later enables a subset of possible driver IOCTLs. This change should be basically a no-operation. The affected ioctl methods only support those subset of driver IOCTLs selected by CONFIG_NETDEV_PHY_IOCTL and the network logic will tolerate a nul ioctl method. 2018-01-22 08:17:45 -06:00
Gregory Nutt
8f94ce46f9 arch/arm/src/lpc54xx: The basic SPI driver is code complete but still untested. This driver is 'basic' in that in only supports polled mode operations. 2018-01-14 12:09:26 -06:00
Gregory Nutt
134bac3810 arch/arm/src/lpc54xx: Add configuration logic to the empty SPI driver. Still missing all data tranfer logic. 2018-01-13 15:38:55 -06:00
Gregory Nutt
e7db11fc55 arch/arm/src/lpc54xx: LPC54xx Ethernet driver no long depends on EXPERIMENTAL. 2018-01-02 11:17:25 -06:00
Gregory Nutt
d04f166d84 arch/arm/src/lpc54xx: Add some hooks for future 802.1q VLAN support. configs/lpcxpresso-lpc54628: Automatically bring up network in the netnsh configuration. 2018-01-02 08:49:09 -06:00
Gregory Nutt
c3d3e91a3f arch/arm/src/lpc54xx: Correct handling of the Ethernet RBU error. With this fix, Ethernet now appears to be fully functional although still undertested. 2018-01-01 15:08:19 -06:00
Gregory Nutt
24b594cbc4 arch/arm/src/lpc54xx: Back out address filtering change in commit 3c65be8c1a 2018-01-01 11:17:32 -06:00
Gregory Nutt
3c65be8c1a arch/arm/src/lpc54xx: Fix a few more Ethernet issues related to buffer management and address filtering. 2018-01-01 08:54:31 -06:00
Gregory Nutt
fd10eaf1fb arch/arm/src/lpc54xx: Fix several more issues in bring-up of Ethernet driver. Still not fully functional. 2017-12-31 17:16:21 -06:00
Gregory Nutt
f624c504d1 arch/arm/src/lpc54xx: Fixes a few more Ethernet bring up bugs. Rx seems to work; Tx does not. 2017-12-31 14:49:13 -06:00
Gregory Nutt
b2adb4917f arch/arm/src/lpc54xx: Add register level debug output for Ethernet testing. Fixed a few start up problems. Still hangs on start-up, however. 2017-12-31 11:11:57 -06:00
Gregory Nutt
63c055e1ee arch/arm/src/lpc54xx: Ethernet. Remove last of #warning issues. No compiles with no warnings/errors. 2017-12-30 19:46:37 -06:00
Gregory Nutt
2de08627e0 arch/arm/src/lpc54xx: Finishes open design issues with AVBTP multi-channel operation. 2017-12-30 19:05:39 -06:00
Gregory Nutt
13b5d4de96 arch/arm/src/lpc54xx: Resolves some design issues with multicast address filtering and also with AVBTP multi-channel operation (the latter design is still incomplete). 2017-12-30 17:19:37 -06:00
Gregory Nutt
f23fb9dd14 arch/arm/src/lpc54xx: Completes basic packet transfer logic for Ethernet drivers. Still some unfinished logic for IPv6 multicast logic and for various non-mainstream configurations. But it is ready for tested. configs/lpcxpresso-lpc54628: Add a netnsh configuration that will be used to test the Ethernet driver. Untested on initial commit. 2017-12-30 12:51:57 -06:00
Gregory Nutt
2fb441b145 arch/arm/src/lpc54xx: Adds Ethernet Tx done handling. 2017-12-29 17:28:38 -06:00
Gregory Nutt
6315f6468d arch/arm/src/lpc54xx: Adds basic Ethernet interrupt handling. Still missing all of the descriptor and packetk buffer handling logic. 2017-12-29 14:29:52 -06:00
Gregory Nutt
5146725edc arch/arm/src/lpc54xx: Addes packet buffer and DMA descriptor logic 2017-12-29 13:17:43 -06:00
Gregory Nutt
5394681dea arch/arm/src/lpc54xx: Finishes basic MAC configruation. Began adding DMA descriptor definitions. 2017-12-29 10:27:20 -06:00
Gregory Nutt
ebdc3b9b58 arch/arm/src/lpc54xx: Continuing with Ethernet initializatino logic. Added MTL initialization and partial MAC initialization. 2017-12-28 11:44:02 -06:00
Gregory Nutt
66f632c3a3 arch/arm/src/lpc54xx: Add some Ethernet DMA initialization logic. 2017-12-27 13:54:59 -06:00
Gregory Nutt
cb9e1e7716 arch/arm/src/lpc54xx: Add some Ethernet PHY initialization logic. 2017-12-27 12:01:24 -06:00
Gregory Nutt
31330b2479 arch/arm/src/lpc54xx: Add a little -- very little -- Ethernet initialization logic. 2017-12-26 16:30:57 -06:00
Gregory Nutt
f5c5f89592 arch/arm/src/lpc54xx: Add (incomplete) Ethernet register definition file. Add framework for an Ethernet driver. Initial commit is just the drivers/skeleton.c with naming updated for the LPC54. 2017-12-26 12:55:58 -06:00
Gregory Nutt
edef041f93 arch/arm/src/lpc54xx: Add support for a random number generator. 2017-12-26 10:20:41 -06:00
Gregory Nutt
0b91074850 arch/arm/src/lpc54xx: Add an RTC driver and a RTC character driver lower half. configs/lpcxpresso-lpc54628: Add logic to register the RTC character driver if it is enabled. Enable the RTC and RTC character driver in the NSH configuration. 2017-12-25 13:56:06 -06:00
Gregory Nutt
7e7bdd181f Cosmetic fixes to comments, README, and other trivial corrections. 2017-12-25 10:45:47 -06:00
Gregory Nutt
458f9f4e67 arch/arm/src/lpc54xx: More WDT-related changes. 2017-12-24 15:40:46 -06:00
Gregory Nutt
3119629ff0 arch/arm/src/lpc54xx: Bring in WWDT driver from LPC43. 2017-12-24 15:00:20 -06:00
Gregory Nutt
382989a1b9 arch/arm/src/lpc54xx: DMA driver is code compelete. Untested and still needs more review. 2017-12-24 14:28:39 -06:00
Gregory Nutt
321c524c5f arch/arm/src/lpc54xx: Add DMA register definition file and skeletal DMA driver. The initial commit of the DMA driver is simply the LPC43xx GPDMA driver with name changes and all all register access removed. 2017-12-24 10:55:46 -06:00
Gregory Nutt
7ce881051a lpc43/lpc54 SDMMC: Add missing test for response errors in interrupt handler. 2017-12-23 18:13:53 -06:00
Gregory Nutt
0a5d9af33c lpc43/54 SDMMC: Remove some useless code. lpc54: Fix typos in the IOCON register definition file. Lpcxpresso-Lpc54628: Fix typols in board.h file 2017-12-23 14:25:21 -06:00
Gregory Nutt
b329b8c1e4 Squashed commit of the following:
lpc43/54 SDMMC:  Wading through bits trying to make sense out of what is a event want interrupt which deal mostly with commands+responses and what is a data transfer event.  DTO is the only wildcard.  I think this clear now but DMA transfers will fail with CRC error.
    lpc43/54 SDMMC:  DTO is a wait event, not a transfer event.
    lpc43/54 SDMMC:  Significant simplication to previous design.  More debug output.
    lpc43/54 SDMMC:  Don't allow duplicate events in waitmask and xfrmask.
    lpc43/54 SDMMC:  Not all interrupts were being disabled at the end of a transfer.
    lpc43/54 SDMMC:  Defer enabling DMA transfer interrupts until after command has been sent.
2017-12-23 11:42:04 -06:00
Gregory Nutt
6fa734457d lpc43/lpc54 SDMDC: Don't enable internal DMA in the control register if not doing internal DMA. Clear pending DMA-related interrupts before enabling them. 2017-12-22 15:16:14 -06:00
Gregory Nutt
1117a6e8ce Revert "lpc43xx and lpc54xx: No handling the wide bus MMC/SD interface correctly."
This reverts commit 4d6bf46480.
2017-12-22 14:39:59 -06:00
Gregory Nutt
9994bacf7e Revert "Fix some missing semicolons in conditional logic of last commit."
This reverts commit f0d36ebf1f.
2017-12-22 14:39:47 -06:00
Gregory Nutt
f0d36ebf1f Fix some missing semicolons in conditional logic of last commit. 2017-12-22 12:28:17 -06:00
Gregory Nutt
4d6bf46480 lpc43xx and lpc54xx: No handling the wide bus MMC/SD interface correctly. 2017-12-22 11:59:45 -06:00
Gregory Nutt
bfb3eb38be LPC54/43: SDMMC driver: Need to disable DMA interrupts at completion of DMA. 2017-12-22 11:03:54 -06:00
Alan Carvalho de Assis
3ce21c5fe1 arch/arm/src/lpc43xx: Fix some small issues on LPC43 SDMMC driver 2017-12-22 10:23:09 -06:00
Gregory Nutt
6ed875a63b Leverage the LPC54xx back to the LPC43xx (where it came from originally)
Squashed commit of the following:

    arch/arm/src/lpc43xx:  SDMMC driver now builds for the LPC43 (provided that the proper definitions appear in the board.h file).
    arch/arm/src/lpc43xx:  Update basic changes to the ported lpc54xx driver for lpc43xx clocking and GPIOs.
    arch/arm/src/lpc43xx:  Brings in the LPC54xx SD/MMC driver with absolutely no changes other than changing all occurences of 54 to 43.
    arm/arm/src/lpc43xx:  Add build support for the lpc54 SDMMC driver.
    lpc54 SDMMC:  Check for successful data transfer last.  Checking first means that we miss errors.
2017-12-22 08:16:19 -06:00
Gregory Nutt
7add46bab5 lpc54 SDMMC. Some trivial naming improvements. 2017-12-22 07:19:13 -06:00
Gregory Nutt
c431177c0f LPC54xx: Update a README; fix a error in a DEBUGASSERTION in the SDMMC driver. 2017-12-21 12:19:15 -06:00
Gregory Nutt
d9f58fad39 Which these changes DMA now works on the LPC54xx
Squashed commit of the following:

    arch/arm/src/lpc54xx:  SDMMC fixes.. DMA should not be enabled on non-DMA transfers, the burst setting in FIFOTH is supposed to match the burst setting in the BMOD reseters, Add DMA error interrupt support.
    arch/arm/src/lpc54xx:  Mostly costmetic changes to the SDMMC driver.
2017-12-21 09:35:36 -06:00
Gregory Nutt
b26c70b11f arch/arm/src/lkpc54xx: In SDMMC driver, fix an error which was clobbering the interrupt mask register (xfrmask). Also, add a kludge for the missing DTO interrupt. 2017-12-20 18:39:10 -06:00
Gregory Nutt
eef12f1f91 arch/arm/src/lpc54xx: In SDMMC driver, add logic to transfer data when TXDR or RXDR interrupts occur. Also, add logic to set the RX watermark to 2 when receiving short, non-DMA data transfers. 2017-12-20 17:27:52 -06:00
Gregory Nutt
8938550072 arch/arm/src/lpc54xx: In SDMMC driver, don't do DMA if the entire transfer will fit in the FIFO. 2017-12-20 14:38:09 -06:00
Gregory Nutt
96e6835793 arch/arm/sr/lpc54xx: Add support for power pin to SDMMC driver. Some fixes from initial testing. 2017-12-20 13:42:57 -06:00
Gregory Nutt
31db67cad7 arch/arm/src/lpc54xx: SDMMC pin configurations should have SLEW on and FILTER off. 2017-12-20 11:47:30 -06:00
Gregory Nutt
c867d42018 arch/arm/src/lpc54xx: Add support for card detect and write protect to SDMMC driver. configs/lpcxpresso-lpc54628: Add logic to bring up SDMMC. 2017-12-20 10:52:05 -06:00
Gregory Nutt
793c8b785a arch/arm/src/lpc54: Missed a change in the last commit 2017-12-19 15:11:22 -06:00
Gregory Nutt
321a7a64af arch/arm/src/lpc54xx and configs/lpcxpresso-lpc54628: Correct some SD/MMC clock divider logic. 2017-12-19 14:05:36 -06:00
Gregory Nutt
93b28017ab arch/arm/src/lpc54xx: Make the SPI driver selections EXPERIMENTAL since the SPI peripherals are not fully implemented. 2017-12-19 13:09:15 -06:00
Gregory Nutt
a8933f96bd configs/lpcxpresso-lpc54628: Fix SD/MMC clock divisor. 2017-12-19 12:43:44 -06:00
Gregory Nutt
ba1301a43a arch/arm/src/lpc54xx: Make the SDMCC driver selection EXPERIMENTAL since it has not yet been verified. 2017-12-19 12:23:37 -06:00
Gregory Nutt
5a66684293 Squashed commit of the following:
arch/arm/src/lpc54xx:  Adds the LPC54-specific clock configuration logic to the leveraged SD/MMC driver.
    arch/arm/src/lpc54xx:  Leveraged SD/MMC driver builds without error but is still missing clock configuration logic.
    arch/arm/src/lpc54xx:  Bring in LPC43xx SD/MMC driver from https://github.com/Smoothieware/smoothie-nuttx/tree/master/nuttx/arch/arm/src/lpc43xx
2017-12-19 12:09:22 -06:00
Gregory Nutt
c17651e26e arch/arm/include/lpc54xx: Add SD/MMC header file. 2017-12-19 09:12:42 -06:00
Gregory Nutt
3dfe0f309c arch/arm/src/lpc54xx: Add WWDT header file. 2017-12-16 17:50:59 -06:00
Gregory Nutt
de4fc5864f arch/arm/src/lpc54xx: Fix some GPIO interrupt configuration errors. Add logic to acknowledge rising/falling edge events. config/lpcxpresso-lpc545628: Add an intermediate interrupt handler to support acknowledgement of rising and falling edge interrupts. 2017-12-16 15:34:41 -06:00
Gregory Nutt
5a12079e53 arch/arm/src/lpc54xx: Implement GPIO interrupt support. configs/lpcxpress-lpc54628: Add support for the USER button. Enable the apps/examples/button test in the NSH configuration. 2017-12-16 13:00:06 -06:00
Gregory Nutt
4c72f57273 arch/arm/src/lpc54xx: I2C now appears to be functional. Needs more testing. 2017-12-15 14:58:37 -06:00
Gregory Nutt
c8a8eb028f arch/arm/src/lpc54xx: Complete coding of the I2C driver. It is not yet functional and has not yet been seriously tested. config/lpcxpresso-lpc54628: Add support for I2C2 and for the I2C tool to the nsh configuration. 2017-12-15 11:38:55 -06:00
Gregory Nutt
9638f3f065 fs/fat: CONFIG_FAT_MAXFNAME may not exceed NAME_MAX (CONFIG_NAME_MAX) 2017-12-15 06:19:14 -06:00
Gregory Nutt
eed14e5eb1 arch/arm/src/lpc43xx: Add I2C stop logic. 2017-12-14 18:06:40 -06:00
Gregory Nutt
c50b4f5504 arch/arm/src/lpc43xx: Add helper macros to simplify peripheral configuration for new drivers; rename some other helper macros to make their operation clearer. Begin fleshing out the I2C driver. 2017-12-14 17:29:15 -06:00
Gregory Nutt
c53d88c75c Squashed commit of the following:
arch/arm/src/lpc54xx:  LCD.. Fix some miconceptions about how the video address lines are used.
    arch/arm/src/lpc54xx:  Fix some LCD BPP and BRG vs RGB settings.
2017-12-14 10:45:53 -06:00
Gregory Nutt
43a88c1428 arch/arm/src/lpc54xx: Fix some LCD clocking. This eliminates the hang problem. That is now recognizable albeit corrupted data on the display. 2017-12-13 19:07:10 -06:00
Gregory Nutt
d93a2d4f39 arch/arm/src/lpc54xx: Add reset logic. Some changes while debugging LDC. Does not yet work (hangs). 2017-12-13 14:36:58 -06:00
Gregory Nutt
f215660296 configs/lpcxpresso-lpc54628: Add the fb configuration testing the LCD. arch/arm/src/lpc54xx: Various fixes needed to get the fb configuration to build errorfree. The configuration is not functional as of this writing. 2017-12-13 09:18:16 -06:00
Gregory Nutt
48879933a9 arch/arm/src/lpc54xx: Correct some confusion about how the LCD data pins are configured. 2017-12-12 14:10:40 -06:00
Gregory Nutt
b33d7eb59f arch/arm/src/lpc54xx: Add the ported LPC1788 LCD driver to use the LPC54xx pin definitions and SYSCON. 2017-12-12 12:53:33 -06:00
Gregory Nutt
88834b6e50 arch/arm/src/lpc54xx: Add configuartion support and logic it all none, some, or all of the external RAM to the system heap. 2017-12-12 11:33:18 -06:00
Gregory Nutt
63415f9fb1 arch/arm/src/lpc54xx: Clone the LPC1788 LCD driver. The LPC54628 LCD interface is identical. The initial commit is a brute force clone. It still needs review to make sure the LDC is appropriately enabled in the SYSCON and that clocking is provided. Also, extend the SPI 'skeleton' file so that has a place to support for SPI DMA and the SPI exchange method. 2017-12-12 10:13:21 -06:00
Gregory Nutt
0cd87be495 arch/arm/src/lpc54xx: Correct the EMC divider register definition and one typo in the SDRAM setup. SDRAM is not fully functional on this board! 2017-12-12 08:24:57 -06:00
Gregory Nutt
d51554c101 arch/arm/src/lpc54xx: Costmetic. 2017-12-11 15:04:51 -06:00
Gregory Nutt
d74d9be429 arch/arm/src/lpc54xx: Add fragmenenty skeleon of SPI driver just as a starting point. 2017-12-11 14:50:54 -06:00
Gregory Nutt
11ca2c3847 arch/arm/src/lpc54xx: Rename I2C and SPI configurations to make room in the namespace for future slave support. Add fragmenenty skeleon of I2C driver just as a starting point. 2017-12-11 13:28:55 -06:00
Gregory Nutt
5854a1cd37 arch/arm/src/lpc54xx/chip: Add framework that will eventually support I2C and SPI. 2017-12-11 10:40:45 -06:00
Gregory Nutt
0508048291 configs/lpcxpresso-lp54629: Add logic to configure EMC pins. arch/arm/src/lpc54xx: Correct GPIO read/write logic. Update pin configuration for EMC pins. All should have the input file offset and fast slew rate. 2017-12-11 09:07:51 -06:00
Gregory Nutt
df3404da09 arch/arm/src/lpc54xx: Various fixes for initial build of SDRAM support. Still unverified (but at least appears to be nonfatal). 2017-12-10 17:20:16 -06:00
Gregory Nutt
1f6dfc6351 arch/arm/src/lpc54xx: Bring in NXP support for external SRAM. 2017-12-10 16:52:15 -06:00
Gregory Nutt
dab97de4ea arch/arm/src/lpc54xx: Bring in NXP support for external SDRAM. 2017-12-10 16:07:30 -06:00
Gregory Nutt
77728f49f1 arch/arm/src/lpc54xx: Add EMC register definitions. Add basic build support for EMC and SDRAM. 2017-12-10 12:40:01 -06:00
Gregory Nutt
66ee22f363 arch/arm/src/lpc54628: With these changes, the LPCXpresso-LPC54628 NSH configuration is fully functional. Also adds a README file for the board. 2017-12-10 08:54:24 -06:00
Gregory Nutt
187747d2e5 arch/arm/src/lpc54xx: Add DMA register definition header file. 2017-12-09 15:24:21 -06:00
Gregory Nutt
9bc3c04eaf /arch/arm/src/lpc54xx: Add input mux header files. 2017-12-09 11:15:44 -06:00
Gregory Nutt
4bc7b966f4 /arch/arm/src/lpc54xx: Add some GPIO pin interrupt header files (still missing one). Also add a file that was missing in previous commit. 2017-12-09 10:12:40 -06:00
Gregory Nutt
52f9128562 arch/arm/src/lpc54xx: Add USART pin configuration. Need enable IOCON and GPIO clocking. 2017-12-09 09:11:17 -06:00
Gregory Nutt
246a97008e arch/arm/src/lpc54xx: Minor updates from review of recent changes 2017-12-08 17:32:31 -06:00
Gregory Nutt
89c21dbf05 arch/arm/src/lpc54xx/chip: Add pin multiplexing definition head file. 2017-12-08 16:11:05 -06:00
Gregory Nutt
da6c604ed1 Squashed commit of the following:
configs/lpcxpresso-lpc54628:  Add support for on-board LEDs.
    arch/arm/src/lpc54xx:  Add support for GPIO/Peripheral pin configuration.
    arch/arm/src/lpc54xx/chip:  Add IOCON register definition file.
    arch/arm/src/lpc54xx:  Add GPIO and (incomplete) PINT register definition header files.
2017-12-08 13:12:07 -06:00
Gregory Nutt
8bc90a1899 This adds basic architectural support for the LPC546xx family and includes support for the LPCXpresso-LPC54628 board. The basic NSH port is almost complete... still lacking GPIO support and LED support. There are still no significant drivers available.
Squashed commit of the following:

    arch/arm/src/lpc54xx:  Finish off some missing logic.  Complete now execpt for GPIO and LED support.
    arch/arm/src/lpc54xx:  Add lpc54_clrpend.c
    arch/arm/src/lpc54xx:  Serial driver is complete and compiles.
    arch/arm/src/lpc54xx:  Add beginning of a serial driver (still missing some logic)
    arch/arm/src/lpc54xx:  Fleshes out low level USART intialization.
    arch/arm/src/lpc546xx/Kconfig: Add hooks to integrate with common seril upper half.
    arch/arm/src/lpc54xx:  Beginning of USART console support.
    arch/arm/src/lpc54xx: Completes very basic clock configuration.
    arch/arm/src/lpc54xx:  Add clocking logic (still not complete)
    arch/arm/src/lpc54xx:  Beginning of PLL configuration logic.
    arch/arm/src/lpc54xx:  Fix a few things from first compile attempt.  Compilation cannot work until I at least finish the clock configuration logic.
    arch/arm/src/lpc54xx: Addes some SysTick logic.
    arch/arm/src/lpc54xx:  Completes basic startup logic (sans clock configuration) and interrupt configuration.
     arch/arm/src/lpc54xx:  Add generic ARMv7-M start-up logic (needs LPC54628 customizations); add emtpy file that will eventually hold the clock configuration logic.
    arch/arm/src/lpc54xx:  Add (incomplete) SYSCON register definition header file.
    arch/arm/src/lpc54xx:  Add FLEXCOMM header file.
    arch/arm/src/lpc54xx:  Bring in tickless clock logic from LPC43; configs/lpcxpresso-lpc54628: mount procfs if enabled.
    arch/arm/src/lpc54xx: Add RIT clock definitions; add SysTick initialization (not finished)
    LPC54xx and LPCXpresso-LPC54628: add more boilerplate files and stubbed out files.
    arch/arm/src/lpc54xx:  Add (incomplete) USART header file.
    Add another condition to a Kconfig; refresh a defconfig.
    arch/arm/src/lpc54xx/chip: Add LPC54628 memory map header files.
    configs/lpcxpresso-lpc54628:  Add basic build files for the LPCXpresso-LPC54628
    arch/: Basic build directory structure for the LPC54628
2017-12-07 13:30:02 -06:00