diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2012-03-19 15:56:59 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2012-03-19 15:56:59 +0000 |
commit | 8a471efe012d23a9292b4f951e6d09717595faa3 (patch) | |
tree | 6cb18fc74c3ee011bab13b91c4a25dd4a376d95a /target/linux/ar71xx/files/arch/mips/ath79 | |
parent | 57d0b185e5be070fe22a6e3971747a2102393c08 (diff) | |
download | mtk-20170518-8a471efe012d23a9292b4f951e6d09717595faa3.zip mtk-20170518-8a471efe012d23a9292b4f951e6d09717595faa3.tar.gz mtk-20170518-8a471efe012d23a9292b4f951e6d09717595faa3.tar.bz2 |
ar71xx: add platform data for the RB750 NAND driver
SVN-Revision: 31022
Diffstat (limited to 'target/linux/ar71xx/files/arch/mips/ath79')
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c index 976617b..bcd961e 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c @@ -1,5 +1,5 @@ /* - * MikroTik RouterBOARD 750 support + * MikroTik RouterBOARD 750/750GL support * * Copyright (C) 2010-2012 Gabor Juhos <juhosg@openwrt.org> * @@ -59,9 +59,13 @@ static struct platform_device rb750_leds_device = { } }; +static struct rb7xx_nand_platform_data rb750_nand_data; static struct platform_device rb750_nand_device = { .name = "rb750-nand", .id = -1, + .dev = { + .platform_data = &rb750_nand_data, + } }; int rb750_latch_change(u32 mask_clr, u32 mask_set) @@ -113,19 +117,24 @@ unlock: } EXPORT_SYMBOL_GPL(rb750_latch_change); -void rb750_nand_pins_enable(void) +static void rb750_nand_enable_pins(void) { + rb750_latch_change(RB750_LVC573_LE, 0); ath79_gpio_function_setup(AR724X_GPIO_FUNC_JTAG_DISABLE, AR724X_GPIO_FUNC_SPI_EN); } -EXPORT_SYMBOL_GPL(rb750_nand_pins_enable); -void rb750_nand_pins_disable(void) +static void rb750_nand_disable_pins(void) { ath79_gpio_function_setup(AR724X_GPIO_FUNC_SPI_EN, AR724X_GPIO_FUNC_JTAG_DISABLE); + rb750_latch_change(0, RB750_LVC573_LE); +} + +static void rb750_nand_latch_change(u32 clear, u32 set) +{ + rb750_latch_change(clear, set); } -EXPORT_SYMBOL_GPL(rb750_nand_pins_disable); static void __init rb750_setup(void) { @@ -147,6 +156,11 @@ static void __init rb750_setup(void) ath79_register_eth(0); platform_device_register(&rb750_leds_device); + + rb750_nand_data.nce_line = RB750_NAND_NCE; + rb750_nand_data.enable_pins = rb750_nand_enable_pins; + rb750_nand_data.disable_pins = rb750_nand_disable_pins; + rb750_nand_data.latch_change = rb750_nand_latch_change; platform_device_register(&rb750_nand_device); } |