131 lines
9.4 KiB
HTML
131 lines
9.4 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>MIPI Interactive Flicker Test — 2026-04-16 11:27:08</title>
|
||
<style>
|
||
body { font-family: Arial, sans-serif; max-width: 1020px; margin: 40px auto;
|
||
padding: 0 20px; color: #222; }
|
||
h1 { color: #1a3a5c; border-bottom: 2px solid #1a3a5c; padding-bottom: 8px; }
|
||
h2 { color: #1a3a5c; margin-top: 32px; }
|
||
h3 { color: #333; }
|
||
.meta { color: #555; font-size: 0.92em; margin-top: -6px; margin-bottom: 20px; }
|
||
.stop-box { background: #e8f4fd; border-left: 4px solid #1a3a5c;
|
||
padding: 10px 16px; margin: 16px 0 24px; border-radius: 3px; }
|
||
.stat { display: inline-block; margin: 0 16px 20px 0; padding: 12px 22px;
|
||
border-radius: 6px; font-size: 1.05em; font-weight: bold; }
|
||
.s-confirmed { background: #fdecea; border: 2px solid #c62828; color: #c62828; }
|
||
.s-false { background: #e8f5e9; border: 2px solid #2e7d32; color: #2e7d32; }
|
||
.s-claude-no { background: #fff8e1; border: 2px solid #f9a825; color: #795548; }
|
||
table { border-collapse: collapse; width: 100%; margin-top: 8px; }
|
||
th { background: #1a3a5c; color: white; padding: 7px 10px; text-align: left; }
|
||
td { border: 1px solid #ddd; padding: 5px 10px; }
|
||
tr:nth-child(even) { background: #fafafa; }
|
||
pre { margin: 0; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<h1>MIPI Interactive Flicker Test Report</h1>
|
||
<p class="meta">
|
||
Generated: 2026-04-16 11:27:08 |
|
||
Model: claude-opus-4-6
|
||
</p>
|
||
|
||
<div class="stop-box">
|
||
<strong>Stop reason:</strong> Test interrupted by operator (Ctrl+C)
|
||
</div>
|
||
|
||
<div>
|
||
<div class="stat s-confirmed">0 confirmed flicker(s)</div>
|
||
<div class="stat s-false">4 false alarm(s)</div>
|
||
<div class="stat s-claude-no">0 Claude said no</div>
|
||
</div>
|
||
|
||
<h2>D-PHY Configuration</h2>
|
||
<p>
|
||
Pixel clock: <strong>72.0 MHz</strong> |
|
||
Bit rate: <strong>432.0 Mbit/s per lane</strong> |
|
||
Byte clock: <strong>54.000 MHz</strong>
|
||
(18.519 ns/byte) |
|
||
UI: <strong>2.315 ns</strong>
|
||
</p>
|
||
|
||
<table>
|
||
<tr>
|
||
<th>Field</th><th>Spec (ns)</th><th>Rnd Best</th><th>Rnd Up</th>
|
||
<th>Extra</th><th>Final</th><th>Actual (ns)</th><th>Status</th>
|
||
</tr>
|
||
<tr><td><code>lpx</code></td><td>≥ 50.0</td><td>3</td><td>3</td><td>+0</td><td><strong>3</strong></td><td>55.56</td><td>✓</td></tr>
|
||
<tr><td><code>hs_prepare</code></td><td>49.3 – 98.9</td><td>3</td><td>3</td><td>+0</td><td><strong>3</strong></td><td>55.56</td><td>✓</td></tr>
|
||
<tr><td><code>hs_zero</code></td><td>≥ 112.6</td><td>6</td><td>7</td><td>+0</td><td><strong>7</strong></td><td>129.63</td><td>✓</td></tr>
|
||
<tr><td><code>hs_trail</code></td><td>≥ 69.3</td><td>4</td><td>4</td><td>+0</td><td><strong>4</strong></td><td>74.07</td><td>✓</td></tr>
|
||
<tr><td><code>hs_exit</code></td><td>≥ 100.0</td><td>5</td><td>6</td><td>+0</td><td><strong>6</strong></td><td>111.11</td><td>✓</td></tr>
|
||
<tr><td><code>clk_prepare</code></td><td>38.0 – 95.0</td><td>2</td><td>3</td><td>+0</td><td><strong>3</strong></td><td>55.56</td><td>✓</td></tr>
|
||
<tr><td><code>clk_zero</code></td><td>≥ 244.4</td><td>13</td><td>14</td><td>+0</td><td><strong>14</strong></td><td>259.26</td><td>✓</td></tr>
|
||
<tr><td><code>clk_post</code></td><td>≥ 180.4</td><td>10</td><td>10</td><td>+0</td><td><strong>10</strong></td><td>185.19</td><td>✓</td></tr>
|
||
<tr><td><code>clk_trail</code></td><td>≥ 60.0</td><td>3</td><td>4</td><td>+0</td><td><strong>4</strong></td><td>74.07</td><td>✓</td></tr>
|
||
|
||
</table>
|
||
|
||
<p style="color:#2e7d32">✓ All D-PHY v1.1 Table 14 constraints satisfied.</p>
|
||
|
||
<h3>Samsung DSIM Registers</h3>
|
||
<table>
|
||
<tr><th>Register</th><th>Address</th><th>Value</th><th>Field breakdown</th></tr>
|
||
<tr>
|
||
<td>PHY_TIMING</td><td><code>0xb4</code></td>
|
||
<td><code>0x00000306</code></td>
|
||
<td>lpx=3 hs_exit=6</td>
|
||
</tr>
|
||
<tr>
|
||
<td>PHY_TIMING1</td><td><code>0xb8</code></td>
|
||
<td><code>0x030e0a04</code></td>
|
||
<td>clk_prepare=3 clk_zero=14
|
||
clk_post=10 clk_trail=4</td>
|
||
</tr>
|
||
<tr>
|
||
<td>PHY_TIMING2</td><td><code>0xbc</code></td>
|
||
<td><code>0x00030704</code></td>
|
||
<td>hs_prepare=3 hs_zero=7
|
||
hs_trail=4</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<h3>u-boot Commands</h3>
|
||
<pre style="background:#f5f5f5;padding:12px;border-radius:4px;
|
||
white-space:pre-wrap;font-size:0.88em"># D-PHY PHY timing registers (pixel clock 72.0 MHz, 432.0 Mbit/s, byte clock 54.000 MHz)
|
||
#
|
||
# PHY_TIMING (0xb4) = 0x00000306 lpx=3 hs_exit=6
|
||
# PHY_TIMING1 (0xb8) = 0x030e0a04 clk_prepare=3 clk_zero=14 clk_post=10 clk_trail=4
|
||
# PHY_TIMING2 (0xbc) = 0x00030704 hs_prepare=3 hs_zero=7 hs_trail=4
|
||
|
||
# Enable Round-Up rounding (dsi-tweak bit 2)
|
||
setenv flb_dtovar "${flb_dtovar} dsi-tweak=4"
|
||
|
||
saveenv
|
||
boot</pre>
|
||
|
||
<h2>Event Log</h2>
|
||
<table>
|
||
<tr>
|
||
<th>Capture</th><th>Timestamp</th><th>Channel</th>
|
||
<th>LP-low plateau</th><th>LP exit→HS</th><th>LP-11 voltage</th>
|
||
<th>Claude: flicker?</th><th>Outcome</th>
|
||
</tr>
|
||
<tr><td>0001</td><td>20260416_112353</td><td>dat</td><td>342.7 ns</td><td>2.9 ns</td><td>1.017 V</td><td>YES</td><td><span style="color:#2e7d32;font-weight:bold">✓ FALSE ALARM</span></td></tr><tr><td>0002</td><td>20260416_112431</td><td>dat</td><td>342.6 ns</td><td>3.7 ns</td><td>1.016 V</td><td>YES</td><td><span style="color:#2e7d32;font-weight:bold">✓ FALSE ALARM</span></td></tr><tr><td>0004</td><td>20260416_112531</td><td>dat</td><td>342.6 ns</td><td>3.8 ns</td><td>1.016 V</td><td>YES</td><td><span style="color:#2e7d32;font-weight:bold">✓ FALSE ALARM</span></td></tr><tr><td>0006</td><td>20260416_112630</td><td>dat</td><td>108.0 ns</td><td>3.3 ns</td><td>1.017 V</td><td>YES</td><td><span style="color:#2e7d32;font-weight:bold">✓ FALSE ALARM</span></td></tr>
|
||
</table>
|
||
|
||
<h2>Claude Assessments</h2><h3>Capture 0001 [20260416_112353] — FALSE ALARM</h3><pre style="background:#f5f5f5;padding:12px;border-radius:4px;white-space:pre-wrap;font-size:0.88em">YES
|
||
|
||
Although the LP-low plateau itself is 343 ns (well above the 50 ns minimum), the critical failure here is the **LP exit → HS transition of only 3 ns**, far below the 50 ns spec minimum, meaning the LP-01/LP-00 preamble states were essentially skipped or too brief for the SN65DSI83 to reliably sample the SoT sequence. Additionally, the **HS amplitude of only 20 mV** is drastically below the normal 105–122 mV range and falls under the 50 mV "absent" threshold, indicating the bridge almost certainly did not detect a valid HS data burst even if it had latched SoT. Together, the absent LP-to-HS preamble and effectively missing HS signaling mean the bridge would fail to decode this frame, producing a visible flicker event.</pre><h3>Capture 0002 [20260416_112431] — FALSE ALARM</h3><pre style="background:#f5f5f5;padding:12px;border-radius:4px;white-space:pre-wrap;font-size:0.88em">YES
|
||
|
||
The LP-low plateau at 343 ns is well above the 50 ns SN65DSI83 detection threshold, so the SoT preamble timing itself is not the problem here. However, the HS amplitude of only 24 mV (single-ended) is far below both the normal operating range (105–122 mV) and the 50 mV minimum detection threshold, meaning the bridge almost certainly cannot resolve valid differential HS data from this burst. Additionally, the LP exit-to-HS transition of only 4 ns (spec ≥ 50 ns) indicates the LP-01/LP-00 states were too brief for reliable SoT detection by the bridge. The combination of an effectively absent HS burst and a non-compliant LP exit duration makes this a genuine flicker event — the SN65DSI83 likely failed to lock onto the HS data, resulting in a dropped or corrupted video line/frame.</pre><h3>Capture 0004 [20260416_112531] — FALSE ALARM</h3><pre style="background:#f5f5f5;padding:12px;border-radius:4px;white-space:pre-wrap;font-size:0.88em">YES
|
||
|
||
Although the LP-low plateau itself is 343 ns (well above the 50 ns minimum), the critical failure here is the HS amplitude of only 17 mV, far below the 50 mV minimum detection threshold and the normal 105–122 mV range — effectively meaning the SN65DSI83 sees no valid HS data burst at all. Additionally, the LP-exit-to-HS transition time of only 4 ns (spec ≥ 50 ns) indicates the LP-01/LP-00 states were too brief for the bridge to properly recognize the SoT preamble. Together, these two failures — an undetectable HS burst and a sub-spec LP exit duration — mean the bridge almost certainly missed this transmission, constituting a genuine flicker event.</pre><h3>Capture 0006 [20260416_112630] — FALSE ALARM</h3><pre style="background:#f5f5f5;padding:12px;border-radius:4px;white-space:pre-wrap;font-size:0.88em">YES
|
||
|
||
Although the LP-low plateau itself measures 108 ns (above the 50 ns minimum), the critical failure here is the **LP exit → HS transition of only 3.3 ns**, far below the 50 ns spec minimum, meaning the LP-01/LP-00 states were essentially skipped or too brief for the SN65DSI83 to reliably detect the SoT preamble. Additionally, the **HS amplitude of 28 mV** is well below the 50 mV threshold and far below the normal 105–122 mV range, indicating the bridge almost certainly did not lock onto the HS data burst — effectively an absent HS transmission from the receiver's perspective. These two compounding failures — a near-instantaneous LP-to-HS transition and a sub-threshold HS amplitude — make it virtually certain the SN65DSI83 missed this SoT entirely, producing a visible flicker event.</pre>
|
||
|
||
</body>
|
||
</html>
|