-
Notifications
You must be signed in to change notification settings - Fork 116
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #30 from enjoy-digital/new_driver
New driver
- Loading branch information
Showing
16 changed files
with
2,666 additions
and
921 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,16 @@ | ||
# Makefile for kernel module | ||
|
||
KERNEL_VERSION:=$(shell uname -r) | ||
KERNEL_PATH:=/lib/modules/$(KERNEL_VERSION)/build | ||
|
||
obj-m = litepcie.o | ||
litepcie-objs = main.o | ||
|
||
|
||
all: litepcie.ko | ||
|
||
litepcie.ko: main.c | ||
make -C $(KERNEL_PATH) M=$(PWD) modules | ||
make -C $(KERNEL_PATH) M=$(shell pwd) modules | ||
|
||
clean: | ||
make -C $(KERNEL_PATH) M=$(PWD) clean | ||
make -C $(KERNEL_PATH) M=$(shell pwd) clean | ||
rm -f *~ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,50 @@ | ||
// This file is Copyright (c) 2015-2019 Florent Kermarrec <[email protected]> | ||
// License: BSD | ||
|
||
#ifndef __HW_CONFIG_H | ||
#define __HW_CONFIG_H | ||
#include "csr.h" | ||
#include "soc.h" | ||
#include "mem.h" | ||
|
||
#define MINIMAL_GATEWARE_REVISION "2020-05-19" | ||
|
||
/* pcie */ | ||
#define PCIE_FPGA_VENDOR_ID 0x10ee | ||
#define PCIE_FPGA_DEVICE_ID_X1 0x7021 | ||
#define PCIE_FPGA_DEVICE_ID_X2 0x7022 | ||
#define PCIE_FPGA_DEVICE_ID_X4 0x7024 | ||
#define PCIE_FPGA_DEVICE_ID_X8 0x7028 | ||
|
||
/* /!\ keep in sync with csr.h /!\ */ | ||
|
||
/* dma */ | ||
#define DMA_IRQ_DISABLE (1<<24) | ||
#define DMA_LAST_DISABLE (1<<25) | ||
|
||
/* pci */ | ||
#define PCI_FPGA_VENDOR_ID 0x10ee | ||
#define PCI_FPGA_DEVICE_ID_X1 0x7021 | ||
#define PCI_FPGA_DEVICE_ID_X2 0x7022 | ||
#define PCI_FPGA_DEVICE_ID_X4 0x7024 | ||
#define PCI_FPGA_DEVICE_ID_X8 0x7028 | ||
#define PCI_FPGA_BAR0_SIZE 0xa000 | ||
#define DMA_CHANNEL_COUNT DMA_CHANNELS | ||
#define DMA_BUFFER_PER_IRQ 32 | ||
#define DMA_BUFFER_COUNT 256 | ||
#define DMA_BUFFER_SIZE 8192 | ||
#define DMA_BUFFER_TOTAL_SIZE (DMA_BUFFER_COUNT*DMA_BUFFER_SIZE) | ||
//#define DMA_BUFFER_ALIGNED | ||
|
||
/* pcie_dma */ | ||
#define PCIE_DMA_BUFFER_COUNT 128 | ||
/* pcie dma */ | ||
#define PCIE_DMA_WRITER_ENABLE_OFFSET 0x0000 | ||
#define PCIE_DMA_WRITER_TABLE_VALUE_OFFSET 0x0004 | ||
#define PCIE_DMA_WRITER_TABLE_WE_OFFSET 0x000c | ||
#define PCIE_DMA_WRITER_TABLE_LOOP_PROG_N_OFFSET 0x0010 | ||
#define PCIE_DMA_WRITER_TABLE_LOOP_STATUS_OFFSET 0x0014 | ||
#define PCIE_DMA_WRITER_TABLE_LEVEL_OFFSET 0x0018 | ||
#define PCIE_DMA_WRITER_TABLE_FLUSH_OFFSET 0x001c | ||
#define PCIE_DMA_READER_ENABLE_OFFSET 0x0020 | ||
#define PCIE_DMA_READER_TABLE_VALUE_OFFSET 0x0024 | ||
#define PCIE_DMA_READER_TABLE_WE_OFFSET 0x002c | ||
#define PCIE_DMA_READER_TABLE_LOOP_PROG_N_OFFSET 0x0030 | ||
#define PCIE_DMA_READER_TABLE_LOOP_STATUS_OFFSET 0x0034 | ||
#define PCIE_DMA_READER_TABLE_LEVEL_OFFSET 0x0038 | ||
#define PCIE_DMA_READER_TABLE_FLUSH_OFFSET 0x003c | ||
#define PCIE_DMA_LOOPBACK_ENABLE_OFFSET 0x0040 | ||
#define PCIE_DMA_BUFFERING_READER_FIFO_DEPTH_ADDR 0x0044 | ||
#define PCIE_DMA_BUFFERING_READER_FIFO_LEVEL_ADDR 0x0048 | ||
#define PCIE_DMA_BUFFERING_WRITER_FIFO_DEPTH_ADDR 0x004c | ||
#define PCIE_DMA_BUFFERING_WRITER_FIFO_LEVEL_ADDR 0x0050 | ||
|
||
#endif /* __HW_CONFIG_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,13 @@ | ||
// This file is Copyright (c) 2015-2019 Florent Kermarrec <[email protected]> | ||
// License: BSD | ||
|
||
#ifndef __HW_FLAGS_H | ||
#define __HW_FLAGS_H | ||
|
||
/* pcie_dma */ | ||
#define PCIE_DMA_LOOPBACK_ENABLE 0x1 | ||
/* spi */ | ||
#define SPI_CTRL_START 0x1 | ||
#define SPI_CTRL_LENGTH (1<<8) | ||
#define SPI_STATUS_DONE 0x1 | ||
|
||
#define PCIE_DMA_TABLE_LOOP_INDEX 1 << 0 | ||
#define PCIE_DMA_TABLE_LOOP_COUNT 1 << 16 | ||
/* pcie */ | ||
#define DMA_TABLE_LOOP_INDEX (1 << 0) | ||
#define DMA_TABLE_LOOP_COUNT (1 << 16) | ||
|
||
#endif /* __HW_FLAGS_H */ |
Oops, something went wrong.