@@ -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_ */
@@ -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();
@@ -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;
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@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(-)