<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rt-thread.git/bsp/n32, branch copilot/fix-riscv-none-job-failure</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/rt-thread.git/atom/bsp/n32?h=copilot%2Ffix-riscv-none-job-failure</id>
<link rel='self' href='http://cgit.235523.xyz/rt-thread.git/atom/bsp/n32?h=copilot%2Ffix-riscv-none-job-failure'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/'/>
<updated>2026-09-16T01:06:34Z</updated>
<entry>
<title>[bsp][n32] n32hxxx: fix H7xx hard I2C abort and add the missing SDK header</title>
<updated>2026-09-16T01:06:34Z</updated>
<author>
<name>OnlyoutzZ</name>
<email>17393117531@163.com</email>
</author>
<published>2026-09-14T09:37:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=51be4c4589a5b0e57f57a42e2759c962b86f125c'/>
<id>urn:sha1:51be4c4589a5b0e57f57a42e2759c962b86f125c</id>
<content type='text'>
The N32H7xx branch of drv_hard_i2c.c had never been compiled. The file takes
its peripheral declarations from board.h, and only n32h497zgl7-evb includes
n32h49x_i2c.h, so on H7xx every I2C symbol was undefined and the option could
not build at all. Include the peripheral header from the driver itself, the way
drv_sdram.c already does.

I2C_ABORT_ON_TIMEOUT also degraded to a bare `state = I2C_READY` on H7xx, at the
four rt_completion_wait() timeouts in n32_i2c_master_xfer(). The H49x
implementation is written against the older IP - I2C_ClrIntPendingBit,
I2C_STS2_BUSY, I2C_CTRL1_STOPGEN - none of which exist in the H7xx SDK, so give
H7xx its own teardown. It disables the interrupt and DMA request sources,
disables the DMA channel that would otherwise stay armed against the caller's
buffer, releases the bus and clears the status residue.

Only flags with a matching INTCLR bit may be passed to I2C_ClrFlag(), which is a
plain "INTCLR |= flag" write; TFC (0x40) and BUSY (0x8000) have none.

I2C_Configuration() was called from n32_i2c_init() but defined nowhere in the
tree. It is a board hook for pin mux, which is not the driver's job - the H49x
path configures no pins either - so drop the call.

Verified by building n32h760zil7-stb with BSP_USING_HARD_I2C1 and its TX/RX DMA
enabled, which now compiles and links with no warnings, and n32h497zgl7-evb with
I2C1/I2C2 DMA enabled, whose image size is unchanged. Neither board routes I2C
pins yet, so this is build-verified only, not hardware-verified.
</content>
</entry>
<entry>
<title>[bsp][n32] n32h497zgl7-evb: add SDRAM port and correct Kconfig defaults</title>
<updated>2026-09-16T01:06:34Z</updated>
<author>
<name>OnlyoutzZ</name>
<email>17393117531@163.com</email>
</author>
<published>2026-09-14T09:22:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=bd501fa9e32fba11076df475c776eb4a317d92e9'/>
<id>urn:sha1:bd501fa9e32fba11076df475c776eb4a317d92e9</id>
<content type='text'>
drv_sdram.c includes &lt;sdram_port.h&gt; unconditionally under BSP_USING_SDRAM,
and n32h497zgl7-evb had no such header, so the option could not build at
all. Add one for the M12L64164A fitted on this board: 4 banks x 1M x 16
bits = 8 MB, 12 row address bits, 8 column address bits, SDRAM1 mapped at
0x98000000. The timing values are the ones validated on this board in
hardware.

Three of the Kconfig defaults described a different part:

  BSP_SDRAM_DATA_WIDTH_SEL   default 32 -&gt; 16
  BSP_SDRAM_COLUMN_BITS_SEL  default 9  -&gt; 8
  BSP_SDRAM_SIZE             default 32 -&gt; 8

BANK1, ROW_BIT_12 and CAS_LATENCY_3 already matched and are unchanged.

Verified by building n32h497zgl7-evb with BSP_PERIPH_PIN_CFG_READY and
BSP_USING_SDRAM enabled: drv_sdram.c and the SDK's n32h49x_sdram.c compile
and link with no warnings.
</content>
</entry>
<entry>
<title>[bsp][n32] n32hxxx: bound the XSPI waits and fix I2C/SPI/NAND edge cases</title>
<updated>2026-09-16T01:06:34Z</updated>
<author>
<name>OnlyoutzZ</name>
<email>17393117531@163.com</email>
</author>
<published>2026-09-14T08:39:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=ed59aaebf6a7709e5966a4fb8da72f99d7bfb4f3'/>
<id>urn:sha1:ed59aaebf6a7709e5966a4fb8da72f99d7bfb4f3</id>
<content type='text'>
- qspi: both XSPI variants poll the status flags with no bound, so an
  unresponsive bus hangs the caller and silently defeats the timeout it
  passed in. Route every wait through the timeout-carrying helpers,
  return -RT_ETIMEOUT and disable the controller on failure, and replace
  the "poll then send" loops with one bounded wait per element.
- hard_i2c: the interrupt receive path programs the BYTENUM window once
  and never reloads it, so a longer message was truncated and still
  reported as success; refuse it with -RT_EINVAL (enable RX DMA for
  longer reads) instead of capping XferSize. Stop capping the transmit
  byte count at the window size as well: BYTENUM counts received bytes
  only, and the cap stopped feeding DAT after byte 255 while TXDATE
  stayed asserted. Reject RT_I2C_NO_START/RT_I2C_NO_STOP on the series
  without frame chaining, where they would silently become a fresh START
  and a STOP, and tear the DMA channel down when the address phase times
  out instead of leaving it armed against a buffer about to unwind.
