Sha256: f5d7a58ddf78885fdbb87c3e6abdb4a74c27a47427526364dda30c7121def5ae

Contents?: true

Size: 1.67 KB

Versions: 4

Compression:

Stored size: 1.67 KB

Contents

module OrigenARMDebug
  class JTAG_DP
    include Origen::Model

    attr_reader :dpacc_select, :apacc_select

    def initialize(options = {})
      options = {
        ir_size:       4,
        idcode_select: 0b1110,
        abort_select:  0b1000,
        dpacc_select:  0b1010,
        apacc_select:  0b1011
      }.merge(options)
      @dpacc_select = options[:dpacc_select]
      @apacc_select = options[:apacc_select]
      add_reg :ir, 0, size: options[:ir_size]

      # Virtual reg used to represent all of the various 35-bit scan chains
      reg :dr, 0, size: 35 do |reg|
        reg.bit 34..3, :data
        reg.bit 2..1, :a
        reg.bit 0, :rnw
      end

      reg :idcode, options[:idcode_select], access: :ro do |reg|
        reg.bit 31..28, :version
        reg.bit 27..12, :partno
        reg.bit 11..1, :designer
        reg.bit 0, :bit0, reset: 1
      end

      reg :ctrlstat, 0x4 do |reg|
        reg.bit 31, :csyspwrupack
        reg.bit 30, :csyspwrupreq
        reg.bit 29, :cdbgpwrupack
        reg.bit 28, :cdbgpwrupreq
        reg.bit 27, :cdbgrstack
        reg.bit 26, :cdbgrstreq
        reg.bit 23..12, :trncnt
        reg.bit 11..8, :masklane
        reg.bit 5, :stickyerr
        reg.bit 4, :stickycmp
        reg.bit 3..2, :trnmode
        reg.bit 1, :stickyorun
        reg.bit 0, :orundetect
      end

      reg :select, 0x8 do |reg|
        reg.bit 31..24, :apsel
        reg.bit 7..4, :apbanksel
      end

      add_reg :rdbuff, 0xC, access: :ro, reset: 0

      reg :abort, options[:abort_select], access: :wo do |reg|
        reg.bit 0, :dapabort
      end
    end

    def select
      reg(:select)
    end

    def abort
      reg(:abort)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
origen_arm_debug-1.1.3 lib/origen_arm_debug/jtag_dp.rb
origen_arm_debug-1.1.2 lib/origen_arm_debug/jtag_dp.rb
origen_arm_debug-1.1.1 lib/origen_arm_debug/jtag_dp.rb
origen_arm_debug-1.1.0 lib/origen_arm_debug/jtag_dp.rb