Commit cb8a271b authored by Hubert Miś's avatar Hubert Miś Committed by Carles Cufi
Browse files

shields: FTDI VM800C



This patch introduces support for FTDI VM800C including FT800
Embedded Video Engine

Signed-off-by: default avatarHubert Miś <hubert.mis@gmail.com>
parent 7d8f78a0
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
# Copyright (c) 2021 Hubert Miś <hubert.mis@gmail.com>
# SPDX-License-Identifier: Apache-2.0

if SHIELD_FTDI_VM800C

config FT800
	default y

endif	# SHIELD_FTDI_VM800C
+5 −0
Original line number Diff line number Diff line
# Copyright (c) 2021 Hubert Miś <hubert.mis@gmail.com>
# SPDX-License-Identifier: Apache-2.0

config SHIELD_FTDI_VM800C
	def_bool $(shields_list_contains,ftdi_vm800c)
+52.2 KiB
Loading image diff...
+95 −0
Original line number Diff line number Diff line
FTDI VM800C Embedded Video Engine Board
#######################################

Overview
********

The VM800C is a development module for FTDI’s FT800, which is used to develop
and demonstrate the functionality of the FT800 Embedded Video Engine, EVE. This
module behaves as an SPI slave, and requires a SPI Master for proper
microcontroller interfacing and system integration.

.. image:: ./VM800C_top.jpg
   :width: 350px
   :align: center
   :alt: VM800C

Pins Assignment of the Arduino Shield Modules
=============================================

+---------+--------+-------------------------------------+
|   Pin   |  Name  |           Function                  |
+=========+========+=====================================+
|   D0    |        |                                     |
+---------+--------+-------------------------------------+
|   D1    |        |                                     |
+---------+--------+-------------------------------------+
|   D2    |  INT#  | GPIO - Interrupt                    |
+---------+--------+-------------------------------------+
|   D3    |        |                                     |
+---------+--------+-------------------------------------+
|   D4    |        |                                     |
+---------+--------+-------------------------------------+
|   D5    |        |                                     |
+---------+--------+-------------------------------------+
|   D6    |        |                                     |
+---------+--------+-------------------------------------+
|   D7    |        |                                     |
+---------+--------+-------------------------------------+
|   D8    |        |                                     |
+---------+--------+-------------------------------------+
|   D9    |        |                                     |
+---------+--------+-------------------------------------+
|   D10   |  CS#   | SPI Chip Select                     |
+---------+--------+-------------------------------------+
|   D11   |  MOSI  | SPI Master Out / Slave In           |
+---------+--------+-------------------------------------+
|   D12   |  MISO  | SPI Master In / Slave Out           |
+---------+--------+-------------------------------------+
|   D13   |  SCLK  | SPI Clock                           |
+---------+--------+-------------------------------------+
|   D14   |        |                                     |
+---------+--------+-------------------------------------+
|   D15   |        |                                     |
+---------+--------+-------------------------------------+
|         |  GND   |                                     |
+---------+--------+-------------------------------------+
|         |  3.3V  |  POWER +3.3V                        |
+---------+--------+-------------------------------------+
|         |  5V    |  POWER +5.0V or +3.3V               |
+---------+--------+-------------------------------------+

Requirements
************

This shield requires a board which provides a configuration that allows an
SPI interface and an interrupt signal. (see :ref:`shields` for more
details).

Sample usage
************

You can try use FT800 with the Zephyr FT800 sample, which provides
out-of-the-box configuration for FT800 Embedded Video engine.
See :ref:`display-ft800-sample` for details.

Build and Programming
*********************

Set ``-DSHIELD=<shield designator>`` when you invoke ``west build``.

.. zephyr-app-commands::
   :zephyr-app: samples/drivers/misc/ft800
   :host-os: unix
   :board: nrf52840dk_nrf52840
   :shield: ftdi_vm800c
   :goals: build flash
   :compact:

References
**********

.. target-notes::

.. _FTDI VM800C:
   https://www.ftdichip.com/Products/Modules/VM800C.html
+39 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2021 Hubert Miś <hubert.mis@gmail.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

&arduino_spi {
	status = "okay";

	/* D10 */
	cs-gpios = <&arduino_header 16
		    (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;

	ft800@0 {
		compatible = "ftdi,ft800";
		reg = <0x0>;
		label = "FT800_0";
		spi-max-frequency = <8000000>;
		/*  D2 */
		irq-gpios = <&arduino_header 8 GPIO_ACTIVE_LOW>;

		pclk = <5>;
		pclk_pol = <1>;
		cspread = <1>;
		swizzle = <0>;
		vsize = <272>;
		voffset = <12>;
		vcycle = <292>;
		vsync0 = <0>;
		vsync1 = <10>;
		hsize = <480>;
		hoffset = <43>;
		hcycle = <548>;
		hsync0 = <0>;
		hsync1 = <41>;

		status = "okay";
	};
};