It looks like the programmer supports in-circuit programming for the MMPF0100. Fig. 4 of KTPFPGMEVMEUG shows that I2C and VIN connections on the MMPF0100 are required. Questions / issues:
1. If the CPU is not powered, will pullups on I2C cause problems on the CPU?
2. VDDIO must be connected to VIN, which is not the normal connection on the board.
Do most customers use the socket to program the MMPF0100, and then solder it on the board? This won't allow testing of the configuration, but it will avoid the issues above.
John
This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this discussion, or create another discussion.
Thanks,
Yixing
John
Should we close the issue since Weisong replied you already?
Thanks,
Yixing
3. Section 4.9.1 of IMX6SDLIEC: SRC_POR_B rise and fall times must be 5ns or less.
POR_B has an internal 100K pullup, and the Sabre design does not have any additional pullups. POR_B is driven by an open-drain output on the PMIC. Even with a board and pin capacitance as low as 10pF, the rise time will be 5RC = 5us = 5000ns.
4. The Sabre design uses a pushbutton with a 0.1uF capacitor on the PF0100's PWRON, as a means of resetting the CPU. Is this the best way to do it? It will in effect cycle power, as all power supplies on the PMIC will be turned off and then on again. Why not use POR_B to reset the CPU?
Hi, John
I believe the "5ns" is a typo in document, I don;t see this information in latest imx6QD document.
Hi, John
from my understanding, this optional circuit is just for test or debug.
for mass production, you can ask FSL programme the chip for you.
Hi, John
the I2C and VIN connections should be designed as optional circuit, they do affect the CPU.
when you program pfuse, you connect the I2C and VIN for pfuse. when you finish the program, you should remove these optional parts (resisters....)
so the the I2C and VIN are only for program and should be optional with resisters.
Weisong
Could you finish the following-up of this customer's issue, or need help from others?
Thanks,
Yixing
Weisong
Could you keep following the thread so that we can close the customer's issues?
Thanks,
Yixing
Thanks all for great answers!
I2C is required to program the OTP fuses of the PF0100. When this is done in-circuit, I2C is shared with the CPU. The CPU will not be powered, but I2C will be pulled up to 3.3V through 10K resistors, while NVCC_GPIO is at 0V. Can this damage the I2C pins on the CPU, or will the 10K resistors limit the current sufficiently to be prevent damage?
Populating and depopulating resistors to program the PF0100 is not a very good solution: it will slow down production, and is mistake-prone.
More questions:
MMPF0100 datasheet, Table 4, Note 5:
"Unused switching regulators should be connected as follow: Pins SWxLX and SWxFB should be unconnected and Pin SWxIN should be connected to VIN with a 0.1uF bypass capacitor."
I can't find a similar note for unused LDOs. Can I leave the outputs of unused LDOs unconnected, or do all LDOs require an output capacitor even if they're not used?
Hi, John
for LDO, I think you can refer to SW, add 0.1uF on the input and leave the output float.