summaryrefslogtreecommitdiffstats
path: root/sys/arm/at91/at91_piovar.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2006-07-14 22:22:57 +0000
committerimp <imp@FreeBSD.org>2006-07-14 22:22:57 +0000
commit1248744935dca517ba510eb184735ba19217f7a5 (patch)
tree0a1f99e7e262ad5f64970b6c2cb05ee2f06d6d51 /sys/arm/at91/at91_piovar.h
parentde4939a282fa16e2489b03c2e2319e5766083ece (diff)
downloadFreeBSD-src-1248744935dca517ba510eb184735ba19217f7a5.zip
FreeBSD-src-1248744935dca517ba510eb184735ba19217f7a5.tar.gz
MFp4:
Introduce framework to configure the multiplexed pins on boot. Since the USART supprots RS-485 multidrop mode, it allows the TX pins to float. However, for RS-232 operations, we don't want these pins to float. Instead, they should be pulled up to avoid mismatches. Linux does something similar when it configures the TX lines. This implies that we also allow the RX lines to float rather than be in the state they are left in by the boot loader. Since they are input pins, I think that this is the right thing to do. Plus minor for our board.
Diffstat (limited to 'sys/arm/at91/at91_piovar.h')
-rw-r--r--sys/arm/at91/at91_piovar.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/arm/at91/at91_piovar.h b/sys/arm/at91/at91_piovar.h
index dbb1622..6cfd6d5 100644
--- a/sys/arm/at91/at91_piovar.h
+++ b/sys/arm/at91/at91_piovar.h
@@ -27,11 +27,12 @@
#ifndef ARM_AT91_AT91_PIOVAR_H
#define ARM_AT91_AT91_PIOVAR_H
-void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask);
-void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask);
+void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup);
+void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, int use_pullup);
void at91_pio_use_gpio(uint32_t pio, uint32_t gpio_mask);
void at91_pio_gpio_input(uint32_t pio, uint32_t input_enable_mask);
-void at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask);
+void at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask,
+ int use_pullup);
void at91_pio_gpio_set(uint32_t pio, uint32_t data_mask);
void at91_pio_gpio_clear(uint32_t pio, uint32_t data_mask);
OpenPOWER on IntegriCloud