Skip to content

Commit 7f5214e

Browse files
committed
Merge branch 'master' into aic8800_flash_driver
2 parents d237c24 + 1b0b07b commit 7f5214e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+1706
-549
lines changed

LICENSES/preferred/CC0-1.0

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
Valid-License-Identifier: CC0-1.0
2+
SPDX-URL: https://spdx.org/licenses/CC0-1.0.html
3+
Usage-Guide:
4+
To use the Creative Commons Zero v1.0 Universal License put the following
5+
SPDX tag/value pair into a comment according to the placement guidelines in
6+
the licensing rules documentation:
7+
SPDX-License-Identifier: CC0-1.0
8+
License-Text:
9+
10+
Creative Commons Legal Code
11+
12+
CC0 1.0 Universal
13+
14+
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
15+
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
16+
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
17+
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
18+
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
19+
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
20+
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
21+
HEREUNDER.
22+
23+
Statement of Purpose
24+
25+
The laws of most jurisdictions throughout the world automatically confer
26+
exclusive Copyright and Related Rights (defined below) upon the creator
27+
and subsequent owner(s) (each and all, an "owner") of an original work of
28+
authorship and/or a database (each, a "Work").
29+
30+
Certain owners wish to permanently relinquish those rights to a Work for
31+
the purpose of contributing to a commons of creative, cultural and
32+
scientific works ("Commons") that the public can reliably and without fear
33+
of later claims of infringement build upon, modify, incorporate in other
34+
works, reuse and redistribute as freely as possible in any form whatsoever
35+
and for any purposes, including without limitation commercial purposes.
36+
These owners may contribute to the Commons to promote the ideal of a free
37+
culture and the further production of creative, cultural and scientific
38+
works, or to gain reputation or greater distribution for their Work in
39+
part through the use and efforts of others.
40+
41+
For these and/or other purposes and motivations, and without any
42+
expectation of additional consideration or compensation, the person
43+
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
44+
is an owner of Copyright and Related Rights in the Work, voluntarily
45+
elects to apply CC0 to the Work and publicly distribute the Work under its
46+
terms, with knowledge of his or her Copyright and Related Rights in the
47+
Work and the meaning and intended legal effect of CC0 on those rights.
48+
49+
1. Copyright and Related Rights. A Work made available under CC0 may be
50+
protected by copyright and related or neighboring rights ("Copyright and
51+
Related Rights"). Copyright and Related Rights include, but are not
52+
limited to, the following:
53+
54+
i. the right to reproduce, adapt, distribute, perform, display,
55+
communicate, and translate a Work;
56+
ii. moral rights retained by the original author(s) and/or performer(s);
57+
iii. publicity and privacy rights pertaining to a person's image or
58+
likeness depicted in a Work;
59+
iv. rights protecting against unfair competition in regards to a Work,
60+
subject to the limitations in paragraph 4(a), below;
61+
v. rights protecting the extraction, dissemination, use and reuse of data
62+
in a Work;
63+
vi. database rights (such as those arising under Directive 96/9/EC of the
64+
European Parliament and of the Council of 11 March 1996 on the legal
65+
protection of databases, and under any national implementation
66+
thereof, including any amended or successor version of such
67+
directive); and
68+
vii. other similar, equivalent or corresponding rights throughout the
69+
world based on applicable law or treaty, and any national
70+
implementations thereof.
71+
72+
2. Waiver. To the greatest extent permitted by, but not in contravention
73+
of, applicable law, Affirmer hereby overtly, fully, permanently,
74+
irrevocably and unconditionally waives, abandons, and surrenders all of
75+
Affirmer's Copyright and Related Rights and associated claims and causes
76+
of action, whether now known or unknown (including existing as well as
77+
future claims and causes of action), in the Work (i) in all territories
78+
worldwide, (ii) for the maximum duration provided by applicable law or
79+
treaty (including future time extensions), (iii) in any current or future
80+
medium and for any number of copies, and (iv) for any purpose whatsoever,
81+
including without limitation commercial, advertising or promotional
82+
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
83+
member of the public at large and to the detriment of Affirmer's heirs and
84+
successors, fully intending that such Waiver shall not be subject to
85+
revocation, rescission, cancellation, termination, or any other legal or
86+
equitable action to disrupt the quiet enjoyment of the Work by the public
87+
as contemplated by Affirmer's express Statement of Purpose.
88+
89+
3. Public License Fallback. Should any part of the Waiver for any reason
90+
be judged legally invalid or ineffective under applicable law, then the
91+
Waiver shall be preserved to the maximum extent permitted taking into
92+
account Affirmer's express Statement of Purpose. In addition, to the
93+
extent the Waiver is so judged Affirmer hereby grants to each affected
94+
person a royalty-free, non transferable, non sublicensable, non exclusive,
95+
irrevocable and unconditional license to exercise Affirmer's Copyright and
96+
Related Rights in the Work (i) in all territories worldwide, (ii) for the
97+
maximum duration provided by applicable law or treaty (including future
98+
time extensions), (iii) in any current or future medium and for any number
99+
of copies, and (iv) for any purpose whatsoever, including without
100+
limitation commercial, advertising or promotional purposes (the
101+
"License"). The License shall be deemed effective as of the date CC0 was
102+
applied by Affirmer to the Work. Should any part of the License for any
103+
reason be judged legally invalid or ineffective under applicable law, such
104+
partial invalidity or ineffectiveness shall not invalidate the remainder
105+
of the License, and in such case Affirmer hereby affirms that he or she
106+
will not (i) exercise any of his or her remaining Copyright and Related
107+
Rights in the Work or (ii) assert any associated claims and causes of
108+
action with respect to the Work, in either case contrary to Affirmer's
109+
express Statement of Purpose.
110+
111+
4. Limitations and Disclaimers.
112+
113+
a. No trademark or patent rights held by Affirmer are waived, abandoned,
114+
surrendered, licensed or otherwise affected by this document.
115+
b. Affirmer offers the Work as-is and makes no representations or
116+
warranties of any kind concerning the Work, express, implied,
117+
statutory or otherwise, including without limitation warranties of
118+
title, merchantability, fitness for a particular purpose, non
119+
infringement, or the absence of latent or other defects, accuracy, or
120+
the present or absence of errors, whether or not discoverable, all to
121+
the greatest extent permissible under applicable law.
122+
c. Affirmer disclaims responsibility for clearing rights of other persons
123+
that may apply to the Work or any use thereof, including without
124+
limitation any person's Copyright and Related Rights in the Work.
125+
Further, Affirmer disclaims responsibility for obtaining any necessary
126+
consents, permissions or other rights required for any use of the
127+
Work.
128+
d. Affirmer understands and acknowledges that Creative Commons is not a
129+
party to this document and has no duty or obligation with respect to
130+
this CC0 or use of the Work.

Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ EXTRA_DIST += \
6464
LICENSES/preferred/BSD-2-Clause-Views \
6565
LICENSES/preferred/BSD-3-Clause \
6666
LICENSES/preferred/BSD-Source-Code \
67+
LICENSES/preferred/CC0-1.0 \
6768
LICENSES/preferred/GFDL-1.2 \
6869
LICENSES/preferred/gfdl-1.2.texi.readme \
6970
LICENSES/preferred/GPL-2.0 \

contrib/firmware/angie/c/include/i2c.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ void repeated_start(void);
1919
void stop_cd(void);
2020
void clock_cd(void);
2121
void send_ack(void);
22+
void send_nack(void);
2223
bool get_ack(void);
2324

2425
uint8_t get_address(uint8_t adr, uint8_t rdwr);

contrib/firmware/angie/c/src/i2c.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,16 @@ void send_ack(void)
6060
delay_us(1);
6161
}
6262

