diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2008-03-11 22:13:06 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2008-03-11 22:13:06 +0100 |
commit | 906eea397a2f4378c4cab841fb832211e0414ce9 (patch) | |
tree | c910e8ab4fbd7061f9d594fb181956acf1b919cf /drivers/spi | |
parent | 5864a49007e36af60b4959c32bf6b66058859dba (diff) | |
download | barebox-906eea397a2f4378c4cab841fb832211e0414ce9.tar.gz barebox-906eea397a2f4378c4cab841fb832211e0414ce9.tar.xz |
beginning of SPI support
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/Kconfig | 14 | ||||
-rw-r--r-- | drivers/spi/Makefile | 4 | ||||
-rw-r--r-- | drivers/spi/imx_spi.c | 30 | ||||
-rw-r--r-- | drivers/spi/mc13783.c | 27 | ||||
-rw-r--r-- | drivers/spi/spi.c | 14 |
5 files changed, 89 insertions, 0 deletions
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig new file mode 100644 index 0000000000..1c48ceac70 --- /dev/null +++ b/drivers/spi/Kconfig @@ -0,0 +1,14 @@ +menu "SPI drivers " + +config SPI + bool + default y + +config DRIVER_SPI_IMX + bool "i.MX SPI Master driver" + depends on ARCH_IMX + +config DRIVER_SPI_MC13783 + bool "MC13783 a.k.a. PMIC driver" + +endmenu diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile new file mode 100644 index 0000000000..daef099004 --- /dev/null +++ b/drivers/spi/Makefile @@ -0,0 +1,4 @@ +obj-y += spi.o +obj-$(CONFIG_DRIVER_SPI_IMX) += imx_spi.o + +obj-$(CONFIG_DRIVER_SPI_MC13783) += mc13783.o diff --git a/drivers/spi/imx_spi.c b/drivers/spi/imx_spi.c new file mode 100644 index 0000000000..641e635e29 --- /dev/null +++ b/drivers/spi/imx_spi.c @@ -0,0 +1,30 @@ +#include <common.h> +#include <init.h> +#include <driver.h> +#include <spi/spi.h> +#include <xfuncs.h> + +static int imx_spi_probe(struct device_d *dev) +{ + struct spi_master *master; + + master = xmalloc(sizeof(struct spi_master)); + + spi_register_master(master); + + return 0; +} + +static struct driver_d imx_spi_driver = { + .name = "imx_spi", + .probe = imx_spi_probe, +}; + +static int imx_spi_init(void) +{ + register_driver(&imx_spi_driver); + return 0; +} + +device_initcall(imx_spi_init); + diff --git a/drivers/spi/mc13783.c b/drivers/spi/mc13783.c new file mode 100644 index 0000000000..6c467dfb93 --- /dev/null +++ b/drivers/spi/mc13783.c @@ -0,0 +1,27 @@ +#include <common.h> +#include <init.h> +#include <driver.h> +#include <spi/spi.h> +#include <xfuncs.h> + +static int pmic_probe(struct device_d *dev) +{ + printf("%s\n", __FUNCTION__); + + return 0; +} + +static struct driver_d pmic_driver = { + .name = "mc13783", + .probe = pmic_probe, +}; + +static int pmic_init(void) +{ + printf("%s\n", __FUNCTION__); + register_driver(&pmic_driver); + return 0; +} + +device_initcall(pmic_init); + diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c new file mode 100644 index 0000000000..765e34d5e2 --- /dev/null +++ b/drivers/spi/spi.c @@ -0,0 +1,14 @@ +#include <common.h> +#include <spi/spi.h> + +int spi_register_boardinfo(struct spi_board_info *info, int num) +{ + printf("%s\n", __FUNCTION__); + return 0; +} + +int spi_register_master(struct spi_master *master) +{ + printf("%s\n", __FUNCTION__); + return 0; +} |