OpenWrt – Rev 1

Subversion Repositories:
Rev:
/*
 *  MikroTik RouterBOARD 750 definitions
 *
 *  Copyright (C) 2010-2012 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_NAND_NCE          BIT(RB750_GPIO_NAND_NCE)

#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)

#define RB7XX_GPIO_NAND_NCE     0
#define RB7XX_GPIO_MON          9
#define RB7XX_GPIO_LED_ACT      11
#define RB7XX_GPIO_USB_POWERON  13

#define RB7XX_NAND_NCE          BIT(RB7XX_GPIO_NAND_NCE)
#define RB7XX_LED_ACT           BIT(RB7XX_GPIO_LED_ACT)
#define RB7XX_MONITOR           BIT(RB7XX_GPIO_MON)
#define RB7XX_USB_POWERON       BIT(RB7XX_GPIO_USB_POWERON)

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;
        void                    (*latch_change)(u32 clear, u32 set);
};

struct rb7xx_nand_platform_data {
        u32 nce_line;

        void (*enable_pins)(void);
        void (*disable_pins)(void);
        void (*latch_change)(u32, u32);
};

#endif /* _MACH_RB750_H */

Generated by GNU Enscript 1.6.5.90.