63+
void send_nack(void)
64+
{
65+
PIN_SDA = 1;
66+
delay_us(1);
67+
PIN_SCL = 1;
68+
delay_us(1);
69+
PIN_SCL = 0;
70+
delay_us(1);
71+
}
72+
6373
bool get_ack(void)
6474
{
6575
PIN_SDA_DIR = 1;

contrib/firmware/angie/c/src/usb.c

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -757,14 +757,13 @@ void i2c_recieve(void)
757757
PIN_SDA_DIR = 0;
758758
if (EP6FIFOBUF[0] == 1) {
759759
uint8_t rdwr = EP6FIFOBUF[0]; //read
760-
uint8_t reg_adr_check = EP6FIFOBUF[1];
761-
uint8_t count = EP6FIFOBUF[2]; //request data count
760+
uint8_t data_count = EP6FIFOBUF[1]; //data sent count
761+
uint8_t count = EP6FIFOBUF[2]; //requested data count
762762
uint8_t adr = EP6FIFOBUF[3]; //address
763-
uint8_t reg_adr = EP6FIFOBUF[4];
764763
uint8_t address = get_address(adr, rdwr); //address byte (read command)
765764
uint8_t address_2 = get_address(adr, 0); //address byte 2 (write command)
766765

767-
printf("%d\n", address);
766+
printf("%d\n", address - 1);
768767

769768
/* start: */
770769
start_cd();
@@ -773,41 +772,38 @@ void i2c_recieve(void)
773772
/* ack: */
774773
uint8_t ack = get_ack();
775774

776-
delay_us(10);
777-
778775
/* send data */
779-
if (reg_adr_check) { //if there is a byte reg
780-
send_byte(reg_adr);
781-
/* ack(): */
782-
ack = get_ack();
776+
if (data_count) { //if there is a byte reg
777+
for (uint8_t i = 0; i < data_count; i++) {
778+
send_byte(EP6FIFOBUF[i + 4]);
779+
/* ack(): */
780+
ack = get_ack();
781+
}
783782
}
784783

785-
delay_us(10);
786-
787784
/* repeated start: */
788785
repeated_start();
789786
/* address: */
790787
send_byte(address);
791788
/* get ack: */
792789
ack = get_ack();
793790

794-
delay_us(10);
795-
796791
/* receive data */
797-
for (uint8_t i = 0; i < count; i++) {
792+
for (uint8_t i = 0; i < count - 1; i++) {
798793
EP8FIFOBUF[i] = receive_byte();
799794

800-
/* send ack: */
795+
/* send ack: */
801796
send_ack();
802797
}
803798

804-
delay_ms(1);
799+
EP8FIFOBUF[count - 1] = receive_byte();
800+
801+
/* send Nack: */
802+
send_nack();
805803

806804
/* stop */
807805
stop_cd();
808806

809-
delay_us(10);
810-
811807
EP8BCH = 0; //EP8
812808
syncdelay(3);
813809
EP8BCL = count; //EP8

contrib/rtos-helpers/FreeRTOS-openocd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-License-Identifier: GPL-2.0-or-later
1+
// SPDX-License-Identifier: CC0-1.0
22

33
/*
44
* Since at least FreeRTOS V7.5.3 uxTopUsedPriority is no longer

doc/openocd.texi

Lines changed: 42 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2543,27 +2543,27 @@ and a specific set of GPIOs is used.
25432543
ARM CMSIS-DAP compliant based adapter v1 (USB HID based)
25442544
or v2 (USB bulk).
25452545

2546-
@deffn {Config Command} {cmsis_dap_vid_pid} [vid pid]+
2546+
@deffn {Config Command} {cmsis-dap vid_pid} [vid pid]+
25472547
The vendor ID and product ID of the CMSIS-DAP device. If not specified
25482548
the driver will attempt to auto detect the CMSIS-DAP device.
25492549
Currently, up to eight [@var{vid}, @var{pid}] pairs may be given, e.g.
25502550
@example
2551-
cmsis_dap_vid_pid 0xc251 0xf001 0x0d28 0x0204
2551+
cmsis-dap vid_pid 0xc251 0xf001 0x0d28 0x0204
25522552
@end example
25532553
@end deffn
25542554

2555-
@deffn {Config Command} {cmsis_dap_backend} [@option{auto}|@option{usb_bulk}|@option{hid}]
2555+
@deffn {Config Command} {cmsis-dap backend} [@option{auto}|@option{usb_bulk}|@option{hid}]
25562556
Specifies how to communicate with the adapter:
25572557

25582558
@itemize @minus
25592559
@item @option{hid} Use HID generic reports - CMSIS-DAP v1
25602560
@item @option{usb_bulk} Use USB bulk - CMSIS-DAP v2
25612561
@item @option{auto} First try USB bulk CMSIS-DAP v2, if not found try HID CMSIS-DAP v1.
2562-
This is the default if @command{cmsis_dap_backend} is not specified.
2562+
This is the default if @command{cmsis-dap backend} is not specified.
25632563
@end itemize
25642564
@end deffn
25652565

2566-
@deffn {Config Command} {cmsis_dap_usb interface} [number]
2566+
@deffn {Config Command} {cmsis-dap usb interface} [number]
25672567
Specifies the @var{number} of the USB interface to use in v2 mode (USB bulk).
25682568
In most cases need not to be specified and interfaces are searched by
25692569
interface string or for user class interface.
@@ -2991,7 +2991,7 @@ This driver is for Cypress Semiconductor's KitProg adapters. The KitProg is an
29912991
SWD-only adapter that is designed to be used with Cypress's PSoC and PRoC device
29922992
families, but it is possible to use it with some other devices. If you are using
29932993
this adapter with a PSoC or a PRoC, you may need to add
2994-
@command{kitprog_init_acquire_psoc} or @command{kitprog acquire_psoc} to your
2994+
@command{kitprog init_acquire_psoc} or @command{kitprog acquire_psoc} to your
29952995
configuration script.
29962996

29972997
Note that this driver is for the proprietary KitProg protocol, not the CMSIS-DAP
@@ -3012,14 +3012,14 @@ versions only implement "SWD line reset". Second, due to a firmware quirk, an
30123012
SWD sequence must be sent after every target reset in order to re-establish
30133013
communications with the target.
30143014
@item Due in part to the limitation above, KitProg devices with firmware below
3015-
version 2.14 will need to use @command{kitprog_init_acquire_psoc} in order to
3015+
version 2.14 will need to use @command{kitprog init_acquire_psoc} in order to
30163016
communicate with PSoC 5LP devices. This is because, assuming debug is not
30173017
disabled on the PSoC, the PSoC 5LP needs its JTAG interface switched to SWD
30183018
mode before communication can begin, but prior to firmware 2.14, "JTAG to SWD"
30193019
could only be sent with an acquisition sequence.
30203020
@end itemize
30213021

3022-
@deffn {Config Command} {kitprog_init_acquire_psoc}
3022+
@deffn {Config Command} {kitprog init_acquire_psoc}
30233023
Indicate that a PSoC acquisition sequence needs to be run during adapter init.
30243024
Please be aware that the acquisition sequence hard-resets the target.
30253025
@end deffn
@@ -5296,6 +5296,18 @@ Displays the current target state:
52965296
(Also, @pxref{eventpolling,,Event Polling}.)
52975297
@end deffn
52985298

5299+
@deffn {Command} {$target_name debug_reason}
5300+
Displays the current debug reason:
5301+
@code{debug-request},
5302+
@code{breakpoint},
5303+
@code{watchpoint},
5304+
@code{watchpoint-and-breakpoint},
5305+
@code{single-step},
5306+
@code{target-not-halted},
5307+
@code{program-exit},
5308+
@code{exception-catch} or @code{undefined}.
5309+
@end deffn
5310+
52995311
@deffn {Command} {$target_name eventlist}
53005312
Displays a table listing all event handlers
53015313
currently associated with this target.
@@ -9436,8 +9448,9 @@ Return a list of all channels and their properties as Tcl list.
94369448
The list can be manipulated easily from within scripts.
94379449
@end deffn
94389450

9439-
@deffn {Command} {rtt server start} port channel
9440-
Start a TCP server on @var{port} for the channel @var{channel}.
9451+
@deffn {Command} {rtt server start} port channel [message]
9452+
Start a TCP server on @var{port} for the channel @var{channel}. When
9453+
@var{message} is not empty, it will be sent to a client when it connects.
94419454
@end deffn
94429455

94439456
@deffn {Command} {rtt server stop} port
@@ -11352,16 +11365,18 @@ NOTE: @file{xtensa-core-XXX.cfg} must match the target Xtensa hardware
1135211365
connected to OpenOCD.
1135311366

1135411367
Some example Xtensa configurations are bundled with OpenOCD for reference:
11355-
@itemize @bullet
11368+
@enumerate
1135611369
@item Cadence Palladium VDebug emulation target. The user can combine their
1135711370
@file{xtensa-core-XXX.cfg} with the provided
1135811371
@file{board/xtensa-palladium-vdebug.cfg} to debug an emulated Xtensa RTL design.
11359-
@item NXP MIMXRT685-EVK evaluation kit. The relevant configuration files are
11360-
@file{board/xtensa-rt685-jlink.cfg} and @file{board/xtensa-core-nxp_rt600.cfg}.
11361-
Additional information is provided by
11362-
@uref{https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt600-evaluation-kit:MIMXRT685-EVK,
11363-
NXP}.
11372+
@item NXP MIMXRT685-EVK evaluation kit. The relevant configuration files are:
11373+
@itemize @bullet
11374+
@item @file{board/xtensa-rt685-ext.cfg}
11375+
@item @file{target/xtensa-core-nxp_rt600.cfg}
1136411376
@end itemize
11377+
Additional information is available by searching for "i.MX RT600 Evaluation Kit"
11378+
on @url{https://www.nxp.com}.
11379+
@end enumerate
1136511380

1136611381
@subsection Xtensa Configuration Commands
1136711382

@@ -11386,6 +11401,11 @@ others may be common to both but have different valid ranges.
1138611401
Configure Xtensa target memory. Memory type determines access rights,
1138711402
where RAMs are read/write while ROMs are read-only. @var{baseaddr} and
1138811403
@var{bytes} are both integers, typically hexadecimal and decimal, respectively.
11404+
11405+
NOTE: Some Xtensa memory types, such as system RAM/ROM or MMIO/device regions,
11406+
can be added or modified after the Xtensa core has been generated. Additional
11407+
@code{xtensa xtmem} definitions should be manually added to xtensa-core-XXX.cfg
11408+
to keep OpenOCD's target address map consistent with the Xtensa configuration.
1138911409
@end deffn
1139011410

1139111411
@deffn {Config Command} {xtensa xtmem} (@option{icache}|@option{dcache}) linebytes cachebytes ways [writeback]
@@ -11468,6 +11488,12 @@ Execute arbitrary instruction(s) provided as an ascii string. The string repres
1146811488
number of instruction bytes, thus its length must be even.
1146911489
@end deffn
1147011490

11491+
@deffn {Command} {xtensa dm} (address) [value]
11492+
Read or write Xtensa Debug Module (DM) registers. @var{address} is required for both reads
11493+
and writes and is a 4-byte-aligned value typically between 0 and 0x3ffc. @var{value} is specified
11494+
only for write accesses.
11495+
@end deffn
11496+
1147111497
@subsection Xtensa Performance Monitor Configuration
1147211498

1147311499
@deffn {Command} {xtensa perfmon_enable} <counter_id> <select> [mask] [kernelcnt] [tracelevel]

0 commit comments

Comments
 (0)