| | 1218 | name => "SMSC EMC1046", |
| | 1219 | driver => "to-be-written", |
| | 1220 | i2c_addrs => [0x4c, 0x4d], |
| | 1221 | i2c_detect => sub { emc1403_detect(@_, 6); }, |
| | 1222 | }, { |
| | 1223 | name => "SMSC EMC1047", |
| | 1224 | driver => "to-be-written", |
| | 1225 | i2c_addrs => [0x18], # 0x10 not probed |
| | 1226 | i2c_detect => sub { emc1403_detect(@_, 7); }, |
| | 1227 | }, { |
| | 1238 | name => "SMSC EMC1072", |
| | 1239 | driver => "to-be-written", |
| | 1240 | i2c_addrs => [0x1c, 0x4c, 0x5c], # 0x2c, 0x3c, 0x6c, 0x7c not probed |
| | 1241 | i2c_detect => sub { emc1403_detect(@_, 8); }, |
| | 1242 | }, { |
| | 1243 | name => "SMSC EMC1073", |
| | 1244 | driver => "to-be-written", |
| | 1245 | i2c_addrs => [0x1c, 0x4c, 0x5c], # 0x2c, 0x3c, 0x6c, 0x7c not probed |
| | 1246 | i2c_detect => sub { emc1403_detect(@_, 9); }, |
| | 1247 | }, { |
| | 1248 | name => "SMSC EMC1074", |
| | 1249 | driver => "to-be-written", |
| | 1250 | i2c_addrs => [0x1c, 0x4c, 0x5c], # 0x2c, 0x3c, 0x6c, 0x7c not probed |
| | 1251 | i2c_detect => sub { emc1403_detect(@_, 10); }, |
| | 1252 | }, { |
| | 1253 | name => "SMSC EMC1402", |
| | 1254 | driver => "to-be-written", |
| | 1255 | i2c_addrs => [0x18, 0x29, 0x4c, 0x4d], |
| | 1256 | i2c_detect => sub { emc1403_detect(@_, 11); }, |
| | 1257 | }, { |
| 5449 | | # Chip to detect: 0 = EMC1403, 1 = EMC1404, 2 = EMC2103, 3 = EMC1423 |
| | 5494 | # Chip to detect: 0 = EMC1403, 1 = EMC1404, 2 = EMC2103, 3 = EMC1423, |
| | 5495 | # 4 = EMC1002, 5 = EMC1033, 6 = EMC1046, 7 = EMC1047, 8 = EMC1072, |
| | 5496 | # 9 = EMC1073, 10 = EMC1074, 11 = EMC1402, 12 = EMC1424 |
| | 5521 | return unless $rev == 0x01; |
| | 5522 | } elsif ($chip == 4) { # EMC1002 |
| | 5523 | return unless ($dev_id == 0x02) || ($dev_id == 0x03); |
| | 5524 | return unless $rev == 0x01; |
| | 5525 | } elsif ($chip == 5) { # EMC1033 |
| | 5526 | return unless ($dev_id == 0x0a) || ($dev_id == 0x0b); |
| | 5527 | return unless $rev == 0x01; |
| | 5528 | } elsif ($chip == 6) { # EMC1046 |
| | 5529 | return unless $dev_id == 0x1a; |
| | 5530 | return unless $rev == 0x01; |
| | 5531 | } elsif ($chip == 7) { # EMC1047 |
| | 5532 | return unless $dev_id == 0x1c; |
| | 5533 | return unless $rev == 0x01; |
| | 5534 | } elsif ($chip == 8) { # EMC1072 |
| | 5535 | return unless $dev_id == 0x20; |
| | 5536 | return unless $rev == 0x03; |
| | 5537 | } elsif ($chip == 9) { # EMC1073 |
| | 5538 | return unless $dev_id == 0x21; |
| | 5539 | return unless $rev == 0x03; |
| | 5540 | } elsif ($chip == 10) { # EMC1074 |
| | 5541 | return unless $dev_id == 0x25; |
| | 5542 | return unless $rev == 0x03; |
| | 5543 | } elsif ($chip == 11) { # EMC1402 |
| | 5544 | return unless $dev_id == 0x20; |
| | 5545 | return unless $rev == 0x01; |
| | 5546 | } elsif ($chip == 12) { # EMC1424 |
| | 5547 | return unless $dev_id == 0x27; |