Skip to content

Contradictory SVD contents regarding CHAN_ABORT #1801

@jannic

Description

@jannic

With version 2.0.0, the access specification of CHAN_ABORT was changed to write-only in RP2040.svd:

            <register>
                <name>CHAN_ABORT</name>
                <addressOffset>0x00000444</addressOffset>
                <description>Abort an in-progress transfer sequence on one or more channels</description>
                <resetValue>0x00000000</resetValue>
                <fields>
                    <field>
                        <name>CHAN_ABORT</name>
                        <description>Each bit corresponds to a channel. Writing a 1 aborts whatever transfer sequence is in progress on that channel. The bit will remain high until any in-flight transfers have been flushed through the address and data FIFOs.

                            After writing, this register must be polled until it returns all-zero. Until this point, it is unsafe to restart the channel.</description>
                        <bitRange>[15:0]</bitRange>
                        <access>write-only</access>
                    </field>
                </fields>
            </register>

I guess this was done because of RP2040-E13 and one should poll BUSY instead of CHAN_ABORT.

However, the description still says "After writing, this register must be polled until it returns all-zero." This can't be done on a write-only register.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions