summaryrefslogtreecommitdiff
path: root/arch/avr32/cpu/portmux-gpio.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2017-07-05 16:25:22 +0300
committerTom Rini <trini@konsulko.com>2017-07-06 16:17:19 -0400
commitdaab59ac05d8fd1092e34a4c695ac265ae700141 (patch)
treec9fe90a80281235d0bf3043d1d2e7c218f3ed383 /arch/avr32/cpu/portmux-gpio.c
parent747c4c68c042babb2179b52b60bc78611e3e1183 (diff)
avr32: Retire AVR32 for good
AVR32 is gone. It's already more than two years for no support in Buildroot, even longer there is no support in GCC (last version is heavily patched 4.2.4). Linux kernel v4.12 got rid of it (and v4.11 didn't build successfully). There is no good point to keep this support in U-Boot either. Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Heiko Schocher <hs@denx.de> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Diffstat (limited to 'arch/avr32/cpu/portmux-gpio.c')
-rw-r--r--arch/avr32/cpu/portmux-gpio.c91
1 files changed, 0 insertions, 91 deletions
diff --git a/arch/avr32/cpu/portmux-gpio.c b/arch/avr32/cpu/portmux-gpio.c
deleted file mode 100644
index 640852c2c0..0000000000
--- a/arch/avr32/cpu/portmux-gpio.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2008 Atmel Corporation
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-#include <common.h>
-
-#include <asm/io.h>
-#include <asm/arch/hardware.h>
-#include <asm/arch/gpio.h>
-
-void portmux_select_peripheral(void *port, unsigned long pin_mask,
- enum portmux_function func, unsigned long flags)
-{
- /* Both pull-up and pull-down set means buskeeper */
- if (flags & PORTMUX_PULL_DOWN)
- gpio_writel(port, PDERS, pin_mask);
- else
- gpio_writel(port, PDERC, pin_mask);
- if (flags & PORTMUX_PULL_UP)
- gpio_writel(port, PUERS, pin_mask);
- else
- gpio_writel(port, PUERC, pin_mask);
-
- /* Select drive strength */
- if (flags & PORTMUX_DRIVE_LOW)
- gpio_writel(port, ODCR0S, pin_mask);
- else
- gpio_writel(port, ODCR0C, pin_mask);
- if (flags & PORTMUX_DRIVE_HIGH)
- gpio_writel(port, ODCR1S, pin_mask);
- else
- gpio_writel(port, ODCR1C, pin_mask);
-
- /* Select function */
- if (func & PORTMUX_FUNC_B)
- gpio_writel(port, PMR0S, pin_mask);
- else
- gpio_writel(port, PMR0C, pin_mask);
- if (func & PORTMUX_FUNC_C)
- gpio_writel(port, PMR1S, pin_mask);
- else
- gpio_writel(port, PMR1C, pin_mask);
-
- /* Disable GPIO (i.e. enable peripheral) */
- gpio_writel(port, GPERC, pin_mask);
-}
-
-void portmux_select_gpio(void *port, unsigned long pin_mask,
- unsigned long flags)
-{
- /* Both pull-up and pull-down set means buskeeper */
- if (flags & PORTMUX_PULL_DOWN)
- gpio_writel(port, PDERS, pin_mask);
- else
- gpio_writel(port, PDERC, pin_mask);
- if (flags & PORTMUX_PULL_UP)
- gpio_writel(port, PUERS, pin_mask);
- else
- gpio_writel(port, PUERC, pin_mask);
-
- /* Enable open-drain mode if requested */
- if (flags & PORTMUX_OPEN_DRAIN)
- gpio_writel(port, ODMERS, pin_mask);
- else
- gpio_writel(port, ODMERC, pin_mask);
-
- /* Select drive strength */
- if (flags & PORTMUX_DRIVE_LOW)
- gpio_writel(port, ODCR0S, pin_mask);
- else
- gpio_writel(port, ODCR0C, pin_mask);
- if (flags & PORTMUX_DRIVE_HIGH)
- gpio_writel(port, ODCR1S, pin_mask);
- else
- gpio_writel(port, ODCR1C, pin_mask);
-
- /* Select direction and initial pin state */
- if (flags & PORTMUX_DIR_OUTPUT) {
- if (flags & PORTMUX_INIT_HIGH)
- gpio_writel(port, OVRS, pin_mask);
- else
- gpio_writel(port, OVRC, pin_mask);
- gpio_writel(port, ODERS, pin_mask);
- } else {
- gpio_writel(port, ODERC, pin_mask);
- }
-
- /* Enable GPIO */
- gpio_writel(port, GPERS, pin_mask);
-}