aboutsummaryrefslogtreecommitdiffstats
path: root/boards/base/RaspberryPi/example-FreeRTOS/Drivers
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2014-10-06 17:05:16 +1000
committerinmarket <andrewh@inmarket.com.au>2014-10-06 17:05:48 +1000
commit211254ed6c5a945be18334aa540de55db885000c (patch)
tree19b94dd69a4a95d4b718c06c0d6eb27f6aa7a9a8 /boards/base/RaspberryPi/example-FreeRTOS/Drivers
parent3348128fe289aae37f2df46802709aaa7aedb0c1 (diff)
downloaduGFX-211254ed6c5a945be18334aa540de55db885000c.tar.gz
uGFX-211254ed6c5a945be18334aa540de55db885000c.tar.bz2
uGFX-211254ed6c5a945be18334aa540de55db885000c.zip
Add support for FreeRTOS into make system
Diffstat (limited to 'boards/base/RaspberryPi/example-FreeRTOS/Drivers')
-rw-r--r--boards/base/RaspberryPi/example-FreeRTOS/Drivers/bcm2835_intc.h45
-rw-r--r--boards/base/RaspberryPi/example-FreeRTOS/Drivers/gpio.c134
-rw-r--r--boards/base/RaspberryPi/example-FreeRTOS/Drivers/gpio.h48
-rw-r--r--boards/base/RaspberryPi/example-FreeRTOS/Drivers/interrupts.c166
-rw-r--r--boards/base/RaspberryPi/example-FreeRTOS/Drivers/interrupts.h25
-rw-r--r--boards/base/RaspberryPi/example-FreeRTOS/Drivers/mmio.h24
-rw-r--r--boards/base/RaspberryPi/example-FreeRTOS/Drivers/uart.c125
-rw-r--r--boards/base/RaspberryPi/example-FreeRTOS/Drivers/uart.h25
8 files changed, 0 insertions, 592 deletions
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/bcm2835_intc.h b/boards/base/RaspberryPi/example-FreeRTOS/Drivers/bcm2835_intc.h
deleted file mode 100644
index 9f87b88e..00000000
--- a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/bcm2835_intc.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _BCM2835_INTC_H_
-#define _BCM2835_INTC_H_
-
-//#include "bcm2835.h"
-
-#define BCM2835_INTC_TOTAL_IRQ 64 + 8
-
-#define BCM2835_BASE_INTC (0x2000B200)
-#define BCM2835_INTC_IRQ_BASIC (BCM2835_BASE_INTC + 0x00)
-#define BCM2835_IRQ_PENDING1 (BCM2835_BASE_INTC + 0x04)
-#define BCM2835_IRQ_PENDING2 (BCM2835_BASE_INTC + 0x08)
-#define BCM2835_IRQ_FIQ_CTRL (BCM2835_BASE_INTC + 0x0C)
-#define BCM2835_IRQ_ENABLE1 (BCM2835_BASE_INTC + 0x10)
-#define BCM2835_IRQ_ENABLE2 (BCM2835_BASE_INTC + 0x14)
-#define BCM2835_IRQ_ENABLE_BASIC (BCM2835_BASE_INTC + 0x18)
-#define BCM2835_IRQ_DISABLE1 (BCM2835_BASE_INTC + 0x1C)
-#define BCM2835_IRQ_DISABLE2 (BCM2835_BASE_INTC + 0x20)
-#define BCM2835_IRQ_DISABLE_BASIC (BCM2835_BASE_INTC + 0x24)
-
-
-
-
-#define BCM2835_IRQ_ID_AUX 29
-#define BCM2835_IRQ_ID_SPI_SLAVE 43
-#define BCM2835_IRQ_ID_PWA0 45
-#define BCM2835_IRQ_ID_PWA1 46
-#define BCM2835_IRQ_ID_SMI 48
-#define BCM2835_IRQ_ID_GPIO_0 49
-#define BCM2835_IRQ_ID_GPIO_1 50
-#define BCM2835_IRQ_ID_GPIO_2 51
-#define BCM2835_IRQ_ID_GPIO_3 52
-#define BCM2835_IRQ_ID_I2C 53
-#define BCM2835_IRQ_ID_SPI 54
-#define BCM2835_IRQ_ID_PCM 55
-#define BCM2835_IRQ_ID_UART 57
-
-
-#define BCM2835_IRQ_ID_TIMER_0 64
-#define BCM2835_IRQ_ID_MAILBOX_0 65
-#define BCM2835_IRQ_ID_DOORBELL_0 66
-#define BCM2835_IRQ_ID_DOORBELL_1 67
-#define BCM2835_IRQ_ID_GPU0_HALTED 68
-
-
-#endif
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/gpio.c b/boards/base/RaspberryPi/example-FreeRTOS/Drivers/gpio.c
deleted file mode 100644
index 485de897..00000000
--- a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/gpio.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/**
- * Quick and very Dirty GPIO API.
- *
- **/
-
-#include "gpio.h"
-
-typedef struct {
- unsigned long GPFSEL[6]; ///< Function selection registers.
- unsigned long Reserved_1;
- unsigned long GPSET[2];
- unsigned long Reserved_2;
- unsigned long GPCLR[2];
- unsigned long Reserved_3;
- unsigned long GPLEV[2];
- unsigned long Reserved_4;
- unsigned long GPEDS[2];
- unsigned long Reserved_5;
- unsigned long GPREN[2];
- unsigned long Reserved_6;
- unsigned long GPFEN[2];
- unsigned long Reserved_7;
- unsigned long GPHEN[2];
- unsigned long Reserved_8;
- unsigned long GPLEN[2];
- unsigned long Reserved_9;
- unsigned long GPAREN[2];
- unsigned long Reserved_A;
- unsigned long GPAFEN[2];
- unsigned long Reserved_B;
- unsigned long GPPUD[1];
- unsigned long GPPUDCLK[2];
- //Ignoring the reserved and test bytes
-} BCM2835_GPIO_REGS;
-
-volatile BCM2835_GPIO_REGS * const pRegs = (BCM2835_GPIO_REGS *) (0x20200000);
-
-
-void SetGpioFunction(unsigned int pinNum, unsigned int funcNum) {
-
- int offset = pinNum / 10;
-
- unsigned long val = pRegs->GPFSEL[offset]; // Read in the original register value.
-
- int item = pinNum % 10;
- val &= ~(0x7 << (item * 3));
- val |= ((funcNum & 0x7) << (item * 3));
- pRegs->GPFSEL[offset] = val;
-}
-
-void SetGpioDirection(unsigned int pinNum, enum GPIO_DIR dir) {
- SetGpioFunction(pinNum,dir);
-}
-
-void SetGpio(unsigned int pinNum, unsigned int pinVal) {
- unsigned long offset=pinNum/32;
- unsigned long mask=(1<<(pinNum%32));
-
- if(pinVal) {
- pRegs->GPSET[offset]|=mask;
- } else {
- pRegs->GPCLR[offset]|=mask;
- }
-}
-
-int ReadGpio(unsigned int pinNum) {
- return ((pRegs->GPLEV[pinNum/32])>>(pinNum%32))&1;
-}
-
-void EnableGpioDetect(unsigned int pinNum, enum DETECT_TYPE type)
-{
- unsigned long mask=(1<<pinNum);
- unsigned long offset=pinNum/32;
-
- switch(type) {
- case DETECT_RISING:
- pRegs->GPREN[offset]|=mask;
- break;
- case DETECT_FALLING:
- pRegs->GPFEN[offset]|=mask;
- break;
- case DETECT_HIGH:
- pRegs->GPHEN[offset]|=mask;
- break;
- case DETECT_LOW:
- pRegs->GPLEN[offset]|=mask;
- break;
- case DETECT_RISING_ASYNC:
- pRegs->GPAREN[offset]|=mask;
- break;
- case DETECT_FALLING_ASYNC:
- pRegs->GPAFEN[offset]|=mask;
- break;
- case DETECT_NONE:
- break;
- }
-}
-
-void DisableGpioDetect(unsigned int pinNum, enum DETECT_TYPE type)
-{
- unsigned long mask=~(1<<(pinNum%32));
- unsigned long offset=pinNum/32;
-
- switch(type) {
- case DETECT_RISING:
- pRegs->GPREN[offset]&=mask;
- break;
- case DETECT_FALLING:
- pRegs->GPFEN[offset]&=mask;
- break;
- case DETECT_HIGH:
- pRegs->GPHEN[offset]&=mask;
- break;
- case DETECT_LOW:
- pRegs->GPLEN[offset]&=mask;
- break;
- case DETECT_RISING_ASYNC:
- pRegs->GPAREN[offset]&=mask;
- break;
- case DETECT_FALLING_ASYNC:
- pRegs->GPAFEN[offset]&=mask;
- break;
- case DETECT_NONE:
- break;
- }
-}
-
-void ClearGpioInterrupt(unsigned int pinNum)
-{
- unsigned long mask=(1<<(pinNum%32));
- unsigned long offset=pinNum/32;
-
- pRegs->GPEDS[offset]=mask;
-}
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/gpio.h b/boards/base/RaspberryPi/example-FreeRTOS/Drivers/gpio.h
deleted file mode 100644
index fa459707..00000000
--- a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/gpio.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef _GPIO_H_
-#define _GPIO_H_
-
-/* GPIO event detect types */
-enum DETECT_TYPE {
- DETECT_NONE,
- DETECT_RISING,
- DETECT_FALLING,
- DETECT_HIGH,
- DETECT_LOW,
- DETECT_RISING_ASYNC,
- DETECT_FALLING_ASYNC
-};
-
-/* GPIO pull up or down states */
-enum PULL_STATE {
- PULL_DISABLE,
- PULL_UP,
- PULL_DOWN,
- PULL_RESERVED
-};
-
-/* Pin data direction */
-enum GPIO_DIR {
- GPIO_IN,
- GPIO_OUT
-};
-
-/* GPIO pin setup */
-void SetGpioFunction (unsigned int pinNum, unsigned int funcNum);
-/* A simple wrapper around SetGpioFunction */
-void SetGpioDirection (unsigned int pinNum, enum GPIO_DIR dir);
-
-/* Set GPIO output level */
-void SetGpio (unsigned int pinNum, unsigned int pinVal);
-
-/* Read GPIO pin level */
-int ReadGpio (unsigned int pinNum);
-
-/* GPIO pull up/down resistor control function (NOT YET IMPLEMENTED) */
-int PudGpio (unsigned int pinNum, enum PULL_STATE state);
-
-/* Interrupt related functions */
-void EnableGpioDetect (unsigned int pinNum, enum DETECT_TYPE type);
-void DisableGpioDetect (unsigned int pinNum, enum DETECT_TYPE type);
-void ClearGpioInterrupt (unsigned int pinNum);
-
-#endif
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/interrupts.c b/boards/base/RaspberryPi/example-FreeRTOS/Drivers/interrupts.c
deleted file mode 100644
index 9908b7c4..00000000
--- a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/interrupts.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/**
- * Integrated Interrupt Controller for RaspberryPi.
- * @author James Walmsley <james@fullfat-fs.co.uk>
- **/
-
-#include "interrupts.h"
-#include "bcm2835_intc.h"
-
-static INTERRUPT_VECTOR g_VectorTable[BCM2835_INTC_TOTAL_IRQ];
-
-
-typedef struct {
- unsigned long IRQBasic; // Pending 0
- unsigned long Pending1;
- unsigned long Pending2;
- unsigned long FIQCtrl;
- unsigned long Enable1;
- unsigned long Enable2;
- unsigned long EnableBasic;
- unsigned long Disable1;
- unsigned long Disable2;
- unsigned long DisableBasic;
-} BCM2835_INTC_REGS;
-
-static volatile BCM2835_INTC_REGS * const pRegs = (BCM2835_INTC_REGS *) (BCM2835_BASE_INTC);
-
-/**
- * Enables all IRQ's in the CPU's CPSR register.
- **/
-static void irqEnable() {
- __asm volatile("mrs r0,cpsr"); // Read in the cpsr register.
- __asm volatile("bic r0,r0,#0x80"); // Clear bit 8, (0x80) -- Causes IRQs to be enabled.
- __asm volatile("msr cpsr_c, r0"); // Write it back to the CPSR register
-}
-
-static void irqDisable() {
- __asm volatile("mrs r0,cpsr"); // Read in the cpsr register.
- __asm volatile("orr r0,r0,#0x80"); // Set bit 8, (0x80) -- Causes IRQs to be disabled.
- __asm volatile("msr cpsr_c, r0"); // Write it back to the CPSR register.
-
-}
-
-#define clz(a) \
- ({ unsigned long __value, __arg = (a); \
- asm ("clz\t%0, %1": "=r" (__value): "r" (__arg)); \
- __value; })
-
-/**
- * This is the global IRQ handler on this platform!
- * It is based on the assembler code found in the Broadcom datasheet.
- *
- **/
-void irqHandler() {
- register unsigned long ulMaskedStatus;
- register unsigned long irqNumber;
-
- ulMaskedStatus = pRegs->IRQBasic;
-
- /* Bits 7 through 0 in IRQBasic represent interrupts 64-71 */
- if (ulMaskedStatus & 0xFF) {
- irqNumber=64 + 31;
- }
-
- /* Bit 8 in IRQBasic indicates interrupts in Pending1 (interrupts 31-0) */
- else if(ulMaskedStatus & 0x100) {
- ulMaskedStatus = pRegs->Pending1;
- irqNumber = 0 + 31;
- }
-
- /* Bit 9 in IRQBasic indicates interrupts in Pending2 (interrupts 63-32) */
- else if(ulMaskedStatus & 0x200) {
- ulMaskedStatus = pRegs->Pending2;
- irqNumber = 32 + 31;
- }
-
- else {
- // No interrupt avaialbe, so just return.
- return;
- }
-
- /* Keep only least significant bit, in case multiple interrupts have occured */
- ulMaskedStatus&=-ulMaskedStatus;
- /* Some magic to determine number of interrupt to serve */
- irqNumber=irqNumber-clz(ulMaskedStatus);
- /* Call interrupt handler */
- g_VectorTable[irqNumber].pfnHandler(irqNumber, g_VectorTable[irqNumber].pParam);
-}
-
-
-static void stubHandler(int nIRQ, void *pParam) {
- /**
- * Actually if we get here, we should probably disable the IRQ,
- * otherwise we could lock up this system, as there is nothing to
- * ackknowledge the interrupt.
- **/
-}
-
-int InitInterruptController() {
- int i;
- for(i = 0; i < BCM2835_INTC_TOTAL_IRQ; i++) {
- g_VectorTable[i].pfnHandler = stubHandler;
- g_VectorTable[i].pParam = (void *) 0;
- }
- return 0;
-}
-
-
-
-int RegisterInterrupt(int nIRQ, FN_INTERRUPT_HANDLER pfnHandler, void *pParam) {
- if(nIRQ<0 || nIRQ>71)
- return -1;
-
- irqDisable();
- {
- g_VectorTable[nIRQ].pfnHandler = pfnHandler;
- g_VectorTable[nIRQ].pParam = pParam;
- }
- irqEnable();
- return 0;
-}
-
-int EnableInterrupt(int nIRQ) {
- /* Datasheet says "All other bits are unaffected", and I'm counting on that. */
- unsigned int mask=1<<(nIRQ%32);
-
- if(nIRQ >=0 && nIRQ <=31) {
- pRegs->Enable1 = mask;
- } else
- if(nIRQ >=32 && nIRQ <=63){
- pRegs->Enable2 = mask;
- } else
- if(nIRQ >= 64 && nIRQ <= 71) { // Basic IRQ enables
- pRegs->EnableBasic = mask;
- } else
- return -1;
-
- return 0;
-}
-
-int DisableInterrupt(int nIRQ) {
- /* Datasheet says "All other bits are unaffected", and I'm counting on that. */
- unsigned int mask=1<<(nIRQ%32);
-
- if(nIRQ >=0 && nIRQ <=31) {
- pRegs->Disable1 = mask;
- } else
- if(nIRQ >=32 && nIRQ <=63){
- pRegs->Disable2 = mask;
- } else
- if(nIRQ >= 64 && nIRQ <= 71) {
- pRegs->DisableBasic = mask;
- } else
- return -1;
-
- return 0;
-}
-
-int EnableInterrupts() {
- irqEnable();
- return 0;
-}
-
-int DisableInterrupts() {
- irqDisable();
- return 0;
-}
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/interrupts.h b/boards/base/RaspberryPi/example-FreeRTOS/Drivers/interrupts.h
deleted file mode 100644
index d09353a4..00000000
--- a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/interrupts.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Tiny Interrupt Manager
- *
- * @author James Walmsley <james@fullfat-fs.co.uk>
- * This code is licensed under the GNU GPLv3 license.
- **/
-
-#ifndef _INTERRUPTS_H_
-#define _INTERRUPTS_H_
-
-typedef void (*FN_INTERRUPT_HANDLER)(int nIRQ, void *pParam);
-
-typedef struct {
- FN_INTERRUPT_HANDLER pfnHandler; ///< Function that handles this IRQn
- void *pParam; ///< A special parameter that the use can pass to the IRQ.
-} INTERRUPT_VECTOR;
-
-int InitInterruptController ();
-int RegisterInterrupt (int nIRQ, FN_INTERRUPT_HANDLER pfnHandler, void *pParam);
-int EnableInterrupt (int nIRQ);
-int DisableInterrupt (int nIRQ);
-int EnableInterrupts ();
-int DisableInterrupts ();
-
-#endif
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/mmio.h b/boards/base/RaspberryPi/example-FreeRTOS/Drivers/mmio.h
deleted file mode 100644
index 89bea700..00000000
--- a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/mmio.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* mmio.h - access to MMIO registers */
-
-#ifndef MMIO_H
-#define MMIO_H
-
-#include <stdint.h>
-
-// write to MMIO register
-static inline void mmio_write(uint32_t reg, uint32_t data) {
- uint32_t *ptr = (uint32_t*)reg;
- asm volatile("str %[data], [%[reg]]"
- : : [reg]"r"(ptr), [data]"r"(data));
-}
-
-// read from MMIO register
-static inline uint32_t mmio_read(uint32_t reg) {
- uint32_t *ptr = (uint32_t*)reg;
- uint32_t data;
- asm volatile("ldr %[data], [%[reg]]"
- : [data]"=r"(data) : [reg]"r"(ptr));
- return data;
-}
-
-#endif // #ifndef MMIO_H
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/uart.c b/boards/base/RaspberryPi/example-FreeRTOS/Drivers/uart.c
deleted file mode 100644
index 92f837e7..00000000
--- a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/uart.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* uart.c - UART initialization & communication */
-/* Reference material:
- * http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf
- * Chapter 13: UART
- */
-
-#include <stdint.h>
-#include <mmio.h>
-#include <uart.h>
-
-enum {
- // The GPIO registers base address.
- GPIO_BASE = 0x20200000,
-
- // The offsets for reach register.
-
- // Controls actuation of pull up/down to ALL GPIO pins.
- GPPUD = (GPIO_BASE + 0x94),
-
- // Controls actuation of pull up/down for specific GPIO pin.
- GPPUDCLK0 = (GPIO_BASE + 0x98),
-
- // The base address for UART.
- UART0_BASE = 0x20201000,
-
- // The offsets for reach register for the UART.
- UART0_DR = (UART0_BASE + 0x00),
- UART0_RSRECR = (UART0_BASE + 0x04),
- UART0_FR = (UART0_BASE + 0x18),
- UART0_ILPR = (UART0_BASE + 0x20),
- UART0_IBRD = (UART0_BASE + 0x24),
- UART0_FBRD = (UART0_BASE + 0x28),
- UART0_LCRH = (UART0_BASE + 0x2C),
- UART0_CR = (UART0_BASE + 0x30),
- UART0_IFLS = (UART0_BASE + 0x34),
- UART0_IMSC = (UART0_BASE + 0x38),
- UART0_RIS = (UART0_BASE + 0x3C),
- UART0_MIS = (UART0_BASE + 0x40),
- UART0_ICR = (UART0_BASE + 0x44),
- UART0_DMACR = (UART0_BASE + 0x48),
- UART0_ITCR = (UART0_BASE + 0x80),
- UART0_ITIP = (UART0_BASE + 0x84),
- UART0_ITOP = (UART0_BASE + 0x88),
- UART0_TDR = (UART0_BASE + 0x8C),
-};
-
-/*
- * delay function
- * int32_t delay: number of cycles to delay
- *
- * This just loops <delay> times in a way that the compiler
- * wont optimize away.
- */
-static void delay(int32_t count) {
- asm volatile("__delay_%=: subs %[count], %[count], #1; bne __delay_%=\n"
- : : [count]"r"(count) : "cc");
-}
-
-/*
- * Initialize UART0.
- */
-void uart_init() {
- // Disable UART0.
- mmio_write(UART0_CR, 0x00000000);
- // Setup the GPIO pin 14 && 15.
-
- // Disable pull up/down for all GPIO pins & delay for 150 cycles.
- mmio_write(GPPUD, 0x00000000);
- delay(150);
-
- // Disable pull up/down for pin 14,15 & delay for 150 cycles.
- mmio_write(GPPUDCLK0, (1 << 14) | (1 << 15));
- delay(150);
-
- // Write 0 to GPPUDCLK0 to make it take effect.
- mmio_write(GPPUDCLK0, 0x00000000);
-
- // Clear pending interrupts.
- mmio_write(UART0_ICR, 0x7FF);
-
- // Set integer & fractional part of baud rate.
- // Divider = UART_CLOCK/(16 * Baud)
- // Fraction part register = (Fractional part * 64) + 0.5
- // UART_CLOCK = 3000000; Baud = 115200.
-
- // Divider = 3000000/(16 * 115200) = 1.627 = ~1.
- // Fractional part register = (.627 * 64) + 0.5 = 40.6 = ~40.
- mmio_write(UART0_IBRD, 1);
- mmio_write(UART0_FBRD, 40);
-
- // Enable FIFO & 8 bit data transmissio (1 stop bit, no parity).
- mmio_write(UART0_LCRH, (1 << 4) | (1 << 5) | (1 << 6));
-
- // Mask all interrupts.
- mmio_write(UART0_IMSC, (1 << 1) | (1 << 4) | (1 << 5) |
- (1 << 6) | (1 << 7) | (1 << 8) |
- (1 << 9) | (1 << 10));
-
- // Enable UART0, receive & transfer part of UART.
- mmio_write(UART0_CR, (1 << 0) | (1 << 8) | (1 << 9));
-}
-
-/*
- * Transmit a byte via UART0.
- * uint8_t Byte: byte to send.
- */
-void uart_putc(uint8_t byte) {
- // wait for UART to become ready to transmit
- while (1) {
- if (!(mmio_read(UART0_FR) & (1 << 5))) {
- break;
- }
- }
- mmio_write(UART0_DR, byte);
-}
-
-/*
- * print a string to the UART one character at a time
- * const char *str: 0-terminated string
- */
-void uart_puts(const char *str) {
- while (*str) {
- uart_putc(*str++);
- }
-}
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/uart.h b/boards/base/RaspberryPi/example-FreeRTOS/Drivers/uart.h
deleted file mode 100644
index fe7f64aa..00000000
--- a/boards/base/RaspberryPi/example-FreeRTOS/Drivers/uart.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* uart.h - UART initialization & communication */
-
-#ifndef UART_H
-#define UART_H
-
-#include <stdint.h>
-
-/*
- * Initialize UART0.
- */
-void uart_init();
-
-/*
- * Transmit a byte via UART0.
- * uint8_t Byte: byte to send.
- */
-void uart_putc(uint8_t byte);
-
-/*
- * print a string to the UART one character at a time
- * const char *str: 0-terminated string
- */
-void uart_puts(const char *str);
-
-#endif // #ifndef UART_H