- mso->dso_trigger_width / HZ_TO_NS(mso->cur_rate));
- ops[5] = mso_trans(15, (2 | mso->slowmode));
-
- /* FIXME SPI/I2C Triggers */
- ops[6] = mso_trans(0, 0);
- ops[7] = mso_trans(1, 0);
- ops[8] = mso_trans(2, 0);
- ops[9] = mso_trans(3, 0);
- ops[10] = mso_trans(4, 0xff);
- ops[11] = mso_trans(5, 0xff);
- ops[12] = mso_trans(6, 0xff);
- ops[13] = mso_trans(7, 0xff);
- ops[14] = mso_trans(8, mso->trigger_spimode);
- ops[15] = mso_trans(15, mso->slowmode);
+ ctx->dso_trigger_width / SR_HZ_TO_NS(ctx->cur_rate));
+
+ /* Select the SPI/I2C trigger config bank */
+ ops[5] = mso_trans(REG_CTL2, (ctx->ctlbase2 | BITS_CTL2_BANK(2)));
+ /* Configure the SPI/I2C protocol trigger */
+ ops[6] = mso_trans(REG_PT_WORD(0), ctx->protocol_trigger.word[0]);
+ ops[7] = mso_trans(REG_PT_WORD(1), ctx->protocol_trigger.word[1]);
+ ops[8] = mso_trans(REG_PT_WORD(2), ctx->protocol_trigger.word[2]);
+ ops[9] = mso_trans(REG_PT_WORD(3), ctx->protocol_trigger.word[3]);
+ ops[10] = mso_trans(REG_PT_MASK(0), ctx->protocol_trigger.mask[0]);
+ ops[11] = mso_trans(REG_PT_MASK(1), ctx->protocol_trigger.mask[1]);
+ ops[12] = mso_trans(REG_PT_MASK(2), ctx->protocol_trigger.mask[2]);
+ ops[13] = mso_trans(REG_PT_MASK(3), ctx->protocol_trigger.mask[3]);
+ ops[14] = mso_trans(REG_PT_SPIMODE, ctx->protocol_trigger.spimode);
+ /* Select the default config bank */
+ ops[15] = mso_trans(REG_CTL2, ctx->ctlbase2);