Commit graph

19 commits

Author SHA1 Message Date
Maureen Helm
5f09966380 gpio: Update mcux igpio driver to use new gpio api
Updates the mcux igpio driver and all associated boards to use new
device tree compatible gpio configuration flags. Implements new port
get/set/clear/toggle and pin_interrupt_configure functions recently
added to the gpio api.

Assumes the gpio api layer handles translating logical flags to physical
flags.

Removes port configuration support since that feature is deprecated in
the new gpio api.

Tested with:
- samples/basic/blinky
- samples/basic/button
- tests/drivers/gpio/gpio_api_1pin

On boards:
- mimxrt1015_evk
- mimxrt1020_evk
- mimxrt1050_evk
- mimxrt1060_evk
- mimxrt1064_evk

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-02-05 12:00:36 +01:00
Maureen Helm
201f8897cd dts: boards: Define dts aliases at soc level for i.mx rt socs
Defines device tree aliases for on-chip peripherals at the soc level
instead of the board level for all i.mx rt socs. The eliminates some
duplicate code in the board level device trees, and will allow drivers
to use device-tree generated macros directly instead of through dts
fixups.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-01-13 10:22:09 -05:00
Maureen Helm
5a19106396 boards: arm: Add arduino header to all mimxrt boards
Adds a device tree nexus node to define which gpio pins are mapped from
the soc to the arduino header.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-12-10 08:49:31 -06:00
Maureen Helm
6cfd8113a7 boards: arm: Extend usb device support to all nxp imx rt boards
Extends the usb device support from mimxrt10{50,64}_evk to all other imx
rt boards.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-12-09 11:40:12 -06:00
Peter A. Bigot
f83ad78261 dts: jedec,spi-nor: require size property
The SPI NOR driver requires that the size (in bits) be provided in the
devicetree node.  Update the binding to make the property required,
and update all nodes based on the memory chip identified.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2019-11-09 15:26:06 +01:00
Peter A. Bigot
fa10a9640b dts/spi-nor: use bytestring for JEDEC ID
This was always intended to be a bytestring rather than an array, but
full support was missing.  Since that has been addressed switch it to
the preferred format.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2019-07-24 09:20:56 -04:00
Peter A. Bigot
1bb59bb68e dts: add label property to all jedec,spi-nor nodes
The property is required on all SPI clients, but was missing from
several devicetree nodes.  Set it, using the capitalized version of the
node alias when present, with "jedec,spi-nor#0" as the fallback.

Closes #17662

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2019-07-20 17:23:08 -04:00
Ulf Magnusson
ad3ee99756 dts: Add missing spi-max-frequency for mimxrt/nxp/hifive1/qemu_riscv2
spi-max-frequency is marked as required in
dts/bindings/mtd/jedec,spi-nor.yaml.

I took the value from the datasheets (133 MHz for all), and guessed that
a dummy entry is fine for QEMU.

Fixes some errors in
https://github.com/zephyrproject-rtos/zephyr/issues/17532.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-07-19 10:46:01 -04:00
Kumar Gala
108a4b385e dts: nxp: mimxrt: Add missing jedec-id property to flash nodes
The spi-nor flash nodes require a jedec-id property as per the binding.
We add the jedec-id's as best we can determine based on the data sheets
for the various flash modules on these boards.

However these id's should be validated by actually reading the value to
ensure they are correct.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-07-16 18:15:59 +09:00
Ulf Magnusson
a84ded74ea dts: Replace status = "ok" with status = "okay"
The DT spec. only has "okay" and not "ok". The Linux kernel has around
12k "okay"s and 300 "ok"s.

The scripts/dts scripts only check for "disabled", so should be safe re.
those at least.

The replacement was done with

    git ls-files | xargs sed -i 's/status\s*=\s*"ok"/status = "okay"/'

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-06-14 19:51:13 -05:00
Ryan QIAN
d7efa1db77 boards: arm: mimxrt1020_evk: update board dts
- update board dts file to refer to nxp_rt1020.dtsi to include sram size
fix