- spi: the H7xx LLI chain advanced the memory side by SPI_DMA_BLOCK_MAX
  bytes although BlkTfrSize counts elements, so a 16-bit transfer walked
  half a word early per node; advance by elements and scale both the
  chunk offset and the staging buffer by the data width. Propagate the
  DMA arm failure that was ignored.
- nand: an odd data length has no halfword-only encoding on the 16-bit
  bus and padding would program a byte the caller never asked for, so
  refuse it before the command phase; issue the empty-page dummy store
  as a halfword there too, where 8-bit AHB writes are unsupported.
- Kconfig: gate the Ethernet/SDRAM/LCD/QSPI/NAND options behind
  BSP_PERIPH_PIN_CFG_READY on all three boards. The peripheral clock and
  IO are not configured for these boards yet, so selecting one of them
  builds a driver whose pins stay in the reset function.
</content>
</entry>
<entry>
<title>[bsp][n32] n32hxxx: extend H47x_48x/H49x/H7xx driver support</title>
<updated>2026-09-16T01:06:34Z</updated>
<author>
<name>OnlyoutzZ</name>
<email>17393117531@163.com</email>
</author>
<published>2026-09-11T10:38:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=97634bffe8cf66ba3be103e61aff266ec806fc63'/>
<id>urn:sha1:97634bffe8cf66ba3be103e61aff266ec806fc63</id>
<content type='text'>
- libraries/N32_Drivers: add ADC/DAC/I2C/SPI config headers for the
  h47x_48x, h49x and h7xx series, and extend the shared drivers
  (adc, dac, eth, gpio, hard_i2c, nand, qspi, sdram, spi, usart, wdt).
- n32h487zgl7-evb / n32h497zgl7-evb: add board ports (femc_timing,
  phy_reset, usb_config) and update Kconfig, SConscript, rtconfig and
  the IAR/Keil project files.
- n32h760zil7-stb: update Kconfig and rtconfig.
- CI: register the three n32hxxx boards.
</content>
</entry>
<entry>
<title>[bsp][n32] add H47X/H49X/H7XX driver support- #11711 #11711</title>
<updated>2026-08-20T09:32:18Z</updated>
<author>
<name>Onlyou_tzZ</name>
<email>97173915+OnlyoutzZ@users.noreply.github.com</email>
</author>
<published>2026-08-20T09:32:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=9fce24b62b0b1dffc63e6f506d73e66a12944144'/>
<id>urn:sha1:9fce24b62b0b1dffc63e6f506d73e66a12944144</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[bsp/n32]上传Nsing LCDC和SDRAM的驱动#11682</title>
<updated>2026-08-12T07:37:21Z</updated>
<author>
<name>Onlyou_tzZ</name>
<email>97173915+OnlyoutzZ@users.noreply.github.com</email>
</author>
<published>2026-08-12T07:37:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=b71a16830a58f8d0dd4067cc98efe7ebb3f47fa0'/>
<id>urn:sha1:b71a16830a58f8d0dd4067cc98efe7ebb3f47fa0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[bsp/n32]n32h760zil7-stb bsp修复完善，添加 n32h497zgl7-evb和n32h487zgl7-evb bsp (#11627)</title>
<updated>2026-07-22T09:06:34Z</updated>
<author>
<name>Onlyou_tzZ</name>
<email>97173915+OnlyoutzZ@users.noreply.github.com</email>
</author>
<published>2026-07-22T09:06:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=f08217a883f20b9ec044df7ad8fdb55daf497968'/>
<id>urn:sha1:f08217a883f20b9ec044df7ad8fdb55daf497968</id>
<content type='text'>
1、修改n32\n32gxx_lxx\n32g4frml-stb中的GCC启动文件bl entry
2、修复完善n32h760zil7-stb bsp，支持GCC环境、支持更多外设
3、添加n32h487zgl7-evb初版BSP
4、添加n32h497zgl7-evb初版BSP
5、删除n32g452xx这个bsp

---------

Co-authored-by: OnlyoutzZ &lt;OnlyoutzZ+github[bot]@noreply.github.com&gt;</content>
</entry>
<entry>
<title>[bsp] Place SConscript outputs under build directories</title>
<updated>2026-07-22T05:32:41Z</updated>
<author>
<name>CYFS</name>
<email>2805686936@qq.com</email>
</author>
<published>2026-07-17T05:02:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=55cf9cd3fab52a3535691c9cdda44b5581cd9671'/>
<id>urn:sha1:55cf9cd3fab52a3535691c9cdda44b5581cd9671</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: name anonymous Kconfig choices</title>
<updated>2026-07-20T05:05:46Z</updated>
<author>
<name>CYFS</name>
<email>2805686936@qq.com</email>
</author>
<published>2026-07-01T07:27:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=25212f374583a6f36133809bdd3b6ae51641d083'/>
<id>urn:sha1:25212f374583a6f36133809bdd3b6ae51641d083</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[bsp][drivers][soft_i2c] unify the software I2C driver</title>
<updated>2026-07-16T05:19:57Z</updated>
<author>
<name>CYFS</name>
<email>2805686936@qq.com</email>
</author>
<published>2026-07-15T09:54:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=414ff7f3710168dbf99a398e18b2a4ff8448b005'/>
<id>urn:sha1:414ff7f3710168dbf99a398e18b2a4ff8448b005</id>
<content type='text'>
</content>
</entry>
</feed>
