| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- # SPDX-License-Identifier: GPL-2.0-or-later
- # This is the config for an Allwinner V3/V3s (sun8iw8).
- #
- # Notes:
- # - Single core ARM Cortex-A7 with a maximum frequency of 1.2 GHz.
- # - Thumb-2 Technology
- # - Support NEON Advanced SIMD(Single Instruction Multiple Data)instruction
- # for acceleration of media and signal processing functions
- # - Support Large Physical Address Extensions(LPAE)
- # - VFPv4 Floating Point Unit
- # - 32KB L1 Instruction cache and 32KB L1 Data cache
- # - 128KB L2 cache
- # - has some integrated DDR2 RAM.
- #
- # Pins related for debug and bootstrap:
- # JTAG
- # JTAG_TMS PF0, SDC0_D1
- # JTAG_TDI PF1, SDC0_D0
- # JTAG_TDO PF3, SDC0_CMD
- # JTAG_TCK PF5, SDC0_D2
- # UART
- # None of UART ports seems to be enabled by ROM.
- # UART0_TX PF2, SDC0_CLK Per default disabled
- # UART0_RX PF4, SDC0_D3 Per default disabled
- # UART1_TX PE21 Per default disabled
- # UART1_RX PE22 Per default disabled
- # UART2_TX PB0 Per default disabled
- # UART2_RX PB1 Per default disabled
- #
- # JTAG is enabled by default after power on on listed JTAG_* pins. So far the
- # boot sequence is:
- # Time Action
- # 0000ms Power ON
- # 0200ms JTAG enabled
- # 0220ms JTAG pins switched to SD mode
- #
- # The time frame of 20ms can be not enough to init and halt the CPU. In this
- # case I would recommend to set: "adapter speed 15000"
- # To get more or less precise timings, the board should provide reset pin,
- # or some bench power supply with remote function. In my case I used
- # EEZ H24005 with this command to power on and halt the target:
- # "exec echo "*TRG" > /dev/ttyACM0; sleep 220; reset halt"
- # After this it is possible to enable JTAG mode again from boot loader or OS.
- # Following DAPs are available:
- # dap[0]->MEM-AP AHB
- # dap[1]->MEM-AP APB->CA7[0]
- #
- if { [info exists CHIPNAME] } {
- set _CHIPNAME $CHIPNAME
- } else {
- set _CHIPNAME v3s
- }
- if { [info exists DAP_TAPID] } {
- set _DAP_TAPID $DAP_TAPID
- } else {
- set _DAP_TAPID 0x5ba00477
- }
- # No NRST or SRST is present on the SoC. Boards may provide
- # some sort of Power cycle reset for complete board or SoC.
- # For this case we provide srst_pulls_trst so the board config
- # only needs to set srst_only.
- reset_config none srst_pulls_trst
- jtag newtap $_CHIPNAME dap -irlen 4 -ircapture 0x01 -irmask 0x0f \
- -expected-id $_DAP_TAPID
- # Add Cortex A7 core
- set _TARGETNAME $_CHIPNAME.cpu
- target create $_TARGETNAME cortex_a -chain-position $_CHIPNAME.dap
|