pcm_chunks[1] += 2;
                }
        } else {
-               /*
-                * Packets to v2 units transfer main-out-1/2 and phone-out-1/2.
-                */
-               pcm_chunks[0] += 4;
-               pcm_chunks[1] += 4;
+               if (flags & SND_MOTU_SPEC_RX_SEPARETED_MAIN) {
+                       pcm_chunks[0] += 2;
+                       pcm_chunks[1] += 2;
+               }
+
+               // Packets to v2 units include 2 chunks for phone 1/2, except
+               // for 176.4/192.0 kHz.
+               pcm_chunks[0] += 2;
+               pcm_chunks[1] += 2;
        }
 
        /*
 
                        pcm_chunks[1] += 2;
                }
        } else {
-               /*
-                * Packets to v2 units transfer main-out-1/2 and phone-out-1/2.
-                */
-               pcm_chunks[0] += 4;
-               pcm_chunks[1] += 4;
+               if (flags & SND_MOTU_SPEC_RX_SEPARETED_MAIN) {
+                       pcm_chunks[0] += 2;
+                       pcm_chunks[1] += 2;
+               }
+
+               // Packets to v3 units include 2 chunks for phone 1/2, except
+               // for 176.4/192.0 kHz.
+               pcm_chunks[0] += 2;
+               pcm_chunks[1] += 2;
        }
 
        /*
 
        .flags = SND_MOTU_SPEC_SUPPORT_CLOCK_X2 |
                 SND_MOTU_SPEC_TX_MICINST_CHUNK |
                 SND_MOTU_SPEC_TX_RETURN_CHUNK |
+                SND_MOTU_SPEC_RX_SEPARETED_MAIN |
                 SND_MOTU_SPEC_HAS_OPT_IFACE_A |
                 SND_MOTU_SPEC_RX_MIDI_2ND_Q |
                 SND_MOTU_SPEC_TX_MIDI_2ND_Q,
                 SND_MOTU_SPEC_TX_MICINST_CHUNK |
                 SND_MOTU_SPEC_TX_RETURN_CHUNK |
                 SND_MOTU_SPEC_TX_REVERB_CHUNK |
+                SND_MOTU_SPEC_RX_SEPARETED_MAIN |
                 SND_MOTU_SPEC_HAS_OPT_IFACE_A |
                 SND_MOTU_SPEC_HAS_OPT_IFACE_B |
                 SND_MOTU_SPEC_RX_MIDI_3RD_Q |
        .flags = SND_MOTU_SPEC_SUPPORT_CLOCK_X2 |
                 SND_MOTU_SPEC_TX_MICINST_CHUNK |
                 SND_MOTU_SPEC_TX_RETURN_CHUNK |
+                SND_MOTU_SPEC_RX_SEPARETED_MAIN |
                 SND_MOTU_SPEC_RX_MIDI_2ND_Q |
                 SND_MOTU_SPEC_TX_MIDI_3RD_Q,
        .analog_in_ports = 2,
 
        SND_MOTU_SPEC_RX_MIDI_3RD_Q     = 0x0200,
        SND_MOTU_SPEC_TX_MIDI_2ND_Q     = 0x0400,
        SND_MOTU_SPEC_TX_MIDI_3RD_Q     = 0x0800,
+       SND_MOTU_SPEC_RX_SEPARETED_MAIN = 0x1000,
 };
 
 #define SND_MOTU_CLOCK_RATE_COUNT      6