@ -420,54 +420,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_PINCTRL , & dev ) | | ! dev )
return true ;
if ( pinctrl_get_gpio_mux ( dev , 0 , 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 ( ) ;