iicprobe
(iicprobe(0xac) & 0x10) == 0x00) {
if ((iicprobe(0xac) & 0x7e) == 0x0a &&
iicprobe(0xab) == 0x00 && iicprobe(0xa8) == 0x00)
else if ((iicprobe(0xac) & 0x7e) == 0x0c)
else if ((iicprobe(0xac) & 0x2e) == 0x2e)
if (name == NULL && (addr & 0xf8) == 0x28 && iicprobe(0x48) == addr &&
(iicprobe(0x00) & 0x90) == 0x10 && iicprobe(0x58) == 0x90) {
if (iicprobe(0x5b) == 0x12)
else if (iicprobe(0x5b) == 0x00)
if (name == NULL && iicprobe(0x48) == addr &&
(iicprobe(0x40) & 0x80) == 0x00 && iicprobe(0x58) == 0xac)
type = iicprobe(0x02);
val = iicprobe(0x00);
if (iicprobe(reg) == 0xff)
if (iicprobe(reg) == 0x00)
if (val == iicprobe(reg))
val = iicprobe(0x09);
if (iicprobe(reg) != val)
if (iicprobe(0xfe) == 0x4d)
val = iicprobe(0);
val2 = iicprobe(i);
if (iicprobe(i) != val)
printf(" %02x=%02x", i, iicprobe(i));
switch (iicprobe(0x3e)) {
(iicprobe(0x3f) == 0x73 || iicprobe(0x3f) == 0x72) &&
iicprobe(0x00) == 0x00)
iicprobe(0x3f) == 0x68)
(iicprobe(0x3f) == 0x60 || iicprobe(0x3f) == 0x62))
iicprobe(0x48) == addr &&
(iicprobe(0x3f) == 0x03 || iicprobe(0x3f) == 0x04) &&
(iicprobe(0x40) & 0x80) == 0x00)
if ((iicprobe(0x3f) & 0xfc) == 0x04)
if (iicprobe(0x48) == addr &&
(iicprobe(0x40) & 0x80) == 0x00 &&
iicprobe(0x3d) == 0x70)
iicprobe(0x3d) == 0x76)
else if (addr == 0x2e && iicprobe(0x3d) == 0x75)
else if (iicprobe(0x3d) == 0x27 &&
(iicprobe(0x3f) == 0x60 || iicprobe(0x3f) == 0x6a))
else if (iicprobe(0x3d) == 0x27 &&
(iicprobe(0x3f) == 0x62 || iicprobe(0x3f) == 0x6a))
iicprobe(0x3d) == 0x62 && iicprobe(0x3f) == 0x04)
iicprobe(0x3d) == 0x66 && iicprobe(0x3f) == 0x02)
iicprobe(0x3d) == 0x68 && (iicprobe(0x3f) & 0xf0) == 0x70)
else if (iicprobe(0x3d) == 0x33 && iicprobe(0x3f) == 0x02)
else if (iicprobe(0x3d) == 0x34 && iicprobe(0x3f) == 0x02)
iicprobe(0x3d) == 0x30 &&
(iicprobe(0x01) & 0x80) == 0x00 &&
(iicprobe(0x0d) & 0x70) == 0x00 &&
(iicprobe(0x0e) & 0x70) == 0x00)
iicprobe(0x3d) == 0x31 &&
(iicprobe(0x01) & 0x80) == 0x00 &&
(iicprobe(0x0d) & 0x70) == 0x00 &&
(iicprobe(0x0e) & 0x70) == 0x00 &&
(iicprobe(0x0f) & 0x70) == 0x00)
(iicprobe(0x3f) & 0xf0) == 0x20 &&
(iicprobe(0x40) & 0x80) == 0x00 &&
(iicprobe(0x41) & 0xc0) == 0x00 &&
(iicprobe(0x42) & 0xbc) == 0x00)
(iicprobe(0x3f) & 0xf0) == 0x10 &&
(iicprobe(0x40) & 0x80) == 0x00)
else if ((iicprobe(0xff) & 0xf0) == 0x30)
(iicprobe(0x3f) & 0xf0) == 0xd0 &&
(iicprobe(0x40) & 0x80) == 0x00)
(iicprobe(0x3f) & 0xf0) == 0xc0 &&
(iicprobe(0x40) & 0x80) == 0x00)
(iicprobe(0x3f) & 0xf0) == 0xc0 &&
(iicprobe(0x40) & 0x80) == 0x00)
iicprobe(0x3f) == 0x20 &&
(iicprobe(0x47) & 0x70) == 0x00 &&
(iicprobe(0x49) & 0xfe) == 0x80)
(iicprobe(0x3f) == 0x69))
(iicprobe(0x3f) & 0xf0) == 0x60)
(iicprobe(0x3f) & 0xf0) == 0x80)
(iicprobe(0x3f) & 0xf0) == 0xb0)
iicprobe(0x3f) == 0x69 &&
iicprobe(0x22) >= 0xaf && /* Vdd */
(iicprobe(0x09) & 0xbf) == 0x00 && iicprobe(0x0f) == 0x00 &&
(iicprobe(0x40) & 0xf0) == 0x00)
iicprobe(0x3f) == 0x6c &&
iicprobe(0x22) >= 0xae) /* Vdd */
if ((iicprobe(0x3f) & 0xf0) == 0x20 &&
(iicprobe(0x40) & 0x80) == 0x00 &&
(iicprobe(0x41) & 0xc0) == 0x00 &&
(iicprobe(0x42) & 0xbc) == 0x00)
if (iicprobe(0x3f) == 0x01 && iicprobe(0x48) == addr &&
(iicprobe(0x40) & 0x80) == 0x00)
switch (iicprobe(0x4e)) {
(iicprobe(0x4d) == 0x03 || iicprobe(0x4d) == 0x08 ||
iicprobe(0x4d) == 0x07))
switch (iicprobe(0xfe)) {
iicprobe(0xff) == 0x41 && (iicprobe(0x03) & 0x18) == 0 &&
iicprobe(0x04) <= 0x0f && (iicprobe(0xbf) & 0xf8) == 0)
iicprobe(0xff) == 0x11 && (iicprobe(0x03) & 0x2a) == 0 &&
iicprobe(0x04) <= 0x09 && (iicprobe(0xbf) & 0xf8) == 0)
iicprobe(0xff) == 0x31 && (iicprobe(0x03) & 0x2a) == 0 &&
iicprobe(0x04) <= 0x09 && (iicprobe(0xbf) & 0xf8) == 0)
iicprobe(0xff) == 0x34 && (iicprobe(0x03) & 0x2a) == 0 &&
iicprobe(0x04) <= 0x09 && (iicprobe(0xbf) & 0xf8) == 0)
iicprobe(0xff) == 0x21 && (iicprobe(0x03) & 0x2a) == 0 &&
iicprobe(0x04) <= 0x09 && (iicprobe(0xbf) & 0xf8) == 0)
(iicprobe(0x03) & 0x3f) == 0x00 && iicprobe(0x04) <= 0x08)
iicprobe(0xff) == 0x51 &&
(iicprobe(0x03) & 0x1f) == 0x04 &&
iicprobe(0x04) <= 0x0a) {
(iicprobe(0xff) & 0xf0) == 0x00 &&
(iicprobe(0x03) & 0x3f) == 0x00 &&
iicprobe(0x04) <= 0x07) {
(iicprobe(0xff) & 0xf0) == 0x30 &&
(iicprobe(0x03) & 0x3f) == 0x00 &&
iicprobe(0x04) <= 0x07) {
(iicprobe(0x03) & 0x3f) == 0x00 &&
iicprobe(0x04) <= 0x0a) {
if (addr == 0x4c && iicprobe(0xff) == 0x01 &&
(iicprobe(0x03) & 0x3f) == 0x00 && iicprobe(0x04) <= 0x08)
if (addr == 0x4d && iicprobe(0xff) == 0x03 &&
(iicprobe(0x03) & 0x3f) == 0x00 && iicprobe(0x04) <= 0x08)
iicprobe(0xff) == 0x08 && (iicprobe(0x02) & 0x03) == 0 &&
(iicprobe(0x03) & 0x07) == 0 && iicprobe(0x04) <= 0x08)
iicprobe(0xff) == 0x59 && (iicprobe(0x03) & 0x1f) == 0 &&
iicprobe(0x04) <= 0x07)
(iicprobe(0x02) & 0x2b) == 0 &&
(iicprobe(0x03) & 0x0f) == 0 && iicprobe(0x04) <= 0x09) {
(iicprobe(0x02) & 0x2b) == 0 &&
(iicprobe(0x03) & 0x0f) == 0)
if (addr == 0x4c && iicprobe(0xff) == 0x11 &&
(iicprobe(0x03) & 0x1b) == 0x00 &&
(iicprobe(0x04) & 0xf0) == 0x00 &&
(iicprobe(0x10) & 0x0f) == 0x00 &&
(iicprobe(0x13) & 0x0f) == 0x00 &&
(iicprobe(0x14) & 0x0f) == 0x00 &&
(iicprobe(0x15) & 0x0f) == 0x00 &&
(iicprobe(0x16) & 0x0f) == 0x00 &&
(iicprobe(0x17) & 0x0f) == 0x00)
iicprobe(0xff) == 0x00 &&
(iicprobe(0x03) & 0xf8) == 0x00 &&
iicprobe(0x04) <= 0x09) {
if (addr == iicprobe(0x48) &&
((iicprobe(0x4f) == 0x5c && (iicprobe(0x4e) & 0x80)) ||
(iicprobe(0x4f) == 0xa3 && !(iicprobe(0x4e) & 0x80)))) {
if ((iicprobe(0x4e) & 0x07) == 0) {
switch (iicprobe(0x58)) {
} else if (addr == (iicprobe(0xfc) & 0x7f) &&
iicprobe(0xfe) == 0x79 && iicprobe(0xfb) == 0x51 &&
((iicprobe(0xfd) == 0x5c && (iicprobe(0x00) & 0x80)) ||
(iicprobe(0xfd) == 0xa3 && !(iicprobe(0x00) & 0x80)))) {
} else if (addr == iicprobe(0x4a) && iicprobe(0x4e) == 0x50 &&
iicprobe(0x4c) == 0xa3 && iicprobe(0x4d) == 0x5c) {
} else if (addr == 0x2d && iicprobe(0x4e) == 0x60 &&
iicprobe(0x4c) == 0xa3 && iicprobe(0x4d) == 0x5c) {
} else if (addr == 0x2e && iicprobe(0x4e) == 0x70 &&
iicprobe(0x4c) == 0xa3 && iicprobe(0x4d) == 0x5c) {
((iicprobe(0x00) & 0x07) != 0x0 ||
((iicprobe(0x00) & 0x07) == 0x0 && addr * 2 == iicprobe(0x0b) &&
(iicprobe(0x0c) & 0x40) && !(iicprobe(0x0c) & 0x04))) &&
iicprobe(0x0e) == 0x7b &&
(iicprobe(0x0f) & 0xf0) == 0x10 &&
((iicprobe(0x0d) == 0x5c && (iicprobe(0x00) & 0x80)) ||
(iicprobe(0x0d) == 0xa3 && !(iicprobe(0x00) & 0x80)))) {
iicprobe(0x4f) == 0x12 && (iicprobe(0x4e) & 0x80)) {
if (iicprobe(0x58) == 0x31)
addr * 2 == iicprobe(0x04) &&
iicprobe(0x5d) == 0x19 && iicprobe(0x5e) == 0x34 &&
iicprobe(0x5a) == 0x03 && iicprobe(0x5b) == 0x06) {
((iicprobe(0x4f) == 0x06 && (iicprobe(0x4e) & 0x80)) ||
(iicprobe(0x4f) == 0x94 && !(iicprobe(0x4e) & 0x80)))) {
if ((iicprobe(0x58) & 0x7f) == 0x31 &&
(iicprobe(0x4e) & 0xf) == 0x00)
iicprobe(0x00) == 0x80 &&
(iicprobe(0x01) == 0x00 || iicprobe(0x01) == 0x80) &&
iicprobe(0x02) == 0x00 && (iicprobe(0x03) & 0x83) == 0x00 &&
(iicprobe(0x0f) & 0x07) == 0x00 &&
(iicprobe(0x11) & 0x80) == 0x00 &&
(iicprobe(0x12) & 0x80) == 0x00) {
iicprobe(0x16) == 0x41 && ((iicprobe(0x17) & 0xf0) == 0x40)) {
} else if ((addr & 0x7e) == 0x1c && iicprobe(0x0f) == 0x3b &&
(iicprobe(0x21) & 0x60) == 0x00 &&
iicprobe(0x0f) == iicprobe(0x8f) && /* registers address is 7 bits */
iicprobe(0x20) == iicprobe(0xa0) &&
iicprobe(0x21) == iicprobe(0xa1) &&
iicprobe(0x22) == iicprobe(0xa2) &&
iicprobe(0x07) == 0x00) { /* 0x00 to 0x0e are reserved */
u_int8_t iicprobe(u_int8_t);