Signed-off-by: Ryan QIAN <jianghao.qian@nxp.com>
2019-05-14 12:23:42 -05:00
Maureen Helm
75cb3553f4 boards: Add config to mimxrt10{20,60,64}_evk boards to link into sdram
Adds a new configuration option to mimxrt10{20,60,64}_evk boards to link
data into external sdram. The default remains to link data into internal
data tightly coupled memory (DTCM).

Note that mimxrt1050_evk is not included because it already has support
for linking data into sdram.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-02-04 18:16:14 -05:00
Maureen Helm
7801221868 boards: Add missing sdram dts compatible to mimxrt10{20,60,64} boards
The sdram memory node was missing a dts compatible on several imx rt
boards.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-02-01 19:16:04 -05:00
Kumar Gala
c3ba7335d9 boards: mimxrt{1020,1050,1060,1064}_evk remove CONFIG_ from dts files
The dts files on these boards had some CONFIG_ defines related to which
memory should be used to hold code.  We move this choice out of DTS and
back into Kconfig.

As such, we removed the default setting of 'zephyr,flash' and just
map

CONFIG_CODE_ITCM to:
	DT_NXP_IMX_RT_ITCM_0_SIZE
	DT_NXP_IMX_RT_ITCM_0_BASE_ADDRESS

CONFIG_CODE_{QSPI,HYPERFLASH} to:
	DT_NXP_IMX_FLEXSPI_402A8000_SIZE_1
	DT_NXP_IMX_FLEXSPI_402A8000_BASE_ADDDRESS_1

for the mimxrt1050_evk, we remove the default setting of 'zephyr,sram'
and just map:

CONFIG_DATA_DTCM to:
	DT_NXP_IMX_DTCM_0_SIZE
	DT_NXP_IMX_DTCM_0_BASE_ADDRESS

CONFIG_DATA_SDRAM to:
	DT_MMIO_SRAM_80000000_SIZE
	DT_MMIO_SRAM_80000000_BASE_ADDRESS

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-02-01 10:16:06 -06:00
Aurelien Jarno
14e7be3e34 boards: mimxrt1020_evk: Enable mcux lpi2c driver and pins
Enables the mcux lpi2c shim driver and pin muxes on the mimxrt1020_evk
board for LPI2C1 and LPI2C4. LPI2C1 is shared between the Arduino
connector J18 and the WM8960 codec. LPI2C4 is shared between the Arduino
connector J19 and the FXOS8700CQ sensor (non-populated by default).

Updates the board documentation and yaml supported list accordingly.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2019-01-23 04:04:39 -06:00
Aurelien Jarno
0e7a6ec9ab boards: mimxrt1020_evk: Enable mcux ethernet driver and pins
Enables the mcux ethernet driver and pin muxes on the mimxrt1020_evk
board, the same way it is done on the mimxrt1050_evk board. Updates the
board documentation and yaml supported list accordingly.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2019-01-22 08:37:39 -06:00
Maureen Helm
2ec2ac16d5 boards: mimxrt1020_evk: Enable lpuart2 for bluetooth hci
Enables instance 2 of the lpuart driver and configures pinmuxes to use
bluetooth hci on the mimxrt1020_evk board. Updates board documentation
accordingly.

Tested with samples/bluetooth/peripheral_hr, with frdm_kw41z attached as
an arduino shield running the nxp hci controller application.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-01-16 12:32:16 -06:00
Kumar Gala
d3e27f518f boards: arm: nxp: imxrt: Fix SPI nodes on flexspi controller
Fix the QSPI and hyperflash nodes to be proper SPI children and expose
the address range for direct access as part of the controller's reg
region.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-11 13:12:18 -06:00
Ryan QIAN
d5e56036f2 board: arm: Add board support for mimxrt1020_evk
Add board support files for mimxrt1020_evk, the development board for
i.MXRT1021 (CM7) SoC.

- Add pinmux, dts, doc.
- Code can be loaded to SRAM.
- Tested samples: hello_world, philosophers, synchronization,
basic/blinky, and basic/button.

Signed-off-by: Ryan QIAN <jianghao.qian@nxp.com>
2019-01-09 11:39:31 -06:00