Skip to content

Commit 64156c4

Browse files
authored
Delay LRCK to falling edge of BCK in I2S input (#2592)
In input mode, LRCK needs to change on falling edge of BCK Fixes #2584.
1 parent f5c4136 commit 64156c4

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

libraries/I2S/src/pio_i2s.pio

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,13 @@ right1:
162162
left1:
163163
in pins, 1 side 0b01
164164
jmp x--, left1 side 0b00
165-
in pins, 1 side 0b11 ; Last bit of left has WCLK change per I2S spec
166-
165+
in pins, 1 side 0b01 ; 2584 LRCK stays low until BCLK goes low
166+
; Last bit of left has WCLK change per I2S spec
167167
mov x, y side 0b10
168168
right1:
169169
in pins, 1 side 0b11
170170
jmp x--, right1 side 0b10
171-
in pins, 1 side 0b01 ; Last bit of right also has WCLK change
171+
in pins, 1 side 0b11 ; 2584 LRCK stays high until BCLK goes low
172172
; Loop back to beginning...
173173

174174

@@ -184,13 +184,13 @@ right1:
184184
left1:
185185
in pins, 1 side 0b10
186186
jmp x--, left1 side 0b00
187-
in pins, 1 side 0b11 ; Last bit of left has WCLK change per I2S spec
187+
in pins, 1 side 0b10 ;2584 LRCK stays low until BCLK goes low
188188

189189
mov x, y side 0b01
190190
right1:
191191
in pins, 1 side 0b11
192192
jmp x--, right1 side 0b01
193-
in pins, 1 side 0b10 ; Last bit of right also has WCLK change
193+
in pins, 1 side 0b11 ; 2584 LRCK stays high until BCLK goes low
194194
; Loop back to beginning...
195195

196196

libraries/I2S/src/pio_i2s.pio.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -286,11 +286,11 @@ static const uint16_t pio_i2s_in_program_instructions[] = {
286286
0xa022, // 0: mov x, y side 0
287287
0x4801, // 1: in pins, 1 side 1
288288
0x0041, // 2: jmp x--, 1 side 0
289-
0x5801, // 3: in pins, 1 side 3
289+
0x4801, // 3: in pins, 1 side 1
290290
0xb022, // 4: mov x, y side 2
291291
0x5801, // 5: in pins, 1 side 3
292292
0x1045, // 6: jmp x--, 5 side 2
293-
0x4801, // 7: in pins, 1 side 1
293+
0x5801, // 7: in pins, 1 side 3
294294
// .wrap
295295
};
296296

@@ -326,11 +326,11 @@ static const uint16_t pio_i2s_in_swap_program_instructions[] = {
326326
0xa022, // 0: mov x, y side 0
327327
0x5001, // 1: in pins, 1 side 2
328328
0x0041, // 2: jmp x--, 1 side 0
329-
0x5801, // 3: in pins, 1 side 3
329+
0x5001, // 3: in pins, 1 side 2
330330
0xa822, // 4: mov x, y side 1
331331
0x5801, // 5: in pins, 1 side 3
332332
0x0845, // 6: jmp x--, 5 side 1
333-
0x5001, // 7: in pins, 1 side 2
333+
0x5801, // 7: in pins, 1 side 3
334334
// .wrap
335335
};
336336

0 commit comments

Comments
 (0)