-
At88's use a pull-up resistor between sda and vcc.
Found this info:
When first powering up the device, five pulses are required on CLK-SCL for reading of internal registers. This can be
accomplished by sending one full command byte to the device. The device will not respond but will then be ready to respond
to the next correct command sequence.
1. Power-up VCC,
2. External pull-up resistor pulls I/O-SDA high with VCC,
3. After stable VCC, five pulses are applied to CLK-SCL,
4. CLK-SCL and I/O-SDA may be driven.
The AT88 is connected the following way:
pin4 to gnd
pin5 (scl) to GPIO40
pin6 (sda) is connected to GPIO45
pin8 vcc
From the source the only reference to those pins I could find was in "root.c":
// Set GPIO40, 45 to GPIO mode, used for GPIO I2C
#if defined(HW_SS830C)||defined(HW_SS830C2)
*((unsigned long *)0xb8000088) = (*((unsigned long *)0xb8000088) & ~0x00000018) |0x00000018;
#endif
Then I found this also in root.c:
/* Add ATMEL I2C GPIO Access */
i2c_gpio_attach(3);
#elif(SYS_MAIN_BOARD == BOARD_M3329E_DEMO01V01)
i2c_scb_attach(1);
i2c_gpio_attach(1);
#else
i2c_scb_attach(2);
#endif
#if(SYS_MAIN_BOARD == BOARD_M3329E_DEMO01V02)
i2c_mode_set(I2C_TYPE_SCB, 40000, 1);
i2c_mode_set(I2C_TYPE_SCB1, 40000, 1);
#elif (SYS_MAIN_BOARD == BOARD_DB_M3602_02V01 || SYS_MAIN_BOARD == BOARD_DB_M3602_04V01)
i2c_mode_set(I2C_TYPE_SCB, 100000, 1); // Nim for tuner 3501 0 j8
i2c_mode_set(I2C_TYPE_SCB1, 23600, 1); // SCART alfred.wu为了适配MODEL2加密芯片进行的速度调整
i2c_mode_set(I2C_FOR_EDDC, 100000, 1); // for HDMI
i2c_mode_set(I2C_TYPE_GPIO2, 100000, 1); // for eeprom on SS830C(SMB.020.01)
// i2c_mode_set(I2C_FOR_HDCP, 100000, 1); // for HDMI/HDCP
// i2c_mode_set(I2C_FOR_NEWMINE, 100000, 1); // for NEWONE
// i2c_mode_set(I2C_FOR_S3501S, 100000, 1); // Nim for tuner 3501 1 j2
#else
i2c_mode_set(I2C_TYPE_SCB, 40000, 1);
i2c_mode_set(I2C_FOR_S3501, 40000, 1);
#ifdef HDTV_SUPPORT
i2c_mode_set(I2C_FOR_EDDC, 100000, 1); // for HDMI
#endif
Could they be using the at88 just to protect the HDCP key???? Every reference to the atmel I have found in the source code has HDCP and HDMI in there specially in libHDMI.a
This is a small part of it:
cm_ReadUserZone.o/
cm_WriteUserZone.o/
cm_SystemWrite.o/
cm_VerifyCrypto.o/
cm_SupportFuncs.o/
cm_VerifyPassword.o/
/0 1216185138 1004 513 100644 1620
Below this at line 1866 we can find the AT88 plaintext references found in the unpacked maincode. INVALID_NUM_BYTES_2WRITE INVALID_NUM_BYTES_2READ Init Failed AT88SC0404C AT88SC0808C and so on.
Last edited by Apex; 05-09-2017 at 07:47 PM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules