summaryrefslogtreecommitdiff
path: root/target/linux/ar71xx/files-2.6.39/arch/mips/include/asm/mach-ar71xx/mach-rb750.h
blob: 661ba4ec7250da9b0f5da0459a2a92f9743b831c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
 *  MikroTik RouterBOARD 750 definitions
 *
 *  Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org>
 *
 *  This program is free software; you can redistribute it and/or modify it
 *  under the terms of the GNU General Public License version 2 as published
 *  by the Free Software Foundation.
 */
#ifndef _MACH_RB750_H
#define _MACH_RB750_H

#include <linux/bitops.h>

#define RB750_GPIO_LVC573_LE	0	/* Latch enable on LVC573 */
#define RB750_GPIO_NAND_IO0	1	/* NAND I/O 0 */
#define RB750_GPIO_NAND_IO1	2	/* NAND I/O 1 */
#define RB750_GPIO_NAND_IO2	3	/* NAND I/O 2 */
#define RB750_GPIO_NAND_IO3	4	/* NAND I/O 3 */
#define RB750_GPIO_NAND_IO4	5	/* NAND I/O 4 */
#define RB750_GPIO_NAND_IO5	6	/* NAND I/O 5 */
#define RB750_GPIO_NAND_IO6	7	/* NAND I/O 6 */
#define RB750_GPIO_NAND_IO7	8	/* NAND I/O 7 */
#define RB750_GPIO_NAND_NCE	11	/* NAND Chip Enable (active low) */
#define RB750_GPIO_NAND_RDY	12	/* NAND Ready */
#define RB750_GPIO_NAND_CLE	14	/* NAND Command Latch Enable */
#define RB750_GPIO_NAND_ALE	15	/* NAND Address Latch Enable */
#define RB750_GPIO_NAND_NRE	16	/* NAND Read Enable (active low) */
#define RB750_GPIO_NAND_NWE	17	/* NAND Write Enable (active low) */

#define RB750_GPIO_BTN_RESET	1
#define RB750_GPIO_SPI_CS0	2
#define RB750_GPIO_LED_ACT	12
#define RB750_GPIO_LED_PORT1	13
#define RB750_GPIO_LED_PORT2	14
#define RB750_GPIO_LED_PORT3	15
#define RB750_GPIO_LED_PORT4	16
#define RB750_GPIO_LED_PORT5	17

#define RB750_LED_ACT		BIT(RB750_GPIO_LED_ACT)
#define RB750_LED_PORT1		BIT(RB750_GPIO_LED_PORT1)
#define RB750_LED_PORT2		BIT(RB750_GPIO_LED_PORT2)
#define RB750_LED_PORT3		BIT(RB750_GPIO_LED_PORT3)
#define RB750_LED_PORT4		BIT(RB750_GPIO_LED_PORT4)
#define RB750_LED_PORT5		BIT(RB750_GPIO_LED_PORT5)

#define RB750_LVC573_LE		BIT(RB750_GPIO_LVC573_LE)

#define RB750_LED_BITS	(RB750_LED_PORT1 | RB750_LED_PORT2 | RB750_LED_PORT3 | \
			 RB750_LED_PORT4 | RB750_LED_PORT5 | RB750_LED_ACT)

struct rb750_led_data {
	char	*name;
	char	*default_trigger;
	u32	mask;
	int	active_low;
};

struct rb750_led_platform_data {
	int			num_leds;
	struct rb750_led_data	*leds;
};

int rb750_latch_change(u32 mask_clr, u32 mask_set);

#endif /* _MACH_RB750_H */