From 37f1e64bb48547f0e7203290518cac78237efa49 Mon Sep 17 00:00:00 2001 From: Matteo Vit Date: Thu, 9 Aug 2007 14:55:34 +0200 Subject: [PATCH] --- yaml --- r: 66047 b: refs/heads/master c: 7808fa4853728a776d7e76d68fb406f515a4119c h: refs/heads/master i: 66045: 6843fd7186709a7f2407831a3b741c96ee8d1cf1 66043: c4990bee0133c21b3ab7eb2a968103af950a24b3 66039: f117652fa51832884e3806e3c49d26eaef54a424 66031: e906792646d9c584244a4486311f0af2b449651b 66015: abb10732b7038b6714a78ef61f32b260bf00b02f 65983: c4e7f6eceda6b347405fcb1468df51261a945e6c 65919: 03f4bdcbacc7cc44736d1a1c9a7ff9e5491dbd00 65791: c7fb569a5ce2627408b173810965e768e780c011 65535: 9f7407a1ae7917d67e0caeb8494b65a264d36c67 v: v3 --- [refs] | 2 +- trunk/arch/avr32/mach-at32ap/pio.c | 4 ++++ trunk/include/asm-avr32/arch-at32ap/portmux.h | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index aae4f4630f0a..f569b2fd229a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d938b89392bd3ff64e0610d8c4e0d3f7091d98db +refs/heads/master: 7808fa4853728a776d7e76d68fb406f515a4119c diff --git a/trunk/arch/avr32/mach-at32ap/pio.c b/trunk/arch/avr32/mach-at32ap/pio.c index 1eb99b814f5b..d61a02da898c 100644 --- a/trunk/arch/avr32/mach-at32ap/pio.c +++ b/trunk/arch/avr32/mach-at32ap/pio.c @@ -110,6 +110,10 @@ void __init at32_select_gpio(unsigned int pin, unsigned long flags) pio_writel(pio, SODR, mask); else pio_writel(pio, CODR, mask); + if (flags & AT32_GPIOF_MULTIDRV) + pio_writel(pio, MDER, mask); + else + pio_writel(pio, MDDR, mask); pio_writel(pio, PUDR, mask); pio_writel(pio, OER, mask); } else { diff --git a/trunk/include/asm-avr32/arch-at32ap/portmux.h b/trunk/include/asm-avr32/arch-at32ap/portmux.h index 9930871decde..b1abe6b4e4ef 100644 --- a/trunk/include/asm-avr32/arch-at32ap/portmux.h +++ b/trunk/include/asm-avr32/arch-at32ap/portmux.h @@ -19,6 +19,7 @@ #define AT32_GPIOF_OUTPUT 0x00000002 /* (OUT) Enable output driver */ #define AT32_GPIOF_HIGH 0x00000004 /* (OUT) Set output high */ #define AT32_GPIOF_DEGLITCH 0x00000008 /* (IN) Filter glitches */ +#define AT32_GPIOF_MULTIDRV 0x00000010 /* Enable multidriver option */ void at32_select_periph(unsigned int pin, unsigned int periph, unsigned long flags);