aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-dove/common.c6
-rw-r--r--arch/arm/mach-dove/dove-db-setup.c1
-rw-r--r--arch/arm/mach-kirkwood/board-dreamplug.c1
-rw-r--r--arch/arm/mach-kirkwood/common.c10
-rw-r--r--arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c1
-rw-r--r--arch/arm/mach-kirkwood/rd88f6192-nas-setup.c1
-rw-r--r--arch/arm/mach-kirkwood/t5325-setup.c1
-rw-r--r--arch/arm/mach-kirkwood/tsx1x-common.c1
-rw-r--r--arch/arm/mach-mv78xx0/common.c2
-rw-r--r--arch/arm/mach-orion5x/common.c4
-rw-r--r--arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c1
-rw-r--r--arch/arm/plat-orion/common.c38
-rw-r--r--arch/arm/plat-orion/include/plat/common.h11
-rw-r--r--drivers/spi/spi-orion.c30
-rw-r--r--include/linux/spi/orion_spi.h17
15 files changed, 70 insertions, 55 deletions
diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c
index 63fe6e612e98..da5b4047464d 100644
--- a/arch/arm/mach-dove/common.c
+++ b/arch/arm/mach-dove/common.c
@@ -76,6 +76,8 @@ static void __init clk_init(void)
76{ 76{
77 tclk = clk_register_fixed_rate(NULL, "tclk", NULL, CLK_IS_ROOT, 77 tclk = clk_register_fixed_rate(NULL, "tclk", NULL, CLK_IS_ROOT,
78 get_tclk()); 78 get_tclk());
79
80 orion_clkdev_init(tclk);
79} 81}
80 82
81/***************************************************************************** 83/*****************************************************************************
@@ -162,12 +164,12 @@ void __init dove_uart3_init(void)
162 ****************************************************************************/ 164 ****************************************************************************/
163void __init dove_spi0_init(void) 165void __init dove_spi0_init(void)
164{ 166{
165 orion_spi_init(DOVE_SPI0_PHYS_BASE, get_tclk()); 167 orion_spi_init(DOVE_SPI0_PHYS_BASE);
166} 168}
167 169
168void __init dove_spi1_init(void) 170void __init dove_spi1_init(void)
169{ 171{
170 orion_spi_1_init(DOVE_SPI1_PHYS_BASE, get_tclk()); 172 orion_spi_1_init(DOVE_SPI1_PHYS_BASE);
171} 173}
172 174
173/***************************************************************************** 175/*****************************************************************************
diff --git a/arch/arm/mach-dove/dove-db-setup.c b/arch/arm/mach-dove/dove-db-setup.c
index ea77ae430b2d..bc2867f11346 100644
--- a/arch/arm/mach-dove/dove-db-setup.c
+++ b/arch/arm/mach-dove/dove-db-setup.c
@@ -20,7 +20,6 @@
20#include <linux/i2c.h> 20#include <linux/i2c.h>
21#include <linux/pci.h> 21#include <linux/pci.h>
22#include <linux/spi/spi.h> 22#include <linux/spi/spi.h>
23#include <linux/spi/orion_spi.h>
24#include <linux/spi/flash.h> 23#include <linux/spi/flash.h>
25#include <linux/gpio.h> 24#include <linux/gpio.h>
26#include <asm/mach-types.h> 25#include <asm/mach-types.h>
diff --git a/arch/arm/mach-kirkwood/board-dreamplug.c b/arch/arm/mach-kirkwood/board-dreamplug.c
index 985453994dd3..55e357ab2923 100644
--- a/arch/arm/mach-kirkwood/board-dreamplug.c
+++ b/arch/arm/mach-kirkwood/board-dreamplug.c
@@ -27,7 +27,6 @@
27#include <linux/mtd/physmap.h> 27#include <linux/mtd/physmap.h>
28#include <linux/spi/flash.h> 28#include <linux/spi/flash.h>
29#include <linux/spi/spi.h> 29#include <linux/spi/spi.h>
30#include <linux/spi/orion_spi.h>
31#include <asm/mach-types.h> 30#include <asm/mach-types.h>
32#include <asm/mach/arch.h> 31#include <asm/mach/arch.h>
33#include <asm/mach/map.h> 32#include <asm/mach/map.h>
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index 57b8d1ef3093..476e0b941db7 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -86,10 +86,12 @@ static struct clk __init *kirkwood_register_gate(const char *name, u8 bit_idx)
86 86
87void __init kirkwood_clk_init(void) 87void __init kirkwood_clk_init(void)
88{ 88{
89 struct clk *runit;
90
89 tclk = clk_register_fixed_rate(NULL, "tclk", NULL, 91 tclk = clk_register_fixed_rate(NULL, "tclk", NULL,
90 CLK_IS_ROOT, kirkwood_tclk); 92 CLK_IS_ROOT, kirkwood_tclk);
91 93
92 kirkwood_register_gate("runit", CGC_BIT_RUNIT); 94 runit = kirkwood_register_gate("runit", CGC_BIT_RUNIT);
93 kirkwood_register_gate("ge0", CGC_BIT_GE0); 95 kirkwood_register_gate("ge0", CGC_BIT_GE0);
94 kirkwood_register_gate("ge1", CGC_BIT_GE1); 96 kirkwood_register_gate("ge1", CGC_BIT_GE1);
95 kirkwood_register_gate("sata0", CGC_BIT_SATA0); 97 kirkwood_register_gate("sata0", CGC_BIT_SATA0);
@@ -104,6 +106,10 @@ void __init kirkwood_clk_init(void)
104 kirkwood_register_gate("audio", CGC_BIT_AUDIO); 106 kirkwood_register_gate("audio", CGC_BIT_AUDIO);
105 kirkwood_register_gate("tdm", CGC_BIT_TDM); 107 kirkwood_register_gate("tdm", CGC_BIT_TDM);
106 kirkwood_register_gate("tsu", CGC_BIT_TSU); 108 kirkwood_register_gate("tsu", CGC_BIT_TSU);
109
110 /* clkdev entries, mapping clks to devices */
111 orion_clkdev_add(NULL, "orion_spi.0", runit);
112 orion_clkdev_add(NULL, "orion_spi.1", runit);
107} 113}
108 114
109/***************************************************************************** 115/*****************************************************************************
@@ -270,7 +276,7 @@ void __init kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data)
270void __init kirkwood_spi_init() 276void __init kirkwood_spi_init()
271{ 277{
272 kirkwood_clk_ctrl |= CGC_RUNIT; 278 kirkwood_clk_ctrl |= CGC_RUNIT;
273 orion_spi_init(SPI_PHYS_BASE, kirkwood_tclk); 279 orion_spi_init(SPI_PHYS_BASE);
274} 280}
275 281
276 282
diff --git a/arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c b/arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c
index 85f6169c2484..6d8364a97810 100644
--- a/arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c
+++ b/arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c
@@ -23,7 +23,6 @@
23#include <linux/gpio_keys.h> 23#include <linux/gpio_keys.h>
24#include <linux/spi/flash.h> 24#include <linux/spi/flash.h>
25#include <linux/spi/spi.h> 25#include <linux/spi/spi.h>
26#include <linux/spi/orion_spi.h>
27#include <net/dsa.h> 26#include <net/dsa.h>
28#include <asm/mach-types.h> 27#include <asm/mach-types.h>
29#include <asm/mach/arch.h> 28#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
index fd2c9c8b6831..f742a66a7045 100644
--- a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
+++ b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
@@ -16,7 +16,6 @@
16#include <linux/gpio.h> 16#include <linux/gpio.h>
17#include <linux/spi/flash.h> 17#include <linux/spi/flash.h>
18#include <linux/spi/spi.h> 18#include <linux/spi/spi.h>
19#include <linux/spi/orion_spi.h>
20#include <asm/mach-types.h> 19#include <asm/mach-types.h>
21#include <asm/mach/arch.h> 20#include <asm/mach/arch.h>
22#include <mach/kirkwood.h> 21#include <mach/kirkwood.h>
diff --git a/arch/arm/mach-kirkwood/t5325-setup.c b/arch/arm/mach-kirkwood/t5325-setup.c
index f9d2a11b7f96..bad738e44044 100644
--- a/arch/arm/mach-kirkwood/t5325-setup.c
+++ b/arch/arm/mach-kirkwood/t5325-setup.c
@@ -16,7 +16,6 @@
16#include <linux/mtd/physmap.h> 16#include <linux/mtd/physmap.h>
17#include <linux/spi/flash.h> 17#include <linux/spi/flash.h>
18#include <linux/spi/spi.h> 18#include <linux/spi/spi.h>
19#include <linux/spi/orion_spi.h>
20#include <linux/i2c.h> 19#include <linux/i2c.h>
21#include <linux/mv643xx_eth.h> 20#include <linux/mv643xx_eth.h>
22#include <linux/ata_platform.h> 21#include <linux/ata_platform.h>
diff --git a/arch/arm/mach-kirkwood/tsx1x-common.c b/arch/arm/mach-kirkwood/tsx1x-common.c
index 24294b2bc469..8943ede29b44 100644
--- a/arch/arm/mach-kirkwood/tsx1x-common.c
+++ b/arch/arm/mach-kirkwood/tsx1x-common.c
@@ -4,7 +4,6 @@
4#include <linux/mtd/physmap.h> 4#include <linux/mtd/physmap.h>
5#include <linux/spi/flash.h> 5#include <linux/spi/flash.h>
6#include <linux/spi/spi.h> 6#include <linux/spi/spi.h>
7#include <linux/spi/orion_spi.h>
8#include <linux/serial_reg.h> 7#include <linux/serial_reg.h>
9#include <mach/kirkwood.h> 8#include <mach/kirkwood.h>
10#include "common.h" 9#include "common.h"
diff --git a/arch/arm/mach-mv78xx0/common.c b/arch/arm/mach-mv78xx0/common.c
index 73733207f5a9..4c24b46520aa 100644
--- a/arch/arm/mach-mv78xx0/common.c
+++ b/arch/arm/mach-mv78xx0/common.c
@@ -175,6 +175,8 @@ static void __init clk_init(void)
175{ 175{
176 tclk = clk_register_fixed_rate(NULL, "tclk", NULL, CLK_IS_ROOT, 176 tclk = clk_register_fixed_rate(NULL, "tclk", NULL, CLK_IS_ROOT,
177 get_tclk()); 177 get_tclk());
178
179 orion_clkdev_init(tclk);
178} 180}
179 181
180/***************************************************************************** 182/*****************************************************************************
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c
index 81660522c6b4..2ef82e2f511d 100644
--- a/arch/arm/mach-orion5x/common.c
+++ b/arch/arm/mach-orion5x/common.c
@@ -79,6 +79,8 @@ static void __init clk_init(void)
79{ 79{
80 tclk = clk_register_fixed_rate(NULL, "tclk", NULL, CLK_IS_ROOT, 80 tclk = clk_register_fixed_rate(NULL, "tclk", NULL, CLK_IS_ROOT,
81 orion5x_tclk); 81 orion5x_tclk);
82
83 orion_clkdev_init(tclk);
82} 84}
83 85
84/***************************************************************************** 86/*****************************************************************************
@@ -144,7 +146,7 @@ void __init orion5x_sata_init(struct mv_sata_platform_data *sata_data)
144 ****************************************************************************/ 146 ****************************************************************************/
145void __init orion5x_spi_init() 147void __init orion5x_spi_init()
146{ 148{
147 orion_spi_init(SPI_PHYS_BASE, orion5x_tclk); 149 orion_spi_init(SPI_PHYS_BASE);
148} 150}
149 151
150 152
diff --git a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
index 2c5fab00d205..7b97a9a211ed 100644
--- a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
+++ b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
@@ -16,7 +16,6 @@
16#include <linux/mtd/physmap.h> 16#include <linux/mtd/physmap.h>
17#include <linux/mv643xx_eth.h> 17#include <linux/mv643xx_eth.h>
18#include <linux/spi/spi.h> 18#include <linux/spi/spi.h>
19#include <linux/spi/orion_spi.h>
20#include <linux/spi/flash.h> 19#include <linux/spi/flash.h>
21#include <linux/ethtool.h> 20#include <linux/ethtool.h>
22#include <net/dsa.h> 21#include <net/dsa.h>
diff --git a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c
index 4fdd2e7e74a1..bbe50a948710 100644
--- a/arch/arm/plat-orion/common.c
+++ b/arch/arm/plat-orion/common.c
@@ -19,12 +19,32 @@
19#include <linux/mv643xx_eth.h> 19#include <linux/mv643xx_eth.h>
20#include <linux/mv643xx_i2c.h> 20#include <linux/mv643xx_i2c.h>
21#include <net/dsa.h> 21#include <net/dsa.h>
22#include <linux/spi/orion_spi.h>
23#include <plat/orion_wdt.h> 22#include <plat/orion_wdt.h>
24#include <plat/mv_xor.h> 23#include <plat/mv_xor.h>
25#include <plat/ehci-orion.h> 24#include <plat/ehci-orion.h>
26#include <mach/bridge-regs.h> 25#include <mach/bridge-regs.h>
27 26
27/* Create a clkdev entry for a given device/clk */
28void __init orion_clkdev_add(const char *con_id, const char *dev_id,
29 struct clk *clk)
30{
31 struct clk_lookup *cl;
32
33 cl = clkdev_alloc(clk, con_id, dev_id);
34 if (cl)
35 clkdev_add(cl);
36}
37
38/* Create clkdev entries for all orion platforms except kirkwood.
39 Kirkwood has gated clocks for some of its peripherals, so creates
40 its own clkdev entries. For all the other orion devices, create
41 clkdev entries to the tclk. */
42void __init orion_clkdev_init(struct clk *tclk)
43{
44 orion_clkdev_add(NULL, "orion_spi.0", tclk);
45 orion_clkdev_add(NULL, "orion_spi.1", tclk);
46}
47
28/* Fill in the resources structure and link it into the platform 48/* Fill in the resources structure and link it into the platform
29 device structure. There is always a memory region, and nearly 49 device structure. There is always a memory region, and nearly
30 always an interrupt.*/ 50 always an interrupt.*/
@@ -523,44 +543,32 @@ void __init orion_i2c_1_init(unsigned long mapbase,
523/***************************************************************************** 543/*****************************************************************************
524 * SPI 544 * SPI
525 ****************************************************************************/ 545 ****************************************************************************/
526static struct orion_spi_info orion_spi_plat_data;
527static struct resource orion_spi_resources; 546static struct resource orion_spi_resources;
528 547
529static struct platform_device orion_spi = { 548static struct platform_device orion_spi = {
530 .name = "orion_spi", 549 .name = "orion_spi",
531 .id = 0, 550 .id = 0,
532 .dev = {
533 .platform_data = &orion_spi_plat_data,
534 },
535}; 551};
536 552
537static struct orion_spi_info orion_spi_1_plat_data;
538static struct resource orion_spi_1_resources; 553static struct resource orion_spi_1_resources;
539 554
540static struct platform_device orion_spi_1 = { 555static struct platform_device orion_spi_1 = {
541 .name = "orion_spi", 556 .name = "orion_spi",
542 .id = 1, 557 .id = 1,
543 .dev = {
544 .platform_data = &orion_spi_1_plat_data,
545 },
546}; 558};
547 559
548/* Note: The SPI silicon core does have interrupts. However the 560/* Note: The SPI silicon core does have interrupts. However the
549 * current Linux software driver does not use interrupts. */ 561 * current Linux software driver does not use interrupts. */
550 562
551void __init orion_spi_init(unsigned long mapbase, 563void __init orion_spi_init(unsigned long mapbase)
552 unsigned long tclk)
553{ 564{
554 orion_spi_plat_data.tclk = tclk;
555 fill_resources(&orion_spi, &orion_spi_resources, 565 fill_resources(&orion_spi, &orion_spi_resources,
556 mapbase, SZ_512 - 1, NO_IRQ); 566 mapbase, SZ_512 - 1, NO_IRQ);
557 platform_device_register(&orion_spi); 567 platform_device_register(&orion_spi);
558} 568}
559 569
560void __init orion_spi_1_init(unsigned long mapbase, 570void __init orion_spi_1_init(unsigned long mapbase)
561 unsigned long tclk)
562{ 571{
563 orion_spi_1_plat_data.tclk = tclk;
564 fill_resources(&orion_spi_1, &orion_spi_1_resources, 572 fill_resources(&orion_spi_1, &orion_spi_1_resources,
565 mapbase, SZ_512 - 1, NO_IRQ); 573 mapbase, SZ_512 - 1, NO_IRQ);
566 platform_device_register(&orion_spi_1); 574 platform_device_register(&orion_spi_1);
diff --git a/arch/arm/plat-orion/include/plat/common.h b/arch/arm/plat-orion/include/plat/common.h
index a7fa005a5a0e..d188a1aa6f56 100644
--- a/arch/arm/plat-orion/include/plat/common.h
+++ b/arch/arm/plat-orion/include/plat/common.h
@@ -70,11 +70,9 @@ void __init orion_i2c_1_init(unsigned long mapbase,
70 unsigned long irq, 70 unsigned long irq,
71 unsigned long freq_m); 71 unsigned long freq_m);
72 72
73void __init orion_spi_init(unsigned long mapbase, 73void __init orion_spi_init(unsigned long mapbase);
74 unsigned long tclk);
75 74
76void __init orion_spi_1_init(unsigned long mapbase, 75void __init orion_spi_1_init(unsigned long mapbase);
77 unsigned long tclk);
78 76
79void __init orion_wdt_init(unsigned long tclk); 77void __init orion_wdt_init(unsigned long tclk);
80 78
@@ -106,4 +104,9 @@ void __init orion_crypto_init(unsigned long mapbase,
106 unsigned long srambase, 104 unsigned long srambase,
107 unsigned long sram_size, 105 unsigned long sram_size,
108 unsigned long irq); 106 unsigned long irq);
107
108void __init orion_clkdev_add(const char *con_id, const char *dev_id,
109 struct clk *clk);
110
111void __init orion_clkdev_init(struct clk *tclk);
109#endif 112#endif
diff --git a/drivers/spi/spi-orion.c b/drivers/spi/spi-orion.c
index e496f799b7a9..dfd04e91fa6d 100644
--- a/drivers/spi/spi-orion.c
+++ b/drivers/spi/spi-orion.c
@@ -16,8 +16,8 @@
16#include <linux/err.h> 16#include <linux/err.h>
17#include <linux/io.h> 17#include <linux/io.h>
18#include <linux/spi/spi.h> 18#include <linux/spi/spi.h>
19#include <linux/spi/orion_spi.h>
20#include <linux/module.h> 19#include <linux/module.h>
20#include <linux/clk.h>
21#include <asm/unaligned.h> 21#include <asm/unaligned.h>
22 22
23#define DRIVER_NAME "orion_spi" 23#define DRIVER_NAME "orion_spi"
@@ -46,6 +46,7 @@ struct orion_spi {
46 unsigned int max_speed; 46 unsigned int max_speed;
47 unsigned int min_speed; 47 unsigned int min_speed;
48 struct orion_spi_info *spi_info; 48 struct orion_spi_info *spi_info;
49 struct clk *clk;
49}; 50};
50 51
51static struct workqueue_struct *orion_spi_wq; 52static struct workqueue_struct *orion_spi_wq;
@@ -104,7 +105,7 @@ static int orion_spi_baudrate_set(struct spi_device *spi, unsigned int speed)
104 105
105 orion_spi = spi_master_get_devdata(spi->master); 106 orion_spi = spi_master_get_devdata(spi->master);
106 107
107 tclk_hz = orion_spi->spi_info->tclk; 108 tclk_hz = clk_get_rate(orion_spi->clk);
108 109
109 /* 110 /*
110 * the supported rates are: 4,6,8...30 111 * the supported rates are: 4,6,8...30
@@ -450,6 +451,7 @@ static int __init orion_spi_probe(struct platform_device *pdev)
450 struct orion_spi *spi; 451 struct orion_spi *spi;
451 struct resource *r; 452 struct resource *r;
452 struct orion_spi_info *spi_info; 453 struct orion_spi_info *spi_info;
454 unsigned long tclk_hz;
453 int status = 0; 455 int status = 0;
454 456
455 spi_info = pdev->dev.platform_data; 457 spi_info = pdev->dev.platform_data;
@@ -476,19 +478,28 @@ static int __init orion_spi_probe(struct platform_device *pdev)
476 spi->master = master; 478 spi->master = master;
477 spi->spi_info = spi_info; 479 spi->spi_info = spi_info;
478 480
479 spi->max_speed = DIV_ROUND_UP(spi_info->tclk, 4); 481 spi->clk = clk_get(&pdev->dev, NULL);
480 spi->min_speed = DIV_ROUND_UP(spi_info->tclk, 30); 482 if (IS_ERR(spi->clk)) {
483 status = PTR_ERR(spi->clk);
484 goto out;
485 }
486
487 clk_prepare(spi->clk);
488 clk_enable(spi->clk);
489 tclk_hz = clk_get_rate(spi->clk);
490 spi->max_speed = DIV_ROUND_UP(tclk_hz, 4);
491 spi->min_speed = DIV_ROUND_UP(tclk_hz, 30);
481 492
482 r = platform_get_resource(pdev, IORESOURCE_MEM, 0); 493 r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
483 if (r == NULL) { 494 if (r == NULL) {
484 status = -ENODEV; 495 status = -ENODEV;
485 goto out; 496 goto out_rel_clk;
486 } 497 }
487 498
488 if (!request_mem_region(r->start, resource_size(r), 499 if (!request_mem_region(r->start, resource_size(r),
489 dev_name(&pdev->dev))) { 500 dev_name(&pdev->dev))) {
490 status = -EBUSY; 501 status = -EBUSY;
491 goto out; 502 goto out_rel_clk;
492 } 503 }
493 spi->base = ioremap(r->start, SZ_1K); 504 spi->base = ioremap(r->start, SZ_1K);
494 505
@@ -508,7 +519,9 @@ static int __init orion_spi_probe(struct platform_device *pdev)
508 519
509out_rel_mem: 520out_rel_mem:
510 release_mem_region(r->start, resource_size(r)); 521 release_mem_region(r->start, resource_size(r));
511 522out_rel_clk:
523 clk_disable_unprepare(spi->clk);
524 clk_put(spi->clk);
512out: 525out:
513 spi_master_put(master); 526 spi_master_put(master);
514 return status; 527 return status;
@@ -526,6 +539,9 @@ static int __exit orion_spi_remove(struct platform_device *pdev)
526 539
527 cancel_work_sync(&spi->work); 540 cancel_work_sync(&spi->work);
528 541
542 clk_disable_unprepare(spi->clk);
543 clk_put(spi->clk);
544
529 r = platform_get_resource(pdev, IORESOURCE_MEM, 0); 545 r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
530 release_mem_region(r->start, resource_size(r)); 546 release_mem_region(r->start, resource_size(r));
531 547
diff --git a/include/linux/spi/orion_spi.h b/include/linux/spi/orion_spi.h
deleted file mode 100644
index b4d9fa6f797c..000000000000
--- a/include/linux/spi/orion_spi.h
+++ /dev/null
@@ -1,17 +0,0 @@
1/*
2 * orion_spi.h
3 *
4 * This file is licensed under the terms of the GNU General Public
5 * License version 2. This program is licensed "as is" without any
6 * warranty of any kind, whether express or implied.
7 */
8
9#ifndef __LINUX_SPI_ORION_SPI_H
10#define __LINUX_SPI_ORION_SPI_H
11
12struct orion_spi_info {
13 u32 tclk; /* no <linux/clk.h> support yet */
14};
15
16
17#endif