Novena DVT to PVT ECO List

From Studio Kousagi Wiki
Revision as of 16:17, 13 October 2013 by Bunnie (talk | contribs) (ECO18: Add options for D11F)
Jump to: navigation, search

Novena DVT to PVT changes

This is a list of all the changes applied to the board from DVT1 to PVT1 release. If it's not on this list, it didn't happen.

Each change has the format of issue summary/resolution, and specific change

ECO1: Fix Gig-E termination

KSZ9021RN refclk output pull-up drive is weak. Terminate with a 300-ohm pull-up, instead of the proposed AC termination network.

R20S 49.9, 1% / REC1005N DNP Gigabit ethernet
C16S 2200pF, X7R, 50V, 10% / CAPC1005N DNP Gigabit ethernet
added 300, 1% / RES1005N Gigabit ethernet

ECO2: Remove FPGA clock termination

Use internal FPGA differential termination for clock. Electrically superior to discrete solution.

R57B 100, 1% / REC1005N DNP FPGA

ECO3: Clarify D14D orientation

Added fab note on bottom silkscreen layer (outside PCB but inside assy dwg) to indicate that D14D is a side-firing LED. Fab was orienting LED accidentally as vertically firing LED.

ECO4: Add clock margin to Gbit ethernet

RGMII spec assumes an extra 10 inch delay added to the clock wire versus data wire, required to be implemented on the PCB. This is software-compensated by tweaking PHY parameters in the Micrel PHY, but we add these delay line options just in case that option turns out to be unworkable.

TXC line gets 5" added by default in this configuration because it's impossible to measure if the TXC line is adequately delayed and out of paranoia we split the difference.

Added R24G 0 ohm / RES1005N RX clock path (0 inch option)
Added R22G 0 ohm (DNP) Rx clock path (5 inch option)
Added R23G 0 ohm (DNP) Rx clock path (5 inch option)
Added R30G 0 ohm (DNP) / RES1005N TX clock path (0 inch option)
Added R28G 0 ohm Tx clock path (5 inch option)
Added R29G 0 ohm Tx clock path (5 inch option)
Added R27G 0 ohm Tx clock path (5 inch option)
Added R25G 0 ohm (DNP) Tx clock path (10 inch option)
Added R26G 0 ohm (DNP) Tx clock path (10 inch option)

In addition to these components, a trace is run through the PCB adding these delays.

ECO5: Swap switch to more robust and cheaper version

Change out switch to pushbutton type available via HQB. No change in PCB, just BOM swap.

SW11B TS-1187A, Chi Fung (DNP) TL3342F160QG/TR (DNP) or equiv (see trigger on chibitronics)
SW10B TS-1187A, Chi Fung TL3342F160QG/TR or equiv
SW10S TS-1187A, Chi Fung TL3342F160QG/TR or equiv
SW11S TS-1187A, Chi Fung TL3342F160QG/TR or equiv

ECO6: 32.768kHz crystal EOL

Swap out Y11B for part that is not slated for EOL. This does involve a footprint swap.

Y11B ABS10-32.768KHZ-7-T 7pF CL ABS06-32.768KHZ-T 12.5pF CL

ECO7: 12.0000 MHz wrong PN

The part numbers for Y10U and Y11U are for the wrong package size.

Y10U 12.0000 MHz (SaRonix-eCera F9, 30ppm, 8pF) 12.0000 MHz (NDK NX5032GB-12MHZ-STD-CSK-5, 30ppm, 8pF)
Y11U 12.0000 MHz (SaRonix-eCera F9, 30ppm, 8pF) 12.0000 MHz (NDK NX5032GB-12MHZ-STD-CSK-5, 30ppm, 8pF)

ECO8: Clarify 47uF 1206 capacitor AVL

The wrong package type (1210) is being ordered for this 1206 part. Added a suggested AVL to prevent this problem from happening in the future.

C43M 47uF, 6.3V, 20% X5R 47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)
C44M 47uF, 6.3V, 20% X5R 47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)
C45M 47uF, 6.3V, 20% X5R 47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)
C18M 47uF, 6.3V, 20% X5R 47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)
C52C 47uF, 6.3V, 20% X5R 47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)


The SPINOR SEEPROM on the FPGA has been obsoleted. Replace with a current part number.

U14F MX25L512CMI-12G MX25L512EMI-10G

ECO10: Eliminate Audio Pop on Power-up

The speakers make an audible pop on power-up (despite the amps being anti-pop). Add resistors that enable independent muting of the speakers from the audio codec.

Added R28A 0 ohm KEY_ROW1 now used to control amp power-down
Added R30A 0 ohm (DNP) backup option in case the above doesn't work
Added R33A 100k, 1% Pull-down to ensure PA starts in mute state until CPU I/O is initialized

ECO11: Resolve 5V instability during power ramp with high voltage supply

Power supplies with voltage greater than 12V have an inconsistent power-on behavior. This is due to some sort of extra noise or ringing on the 5V regulated line during the first few ms of power-on. Resolved by adding an extra 22uF capacitance on the output node, verified via oscilloscope (no ringing leading to shutdown visible).

C22N 22uF, 10V, X5R, 20% (DNP) 22uF, 10V, X5R, 20%

