[U-Boot] [PATCH 3/7] rpi: Remove runtime disabling support for serial
Alexander Graf
agraf at suse.de
Tue Jan 16 13:47:37 UTC 2018
We are switching to a model where our board file can directly fail probing
of serial devices when they're not usable, so remove the current runtime
hack we have.
Signed-off-by: Alexander Graf <agraf at suse.de>
---
arch/arm/mach-bcm283x/include/mach/gpio.h | 1 -
board/raspberrypi/rpi/rpi.c | 43 -------------------------------
drivers/gpio/bcm2835_gpio.c | 2 +-
3 files changed, 1 insertion(+), 45 deletions(-)
diff --git a/arch/arm/mach-bcm283x/include/mach/gpio.h b/arch/arm/mach-bcm283x/include/mach/gpio.h
index 751594d09f..1bcb5846ca 100644
--- a/arch/arm/mach-bcm283x/include/mach/gpio.h
+++ b/arch/arm/mach-bcm283x/include/mach/gpio.h
@@ -61,7 +61,6 @@ struct bcm2835_gpio_platdata {
unsigned long base;
};
-int bcm2835_gpio_get_func_id(struct udevice *dev, unsigned gpio);
void bcm2835_gpio_set_pinmux(struct udevice *dev, int handle);
#endif /* _BCM2835_GPIO_H_ */
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 3b7a54f519..a96d5d8952 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -419,54 +419,11 @@ static void get_board_rev(void)
printf("RPI %s (0x%x)\n", model->name, revision);
}
-#ifndef CONFIG_PL01X_SERIAL
-static bool rpi_is_serial_active(void)
-{
- int serial_gpio = 15;
- struct udevice *dev;
-
- /*
- * The RPi3 disables the mini uart by default. The easiest way to find
- * out whether it is available is to check if the RX pin is muxed.
- */
-
- if (uclass_first_device(UCLASS_GPIO, &dev) || !dev)
- return true;
-
- if (bcm2835_gpio_get_func_id(dev, serial_gpio) != BCM2835_GPIO_ALT5)
- return false;
-
- return true;
-}
-
-/* Disable mini-UART I/O if it's not pinmuxed to our pins.
- * The firmware only enables it if explicitly done in config.txt: enable_uart=1
- */
-static void rpi_disable_inactive_uart(void)
-{
- struct udevice *dev;
- struct bcm283x_mu_serial_platdata *plat;
-
- if (uclass_get_device_by_driver(UCLASS_SERIAL,
- DM_GET_DRIVER(serial_bcm283x_mu),
- &dev) || !dev)
- return;
-
- if (!rpi_is_serial_active()) {
- plat = dev_get_platdata(dev);
- plat->disabled = true;
- }
-}
-#endif
-
int board_init(void)
{
#ifdef CONFIG_HW_WATCHDOG
hw_watchdog_init();
#endif
-#ifndef CONFIG_PL01X_SERIAL
- rpi_disable_inactive_uart();
-#endif
get_board_rev();
diff --git a/drivers/gpio/bcm2835_gpio.c b/drivers/gpio/bcm2835_gpio.c
index 209cbed9e6..3edd90ea97 100644
--- a/drivers/gpio/bcm2835_gpio.c
+++ b/drivers/gpio/bcm2835_gpio.c
@@ -73,7 +73,7 @@ static int bcm2835_gpio_set_value(struct udevice *dev, unsigned gpio,
return 0;
}
-int bcm2835_gpio_get_func_id(struct udevice *dev, unsigned gpio)
+static int bcm2835_gpio_get_func_id(struct udevice *dev, unsigned gpio)
{
struct bcm2835_gpios *gpios = dev_get_priv(dev);
u32 val;
--
2.12.3
More information about the U-Boot
mailing list