Changeset 44834


Ignore:
Timestamp:
2015-03-16T12:52:26+01:00 (3 years ago)
Author:
jogo
Message:

brcm63xx: add device tree based board detection

Use the device tree model property for detecting the board instead
of board id from nvram if present.

Since we can now directly detect the DVA-G3810BN, we can remove the
extra check for it.

Signed-off-by: Jonas Gorski <jogo@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm63xx/base-files/lib/brcm63xx.sh

    r44833 r44834  
    1212ifname="" 
    1313 
     14brcm63xx_dt_detect() { 
     15        local board_name 
     16 
     17        case "$1" in 
     18        "ADB P.DG A4001N") 
     19                board_name="a4001n" 
     20                ;; 
     21        "ADB P.DG A4001N1") 
     22                board_name="a4001n1" 
     23                ;; 
     24        "Alcatel RG100A") 
     25                board_name="rg100a" 
     26                ;; 
     27        "ASMAX AR 1004g") 
     28                board_name="ar100g" 
     29                ;; 
     30        "Belkin F5D7633") 
     31                board_name="f5d7633" 
     32                ;; 
     33        "Broadcom 96348R reference board") 
     34                board_name="bcm96348r" 
     35                ;; 
     36        "Broadcom bcm963281TAN reference board") 
     37                board_name="bcm963281tan" 
     38                ;; 
     39        "Broadcom BCM96328avng reference board") 
     40                board_name="bcm6328avng" 
     41                ;; 
     42        "Broadcom BCM96345GW2 reference board") 
     43                board_name="bcm96345gw2" 
     44                ;; 
     45        "Broadcom BCM96348GW-10 reference board") 
     46                board_name="bcm96348gw-10" 
     47                ;; 
     48        "Broadcom BCM96348GW-11 reference board") 
     49                board_name="bcm96348gw-11" 
     50                ;; 
     51        "Broadcom BCM96348GW reference board") 
     52                board_name="bcm96358gw" 
     53                ;; 
     54        "Broadcom BCM96358VW reference board") 
     55                board_name="bcm96358vw" 
     56                ;; 
     57        "Broadcom BCM96358VW2 reference board") 
     58                board_name="bcm96358vw2" 
     59                ;; 
     60        "Broadcom BCM96368MVNgr reference board") 
     61                board_name="bcm96368mvngr" 
     62                ;; 
     63        "Broadcom BCM96368MVWG reference board") 
     64                board_name="bcm96368mvwg" 
     65                ;; 
     66        "BT Voyager V2500V") 
     67                board_name="v2500v" 
     68                ;; 
     69        "Comtrend AR-5381u") 
     70                board_name="ar-5381u" 
     71                ;; 
     72        "Comtrend AR-5387un") 
     73                board_name="ar-5387un" 
     74                ;; 
     75        "Comtrend CT-5365") 
     76                board_name="ct-5365" 
     77                ;; 
     78        "Comtrend CT-536+/CT-5621T") 
     79                board_name="ct-536p_5621t" 
     80                ;; 
     81        "Comtrend CT-6373") 
     82                board_name="ct-6373" 
     83                ;; 
     84        "Comtrend VR-3025u") 
     85                board_name="vr-3025u" 
     86                ;; 
     87        "Comtrend VR-3025un") 
     88                board_name="vr-3025un" 
     89                ;; 
     90        "Comtrend WAP-5813n") 
     91                board_name="wap-5813n" 
     92                ;; 
     93        "Davolink DV-201AMR") 
     94                board_name="dv-201amr" 
     95                ;; 
     96        "D-Link DSL-2640B rev B2") 
     97                board_name="dsl-2640b-b" 
     98                ;; 
     99        "D-Link DSL-2650U") 
     100                board_name="dsl-2650u" 
     101                ;; 
     102        "D-Link DSL-2740B/DSL-2741B rev C2/3") 
     103                board_name="dsl-274xb-c" 
     104                ;; 
     105        "D-Link DSL-2740B/DSL-2741B rev F1") 
     106                board_name="dsl-274xb-f" 
     107                ;; 
     108        "D-Link DVA-G3810BN/TL") 
     109                board_name="dva-g3810bn" 
     110                ;; 
     111        "Dynalink RTA1025W") 
     112                board_name="rta1025w" 
     113                ;; 
     114        "Dynalink RTA1320") 
     115                board_name="rta1320" 
     116                ;; 
     117        "Huawei EchoLife HG520v") 
     118                board_name="hg520v" 
     119                ;; 
     120        "Huawei EchoLife HG553") 
     121                board_name="hg553" 
     122                ;; 
     123        "Huawei EchoLife HG556a (version A)") 
     124                board_name="hg556a_a" 
     125                ;; 
     126        "Huawei EchoLife HG556a (version B)") 
     127                board_name="hg556a_b" 
     128                ;; 
     129        "Huawei EchoLife HG556a (version C)") 
     130                board_name="hg556a_c" 
     131                ;; 
     132        "Inventel Livebox 1") 
     133                board_name="livebox1" 
     134                ;; 
     135        "Netgear CVG834G") 
     136                board_name="cvg834g" 
     137                ;; 
     138        "Netgear DG834GT/PN") 
     139                board_name="dg834gt" 
     140                ;; 
     141        "Netgear DGND3700v1/DGND3800B") 
     142                board_name="dgnd3700v1_dgnd3800b" 
     143                ;; 
     144        "Pirelli A226G") 
     145                board_name="a226g" 
     146                ;; 
     147        "Pirelli A226M") 
     148                board_name="a226m" 
     149                ;; 
     150        "Pirelli A226M-FWB") 
     151                board_name="a226m-fwb" 
     152                ;; 
     153        "Pirelli Alice Gate AGPF-S0") 
     154                board_name="agpf-s0" 
     155                ;; 
     156        "Sagem F@ST2404") 
     157                board_name="fast2404" 
     158                ;; 
     159        "Sagem F@ST2504n") 
     160                board_name="fast2504n" 
     161                ;; 
     162        "Sagem F@ST2604") 
     163                board_name="fast2604" 
     164                ;; 
     165        "Sagem F@ST2704V2") 
     166                board_name="fast2704v2" 
     167                ;; 
     168        "SFR Neuf Box 4"*) 
     169                board_name="neufbox4" 
     170                ;; 
     171        "SFR neufbox 6 (Sercomm)") 
     172                board_name="neufbox6" 
     173                ;; 
     174        "T-Com Speedport W303 V") 
     175                board_name="spw303v" 
     176                ;; 
     177        "T-Com Speedport W500 V") 
     178                board_name="spw500v" 
     179                ;; 
     180        "TECOM GW6000") 
     181                board_name="g6000" 
     182                ;; 
     183        "TECOM GW6200") 
     184                board_name="g6200" 
     185                ;; 
     186        "Telsey CPVA642-type (CPA-ZNTE60T)") 
     187                board_name="cpva642" 
     188                ;; 
     189        "TP-Link TD-W8900GB") 
     190                board_name="td-w8900gb" 
     191                ;; 
     192        "USRobotics 9108") 
     193                board_name="usr9108" 
     194                ;; 
     195        "Zyxel P870HW-51a v2") 
     196                board_name="p870hw-51a_v2" 
     197                ;; 
     198        *) 
     199                board_name="unknown" 
     200                ;; 
     201        esac 
     202 
     203        echo "$board_name" 
     204} 
     205 
    14206brcm63xx_legacy_detect() { 
    15207        local board_name 
    16208 
    17209        case "$1" in 
    18         963281TAN) 
    19                 board_name="bcm963281tan" 
    20                 ;; 
    21         963281T_TEF) 
    22                 board_name="a4001n1" 
    23                 ;; 
    24         96328avng) 
    25                 board_name="bcm96328avng" 
    26                 ;; 
    27         96328dg2x2) 
    28                 board_name="a4401n" 
    29                 ;; 
    30         96328A-1241N) 
    31                 board_name="ar-5381u" 
    32                 ;; 
    33         96328A-1441N1) 
    34                 board_name="ar-5387un" 
    35                 ;; 
    36         96348GW) 
    37                 board_name="bcm96348gw" 
    38                 ;; 
    39         96348GW-11) 
    40                 board_name="bcm96348gw-11" 
    41                 ;; 
    42         96358-502V) 
    43                 board_name="spw303v" 
    44                 ;; 
    45         96368M-1341N) 
    46                 board_name="vr-3025un" 
    47                 ;; 
    48         96368M-1541N) 
    49                 board_name="vr-3025u" 
    50                 ;; 
    51         96369R-1231N) 
    52                 board_name="wap-5813n" 
    53                 ;; 
    54         AR1004G) 
    55                 board_name="ar1004g" 
    56                 ;; 
    57         AW4139 |\ 
    58         AW4339U) 
    59                 board_name="dsl-274xb-c" 
    60                 ;; 
    61         AW5200B) 
    62                 board_name="dsl-275xb-d" 
    63                 ;; 
    64         CPVA642) 
    65                 board_name="cpva642" 
    66                 ;; 
    67         CT536_CT5621) 
    68                 board_name="ct536_ct5621" 
    69                 ;; 
    70         CVG834G_E15R3921) 
    71                 board_name="cvg834g" 
    72                 ;; 
    73         D-4P-W) 
    74                 board_name="dsl-2640b-b" 
    75                 ;; 
    76         DGND3700v1_3800B) 
    77                 board_name="dgnd3700v1_dgnd3800b" 
    78                 ;; 
    79         "F@ST2504n") 
    80                 board_name="fast2504n" 
    81                 ;; 
    82         'F@ST2704V2') 
    83                 board_name="fast2704v2" 
    84                 ;; 
    85         GW6000) 
    86                 board_name="gw6000" 
    87                 ;; 
    88         GW6200) 
    89                 board_name="gw6200" 
    90                 ;; 
    91         HW553) 
    92                 board_name="hg553" 
    93                 ;; 
    94         HW556_A) 
    95                 board_name="hg556a_a" 
    96                 ;; 
    97         HW556_B) 
    98                 board_name="hg556a_b" 
    99                 ;; 
    100         HW556_C) 
    101                 board_name="hg556a_c" 
    102                 ;; 
    103         HW6358GW_B) 
    104                 board_name="hg620" 
    105                 ;; 
    106         NB6) 
    107                 board_name="neufbox6" 
    108                 ;; 
    109         P870HW-51a_v2) 
    110                 board_name="p870hw-51a_v2" 
    111                 ;; 
    112210        RTA770BW) 
    113211                board_name="rta770bw" 
     
    116214                board_name="rta770w" 
    117215                ;; 
    118         SPW500V) 
    119                 board_name="spw500v" 
    120                 ;; 
    121216        V2110) 
    122217                board_name="v2110" 
     
    135230        board_id=$(awk 'BEGIN{FS="[ \t:/]+"} /system type/ {print $4}' /proc/cpuinfo) 
    136231 
    137         if [ "$board_id" = "96358VW" ] && [ -n "$(swconfig dev eth1 help 2>/dev/null)" ]; then 
    138                 board_id="DVAG3810BN" 
    139         fi 
    140  
    141232        if [ -e /proc/device-tree ]; then 
    142233                model=$(cat /proc/device-tree/model) 
     234                board_name=$(brcm63xx_dt_detect "$model") 
    143235        else 
    144236                model="Unknown bcm63xx board" 
     237                board_name=$(brcm63xx_legacy_detect "$board_id") 
    145238        fi 
    146  
    147         board_name=$(brcm63xx_legacy_detect "$board_id") 
    148239 
    149240        case "$board_name" in 
Note: See TracChangeset for help on using the changeset viewer.