@@ -35,7 +35,7 @@ static long get_uart0_address() {
3535}
3636
3737typedef struct {
38- const char * hardware_pattern ;
38+ const char * pattern ;
3939 bool (* detect_fn )(char * );
4040 const char * override_vendor ;
4141 void (* setup_hal_fn )(void );
@@ -50,9 +50,10 @@ static const manufacturers_t manufacturers[] = {
5050 {"MStar" , mstar_detect_cpu , NULL , sstar_setup_hal },
5151 {"Novatek" , novatek_detect_cpu , NULL , novatek_setup_hal },
5252 {"Grain-Media" , gm_detect_cpu , NULL , gm_setup_hal },
53- {"FH" , fh_detect_cpu , "Fullhan" , setup_hal_fh },
54- {NULL /* Generic */ , rockchip_detect_cpu , "Rockchip" , setup_hal_rockchip },
55- {"Xilinx" , xilinx_detect_cpu , NULL , setup_hal_xilinx },
53+ {"FH" , fh_detect_cpu , "Fullhan" , fh_setup_hal },
54+ {NULL /* Generic */ , rockchip_detect_cpu , "Rockchip" , rockchip_setup_hal },
55+ {"Xilinx" , xilinx_detect_cpu , NULL , xilinx_setup_hal },
56+ {"BCM" , bcm_detect_cpu , NULL , bcm_setup_hal }
5657#endif
5758#if defined(__aarch64__ ) || defined(_M_ARM64 )
5859 {NULL, tegra_detect_cpu , "Nvidia" , tegra_setup_hal },
@@ -72,8 +73,9 @@ static bool generic_detect_cpu() {
7273 strcpy (chip_manufacturer , buf );
7374
7475 for (size_t i = 0 ; i < ARRCNT (manufacturers ); i ++ ) {
75- if (manufacturers [i ].hardware_pattern &&
76- strcmp (manufacturers [i ].hardware_pattern , chip_manufacturer ))
76+ if (manufacturers [i ].pattern &&
77+ strncmp (manufacturers [i ].pattern , chip_manufacturer ,
78+ strlen (manufacturers [i ].pattern )))
7779 continue ;
7880
7981 if (manufacturers [i ].detect_fn (chip_name )) {
0 commit comments