ECO12: Resolve PCI-E double-series capacitor

PCI express diff pairs are AC coupled. The convention, it turns out, is for the Tx side to have the capacitor. I had incorrectly assumed that the convention was to put the caps on the motherboard side. Correct this by replacing caps with 0 ohm jumpers.

C21X 0.1uF, 6.3V, X5R 0201 0 ohm 0201
C22X 0.1uF, 6.3V, X5R 0201 0 ohm 0201

ECO13: Bolster power to expansion card

Expansion card power budgets are now exceeding 7.5W. Bolster the power budget by an additional 10W by adding a leaf-spring power connector.

Two options are provided for, one via a Wurth 331051472057 leaf-spring connector, and one via a Millmax 0990-3-50-20-75-14-11-0 pogo-pin style connector. Both are one-sided contacts, rated for about 2A max. These connectors go on the expansion board side -- this ECO simply provides for an open, gold landing area for these headers.

No ground connector is provided because there are ample grounds provided on the connector already.

ECO14: Fix DDC SCL buffer resistor value

R33L, the pull-up on the NMOS inverter designed to prevent trivial DoS attacks via HDMI port and introduced in the DVT rev, is too weak. Strengthen it so that the circuit operates. Originally, the value 47k was chosen to minimize leakage as this pull-up operates not off of the switched 3.3V, but the always-on 3.3V. This is because the DDC I2C bus is used to program the PMIC. Changing value to 4.7k increase leakage but the impact is minor, about 630uA, much less than 0.01% of a typical battery capacity.

Goes to show you, even the simplest ECO can be messed up.

R33L 47k, 1% 4.7k, 1%


The DDR3 part used on the FPGA was EOL'd. Change the P/N to an active part. This is a minor impact, just a die rev of the DDR3 memory.

U12F MT41J128M16HA-125 MT41J128M16JT-125QK

ECO16: Fix typo in part number

P16D has a typo in the part number. Fix it.

P16D HRS F19SC-8S-0.5SH HRS FH19SC-8S-0.5SH(05) note missing H and (05)

ECO17: Move PMIC from beta silicon PN to production PN

U200, the PMIC, is now in production. Change the part number from engineering sample to production part numbering.


ECO18: Add options for D11F

CDBMT220L-G was hard to source on occasion. Add an alternate to the P/N so CM has more leeway on the AVL.


ECO19: Change rating of ESD protection diodes

I thought, for some reason, it would be a good idea to use 2.5V ESD diodes on 3.3V lines. I think it's because I was looking at the stand-off voltage, instead of the breakdown voltage. Anyways, it seems that the current 2.5V choice isn't bad per se, but if the diode cornered in the wrong direction it would cause excess leakage. So, we fix it.

D10A ESD5Z2.5T1 ESD5Z3.3T1
D11A ESD5Z2.5T1 ESD5Z3.3T1
D12A ESD5Z2.5T1 ESD5Z3.3T1
D12D ESD5Z2.5T1 ESD5Z3.3T1
D13A ESD5Z2.5T1 ESD5Z3.3T1
D13D ESD5Z2.5T1 ESD5Z3.3T1
D13N ESD5Z2.5T1 ESD5Z3.3T1
D14A ESD5Z2.5T1 ESD5Z3.3T1
D14N ESD5Z2.5T1 ESD5Z3.3T1
D15N ESD5Z2.5T1 ESD5Z3.3T1
D16N ESD5Z2.5T1 ESD5Z3.3T1

ECO20: Refactor battery comms interface

After hacking on the battery a bit, it was decided that there are advantages to exposing the SMB interface on the battery board directly to the CPU. So, we refactor the interface on the connector.

This involves a series of changes, including moving the reflash/reset pins and swapping them with the I2C pins.

The new basic behavior is now both a UART and I2C is available over the signal lanes of the connector. One of the currently NC 3.3V lines is repuprosed as a reset line to the MCU on the battery board. The reflash line is eliminated, under the logic that to improve security and reliability, a button is introduced on the battery board. When the host CPU wants to reflash the MCU, it will prompt the user via a UI cue to hold down the reflash button, and then toggle the reset pin, thereby putting the MCU into reflash mode. This "safety" step is introduced to prevent malicious code from reflashing the MCU without the user's consent.

However, the exposure of the I2C bus now to the main board does still allow malicious code to modify some parameters, such as the charge current, termination voltage, etc. that could lead to malfunction of the PCB. However, due to secondary protections built into the PCB, it is very unlikely that any amount of tampering can cause the unit to actually catch fire; it will just cause the unit to fail to operate from or charge the battery.

The benefit of exposing the I2C interface is that a standard set of primitives for reading gas gauges is now revealed to the OS layer, so that the gas gauging becomes drop-in compatible with a broad suit of tools that already exist for this purpose.

Added D17N ESD5Z3.3T1 protect SMB_SDA
R21N 47k, 1% 330, 1% repurpose for SMB_SCL use
Added J11L testpoint (DNP) BATT_REFLASH_ALRT moved to test point

Note that there are only a few BOM changes because most of the components were re-used from the previous interface revision.

This change makes the EVT version of the battery board (now dubbed Senoko) incompatible with the PVT version of Novena. A revision to the battery board is also mandatory!