Skip to content

Commit 276af93

Browse files
committed
hpm sdk release v1.7.0
[1.7.0] - 2024-09-30: Main changes since 1.6.0 Tested Segger Embedded Studio Version: 8.16a Tested Zcc toolchain 3.2.4 - Changed: - soc: HPM6E00: HPM6E80: add tsw section - soc: add hpm_otp_table.h - soc: enet: add a macro for DMA bus width - soc: system.c: set bpor.por_confing retention bit to avoid bgpr data loss - soc: pcfg: add pcfg_wakeup_src_t enum and pcfg_update_periph_clock_mode API - soc: hpm5300: exclude fgpio region from dlm - soc: add CONFIG_ENABLE_BPOR_RETENTION macro to control bpor retention - soc: linker: icf: update cherryusb_usbh_class_info section placement - soc: HPM6300/HPM6700: delete pcfg_dcdc_set_current_hys_range() API - ip: i2s: add and use clk_i2s_src_audn instead of clk_i2s_src_aud0/1/2/3 - boards: remove hpm6750evk support - boards: hpm6e00evk: update femc pinmux - boards: pinmux: set max frequency slew rate for SPI GPIO - boards: hpm5301evklite: Change cap1 and comp1 pins of gptmr0 - boards: hpm5301evklite: change i2c2 to i2c3 for BOARD_APP_I2C - boards: add board_init_gptmr_channel_pin API for all board - boards: hpm6e00evk: update core1 debugger console readme - boards: all: add board_init_acmp_pins API - boards: hpm6800evk: adc16: update clock bus name for clock initialization - boards: adc16: rename api parameter clk_src_ahb to clk_src_bus - boards: add BOARD_APP_ADC16_CLK_BUS definition - boards: hpm6e00evk: update board readme - boards: hpm6e00evk: bump up DCDC voltage to 1250mv - boards: add enet pps input feature and pinmux setting API - boards: add missing board feature and pin descriptions for enet pps output pin - boards: xxxx.yaml: rename board feature name related to enet pps pin - boards: add BOARD_MASTER_I2S and BOARD_SLAVE_I2S - boards: add board mic and speaker i2s definition - boards: doc: pwm: add pwm pin descriptions. - boards: hpm6800evk reduce ddr io leakage. - boards: hpm6800evk: pps: adjust pinmux settings - drivers: tsw: optimize the logic of sending and receiving APIs - drivers: tsw: add APIs for speed, interface, and clock delay settings - drivers: tsw: split tsw_ep_enable_mac_ctrl API to two APIs for enableing and disabling - drivers: usb: update usb phy init for suspend - drivers: qeiv2: update comments - drivers: i2c: auto ack needs to be enabled after the transmission is completed for i2c_master_transfer API - drivers: adc16: split adc16_set_pmt_queue_enable() into enable and disable API - drivers: gptmr: add opmode cntmode monitor configuration member for gptmr_channel_config API - drivers: spi: add the judgment that the frequency ratio cannot be greater than 510 for spi_master_timing_init API - drivers: enet: add retry logic in DMA initialization - drivers: spi: Add slave mode judgment for spi_control_init API - drivers: spi: add spi busy state judement for transfer APIs - drivers: uart: add disable rx timeout trigger dma function - drivers: i2s: add buff data align with frame feature - drivers: acmp: add acmp_channel_config_cap_selection - drivers: acmp: update acmp_channel_config_dac API - drivers: usb: update usb phy init and deinit - drivers: enet: add auxiliary snapshot APIs and struct definitions - drivers: usb: update usb_force_port_resume() annd add usb_hcd_disable_ase_pse() APIs - drivers: tsw: update the prefix of apis starting with tsn to tsw - drivers: qeiv2: update qeiv2_config_adcx_adcy_param() - drivers: usb: update usb_hcd_disable_ase_pse() & usb_hcd_enable_ase_pse() - components: enet_phy: rtl8211: optimize logic for initialization config - components: ppi: add assert check for cs_index and cmd_start_index - components: ppi: update AD-MUX mode config to decrease address latch - components: smbus: i2c_master_write replaces i2c_master_transfer for all smbus write APIs - components: serial_nor: Added configuration return judgment for transfer API - components: serial_nor: judge DMA sending completion for hpm_spi_transfer_via_dma API - components: spi: add spi busy state judgment for hpm_spi_transfer_init API - components: i2s_over_spi: add hpm_i2s_master_over_spi_tx_buffer_nonblocking API - components: i2s_over_spi: optimized hpm_i2s_master_over_spi_tx_stop API - components: i2s_over_spi: add hpm_i2s_master_over_spi_tx_is_busy API - middleware: hpm_math: support zcc new version - middleware: cherryusb: update to v1.4.0 - middleware: lwip: CMakeLists.txt: add cmake flag for apps - middleware: cherryusb: don't clean csc bit when init - middleware: cherryusb: msc host: support multi msc device - middleware: fatfs: cherryusb: support two msc device - middleware: reduce netx mem usage - middleware: cherryusb: host: update usb_hc_deinit() - middleware: usbx: host: delete mode setting in usb_host_mode_init() - middleware: hpm_sdmmc: sdcard: added retransmission to improve SPI SD card compatibility - middleware: tinyengine: rename old function - samples: audio_codec: change default codec setting in CMakeLists.txt - samples: adc16 & motor_ctrl: update adc16 preemption queue enable control APIs - samples: ppi: parallel_adc: update function name - samples: ppi: async_sram: update to support AD Mux Mode - samples: lwip & modbus: add judgement for the return value of enet controller initialization - samples: lwip: lwip_iperf: exclude flahsh_uf2 & flash_uf2_release targets - samples: lwip: add conditional compilation for RMII port - samples: cherryusb: msc host: adapter to fatfs update - samples: drivers: acmp: replace init_acmp_pins API with board_init_acmp_pins API - samples: ecat: read mailbox ram buff by ram alias address - samples: ecat: set PHY offset - samples: ecat_phy: disable PHY addr 00 broadcast response - samples: drivers: adc16: reference APP_ADC16_CLOCK_BUS instead of clk_adc_src_ahb0 - samples: ecat_io: update flash_eeprom data address - samples: ecat: update SSC config xml and ESI xml - samples: lwip: ports: rtthread-nano: single&multiple: add sys_arch_protech()/sys_arch_unprotect() - samples: power_mode_switch: move sysctl_enable_cpu0_wakeup_source_with_irq() to stop mode settings - samples: power_mode_switch: keep puart clock and wakeup enable visible - samples: acmp: add a macro TEST_ACMP_DAC_MAX_VALUE for better compatibility - samples: drivers: enet: pps: app.yaml: rename dependency - samples: ppi: parallel_adc: use macro BOARD_PPI_ADC_CS_INDEX - samples: i2s: use BOARD_MASTER_I2S and BOARD_SLAVE_I2S - samples: audio_codec: use board speaker macros - samples: cherryusb: audio: use board mic and speaker macros - samples: lwip & cherryusb/host/usbnet: use the external struct timeval definition from compile system - samples: esc: update esc read to 32bit access - samples: ecat_foe: update log and README - samples: ecat_foe: foe flash read cache maintenance - samples: ppi: use macros to select pins - samples: drivers: gptmr: cntmode: volatile to key parameter variables to prevent them from being optimized - samples: spi_sdcard: Added delay function registration - samples: cherryusb: mouse_wakeup: update printf log - samples: cherryusb: midi: update readme - samples: i2s: change HDMA to XDMA - samples: tflm: optimized speed. - samples: tflm: add zcc compile options. - samples: spi_component: full_duplex: Add known issues in the master readme - samples: spi_components: half_duplex: reduce SPI SCLK frequency to adapt to different slave boards - samples: spi_components: full_duplex: reduce SPI SCLK frequency to adapt to different slave boards - Fixed: - soc: HPM6800: HPM6880: fix the clock bus name for wdg - soc: SPI_SOC_TRANSFER_COUNT_MAX Definition error for HPM6E00 - soc: preserve kept symbols while -flto is enabled - soc: hpm6880: fix clk bus name for adc from ahb0 to axis0 - soc: HPM6300: fix get get_frequency_for_i2s_or_adc() problem - soc: HPM6700: fix clock_set_i2s_source() check condition - soc: romapi: Fix unexpected data fetch error during flash init/write. - soc: linker: gcc: fix fast_ram postion - boards: hpm5301evklite: add a missing macro BOARD_APP_ADC16_CLK_BUS - boards: i2c init: clock_add_to_group() should be before board_i2c_bus_clear() - boards: hpm6800evk pinmux PRS set wrong value - boards: hpm6750evkmini: fixed the iomux errata causes the slave to not work issue - boards: hpm6750evk2: fixed the iomux errata causes the slave to not work issue - boards: hpm6750evkmini: add the missing implement of enabling enet irq - boards: hpm6750evkmini: fix touch reset timing. - drivers: i2c: correct API name - drivers: gptmr: fix cmp value can't set 0xFFFFFFFF problem - drivers: pwmv2: fix counter burst set error. - drivers: enet: fix return value of enet_dma_init() - drivers: usb: fix usb_dcd_remote_wakeup() api - drivers: enet: fix enet max frame size - drivers: spi: Fixed mode variable assignment error for spi_slave_get_default_format_config API - drivers: i2s: fix fill dummy data in slave mode - drivers: adc16: fix ADC16 conversion results in single-ended mode - drivers: enet: fix that TSIS interrupt is disabled by default - drivers: femc: fix cmd_data_width comment error - drivers: spi: fixed offset digit error problem for spi_get_rx_fifo_valid_data_size and spi_get_tx_fifo_valid_data_size APIs - drivers: spi: fixed possible packet loss during reception for spi_read_data API - drivers: usb: fix phy init for host - drivers: touch: gtxx: fix reset timing - drivers: mipi dsi: fix bandwidth low - drivers: mcan: fix wrong offset in can_rx_message_t. - drivers: adc12: fix using a wrong calibration value - components: ppi: fix config variable init value - components: serial_nor: Fixed the nonblock APIs naming error - components: serial_nor: spi: fixed formating issue for write API - components: eeprom_emulation, add "fence.i" after nor_flash init - components: spi: fixed the waring of no return value for hpm_spi_transfer_init API - middleware: fix Nan calculation error. - middleware: lwip: apps: lwiperf: fix the type of clk_id from int to clockid_t - middleware: fix tickless mode cannot work - middleware: eclipse_threadx: netxduo: fix confilicting types for 'enet_mask_interrupt_event' - middleware: tinyengine: zcc compile error. - middleware: cherryusb: fix msc class miss return - middleware: motor_monitor: fix nds toolchain error - middleware: hpm_mcl: pwm output exception. - samples: sdm: correct gptmr trigger time - samples: gptmr: cmp0 and cmp1 should be setting together - samples: i2s_emulation: fixed playback is not actually stopped issue - samples: pwmv2: fix pwm period error. - samples: drivers: dac: fix output stop after restart in buffer mode - samples: fatfs: fix driver_num_buf don't have EOF - samples: dac: buffer mode: fix DAC output of negative narrow pulse nearly to zero at the top of sinewave - samples: lwip: fix enet receive buffer size setting - samples: lwip: fix some memroy-related issues when using socket/netcon API - samples: cherryusb: audio: fix mute problem when audio open - samples: power_mode_switch: fix hpm62xx/63xx/67xx into shutdown mode can't be woke up - samples: i2s: fix pdm record data buff size according board - samples: lwip_ptp: v1 & v2: fix compiling error with gnu gcc toochain in v13.0 - samples: i2s_emulation: fixed build error for nds gcc - samples: drivers: spi: interrupt: Abnormal working for IAR release build - samples: lwip: lwip_ptp_v2: fix function error with flash_sdram_xip_release - samples: drivers: spi: dma: master: fixed can not work sometimes with release build issue - samples: i2s_emulation: fixed can not stop when playing issue - samples: drivers: gptmr: opmode: fixed can not work with release build type - samples: dsp: Calculation error in dsp demo. - samples: lwip: lwip_ptp_v2: fix function error with flash_sdram_xip_release - samples: drivers: uart: uart_hardware_rx_idle: fiexd can not work with zcc release build type - samples: bldc offline detection: fix release run error. - samples: mono: fix value get logic on zcc. - samples: fix sample slave tamagawa's trx error handling method - samples: ecat: fix build ZCC error - samples: lower power: hpm6300 and hpm6700 can't use pcfg_dcdc_set_current_hys_range() API - cmake: ide: correct glob source adding - cmake: zcc: correct arch setting to enable dsp - scripts: add errors=ignore and encode=utf8 parameters to avoid python unicode build error. - samples: motor_ctrl: bldc_xxx & step_motor_foc: add missing diff_sel passed into adc12_init() - samples: ethercat: ecat_cia402: motor: bldc_foc: add missing diff_sel passed into adc12_init() - samples: drivers: adc: adc12: add missing diff_sel passed into adc12_int() - doc: fix threadx doc title - Added: - soc: HPM6300: add pps1_en - drivers: add hrpwm recovery method. - drivers: trgmux: add hrpwm calibration driver. - drivers: sei: add sei_set_dma_req_enable() API - drivers: ppi: add and use ppi_ns2cycle() API - drivers: i2c: add I2C_WRITE_CHECK_ACK flag for i2c_master_transfer API - drivers: i2c: add i2c_master_seq_transmit API - drivers: plb: add new plb interface - drivers: tsw: add tas, cbs and pps APIs - drivers: tsw: add tx-timestamp-fifo APIs - components: tsw_phy add RTL8211 and JL1111 drivers - components: add pmbus - components: ppi: add README.md docs - components: add plb abz encoder. - middleware: add hpmicro monitor. - middleware: motor_ctrl: add motor parameter detection. - middleware: add tsn - samples: tsn: add lwip_tcpecho - samples: bldc_foc: add motor monitor demo. - samples: motor_ctrl: add bldc parameter detection demo. - samples: drivers: pwmv2: add hrpwm calibration demo. - samples: cherryusb: add mouse remote wakeup sample - samples: gptmr: add opmode/monitor/cntmode sample - samples: add pmbus samples - samples: cherryusb: dual_host: support two msc device - samples: ecat: add ecat_foe samples - samples: ecat: add ecat_cia402 samples - samples: ecat: add ecat_foe driver - samples: ecat: update hpm_ecat_hw driver - samples: drivers: enet: add pps_capture sample - samples: add plb encoder demo. - samples: tsn: add tsn_time_aware_scheduling - samples: tsn: add tsn_ptp_freertos(master&slave) - samples: tsn: add tsn_credit_based_shaper - samples:ecat_cia402: add virtual motor support Signed-off-by: Ryan QIAN <[email protected]>
1 parent 44d8bcd commit 276af93

File tree

1,049 files changed

+57808
-10149
lines changed

Some content is hidden

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

1,049 files changed

+57808
-10149
lines changed

CHANGELOG.md

Lines changed: 240 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,245 @@
11
# Change Log
22

3+
## [1.7.0] - 2024-09-30:
4+
5+
Main changes since 1.6.0
6+
Tested Segger Embedded Studio Version: 8.16a
7+
Tested Zcc toolchain 3.2.4
8+
9+
### Changed:
10+
- soc: HPM6E00: HPM6E80: add tsw section
11+
- soc: add hpm_otp_table.h
12+
- soc: enet: add a macro for DMA bus width
13+
- soc: system.c: set bpor.por_confing retention bit to avoid bgpr data loss
14+
- soc: pcfg: add pcfg_wakeup_src_t enum and pcfg_update_periph_clock_mode API
15+
- soc: hpm5300: exclude fgpio region from dlm
16+
- soc: add CONFIG_ENABLE_BPOR_RETENTION macro to control bpor retention
17+
- soc: linker: icf: update cherryusb_usbh_class_info section placement
18+
- soc: HPM6300/HPM6700: delete pcfg_dcdc_set_current_hys_range() API
19+
- ip: i2s: add and use clk_i2s_src_audn instead of clk_i2s_src_aud0/1/2/3
20+
- boards: remove hpm6750evk support
21+
- boards: hpm6e00evk: update femc pinmux
22+
- boards: pinmux: set max frequency slew rate for SPI GPIO
23+
- boards: hpm5301evklite: Change cap1 and comp1 pins of gptmr0
24+
- boards: hpm5301evklite: change i2c2 to i2c3 for BOARD_APP_I2C
25+
- boards: add board_init_gptmr_channel_pin API for all board
26+
- boards: hpm6e00evk: update core1 debugger console readme
27+
- boards: all: add board_init_acmp_pins API
28+
- boards: hpm6800evk: adc16: update clock bus name for clock initialization
29+
- boards: adc16: rename api parameter clk_src_ahb to clk_src_bus
30+
- boards: add BOARD_APP_ADC16_CLK_BUS definition
31+
- boards: hpm6e00evk: update board readme
32+
- boards: hpm6e00evk: bump up DCDC voltage to 1250mv
33+
- boards: add enet pps input feature and pinmux setting API
34+
- boards: add missing board feature and pin descriptions for enet pps output pin
35+
- boards: xxxx.yaml: rename board feature name related to enet pps pin
36+
- boards: add BOARD_MASTER_I2S and BOARD_SLAVE_I2S
37+
- boards: add board mic and speaker i2s definition
38+
- boards: doc: pwm: add pwm pin descriptions.
39+
- boards: hpm6800evk reduce ddr io leakage.
40+
- boards: hpm6800evk: pps: adjust pinmux settings
41+
- drivers: tsw: optimize the logic of sending and receiving APIs
42+
- drivers: tsw: add APIs for speed, interface, and clock delay settings
43+
- drivers: tsw: split tsw_ep_enable_mac_ctrl API to two APIs for enableing and disabling
44+
- drivers: usb: update usb phy init for suspend
45+
- drivers: qeiv2: update comments
46+
- drivers: i2c: auto ack needs to be enabled after the transmission is completed for i2c_master_transfer API
47+
- drivers: adc16: split adc16_set_pmt_queue_enable() into enable and disable API
48+
- drivers: gptmr: add opmode cntmode monitor configuration member for gptmr_channel_config API
49+
- drivers: spi: add the judgment that the frequency ratio cannot be greater than 510 for spi_master_timing_init API
50+
- drivers: enet: add retry logic in DMA initialization
51+
- drivers: spi: Add slave mode judgment for spi_control_init API
52+
- drivers: spi: add spi busy state judement for transfer APIs
53+
- drivers: uart: add disable rx timeout trigger dma function
54+
- drivers: i2s: add buff data align with frame feature
55+
- drivers: acmp: add acmp_channel_config_cap_selection
56+
- drivers: acmp: update acmp_channel_config_dac API
57+
- drivers: usb: update usb phy init and deinit
58+
- drivers: enet: add auxiliary snapshot APIs and struct definitions
59+
- drivers: usb: update usb_force_port_resume() annd add usb_hcd_disable_ase_pse() APIs
60+
- drivers: tsw: update the prefix of apis starting with tsn to tsw
61+
- drivers: qeiv2: update qeiv2_config_adcx_adcy_param()
62+
- drivers: usb: update usb_hcd_disable_ase_pse() & usb_hcd_enable_ase_pse()
63+
- components: enet_phy: rtl8211: optimize logic for initialization config
64+
- components: ppi: add assert check for cs_index and cmd_start_index
65+
- components: ppi: update AD-MUX mode config to decrease address latch
66+
- components: smbus: i2c_master_write replaces i2c_master_transfer for all smbus write APIs
67+
- components: serial_nor: Added configuration return judgment for transfer API
68+
- components: serial_nor: judge DMA sending completion for hpm_spi_transfer_via_dma API
69+
- components: spi: add spi busy state judgment for hpm_spi_transfer_init API
70+
- components: i2s_over_spi: add hpm_i2s_master_over_spi_tx_buffer_nonblocking API
71+
- components: i2s_over_spi: optimized hpm_i2s_master_over_spi_tx_stop API
72+
- components: i2s_over_spi: add hpm_i2s_master_over_spi_tx_is_busy API
73+
- middleware: hpm_math: support zcc new version
74+
- middleware: cherryusb: update to v1.4.0
75+
- middleware: lwip: CMakeLists.txt: add cmake flag for apps
76+
- middleware: cherryusb: don't clean csc bit when init
77+
- middleware: cherryusb: msc host: support multi msc device
78+
- middleware: fatfs: cherryusb: support two msc device
79+
- middleware: reduce netx mem usage
80+
- middleware: cherryusb: host: update usb_hc_deinit()
81+
- middleware: usbx: host: delete mode setting in usb_host_mode_init()
82+
- middleware: hpm_sdmmc: sdcard: added retransmission to improve SPI SD card compatibility
83+
- middleware: tinyengine: rename old function
84+
- samples: audio_codec: change default codec setting in CMakeLists.txt
85+
- samples: adc16 & motor_ctrl: update adc16 preemption queue enable control APIs
86+
- samples: ppi: parallel_adc: update function name
87+
- samples: ppi: async_sram: update to support AD Mux Mode
88+
- samples: lwip & modbus: add judgement for the return value of enet controller initialization
89+
- samples: lwip: lwip_iperf: exclude flahsh_uf2 & flash_uf2_release targets
90+
- samples: lwip: add conditional compilation for RMII port
91+
- samples: cherryusb: msc host: adapter to fatfs update
92+
- samples: drivers: acmp: replace init_acmp_pins API with board_init_acmp_pins API
93+
- samples: ecat: read mailbox ram buff by ram alias address
94+
- samples: ecat: set PHY offset
95+
- samples: ecat_phy: disable PHY addr 00 broadcast response
96+
- samples: drivers: adc16: reference APP_ADC16_CLOCK_BUS instead of clk_adc_src_ahb0
97+
- samples: ecat_io: update flash_eeprom data address
98+
- samples: ecat: update SSC config xml and ESI xml
99+
- samples: lwip: ports: rtthread-nano: single&multiple: add sys_arch_protech()/sys_arch_unprotect()
100+
- samples: power_mode_switch: move sysctl_enable_cpu0_wakeup_source_with_irq() to stop mode settings
101+
- samples: power_mode_switch: keep puart clock and wakeup enable visible
102+
- samples: acmp: add a macro TEST_ACMP_DAC_MAX_VALUE for better compatibility
103+
- samples: drivers: enet: pps: app.yaml: rename dependency
104+
- samples: ppi: parallel_adc: use macro BOARD_PPI_ADC_CS_INDEX
105+
- samples: i2s: use BOARD_MASTER_I2S and BOARD_SLAVE_I2S
106+
- samples: audio_codec: use board speaker macros
107+
- samples: cherryusb: audio: use board mic and speaker macros
108+
- samples: lwip & cherryusb/host/usbnet: use the external struct timeval definition from compile system
109+
- samples: esc: update esc read to 32bit access
110+
- samples: ecat_foe: update log and README
111+
- samples: ecat_foe: foe flash read cache maintenance
112+
- samples: ppi: use macros to select pins
113+
- samples: drivers: gptmr: cntmode: volatile to key parameter variables to prevent them from being optimized
114+
- samples: spi_sdcard: Added delay function registration
115+
- samples: cherryusb: mouse_wakeup: update printf log
116+
- samples: cherryusb: midi: update readme
117+
- samples: i2s: change HDMA to XDMA
118+
- samples: tflm: optimized speed.
119+
- samples: tflm: add zcc compile options.
120+
- samples: spi_component: full_duplex: Add known issues in the master readme
121+
- samples: spi_components: half_duplex: reduce SPI SCLK frequency to adapt to different slave boards
122+
- samples: spi_components: full_duplex: reduce SPI SCLK frequency to adapt to different slave boards
123+
124+
### Fixed:
125+
- soc: HPM6800: HPM6880: fix the clock bus name for wdg
126+
- soc: SPI_SOC_TRANSFER_COUNT_MAX Definition error for HPM6E00
127+
- soc: preserve kept symbols while -flto is enabled
128+
- soc: hpm6880: fix clk bus name for adc from ahb0 to axis0
129+
- soc: HPM6300: fix get get_frequency_for_i2s_or_adc() problem
130+
- soc: HPM6700: fix clock_set_i2s_source() check condition
131+
- soc: romapi: Fix unexpected data fetch error during flash init/write.
132+
- soc: linker: gcc: fix fast_ram postion
133+
- boards: hpm5301evklite: add a missing macro BOARD_APP_ADC16_CLK_BUS
134+
- boards: i2c init: clock_add_to_group() should be before board_i2c_bus_clear()
135+
- boards: hpm6800evk pinmux PRS set wrong value
136+
- boards: hpm6750evkmini: fixed the iomux errata causes the slave to not work issue
137+
- boards: hpm6750evk2: fixed the iomux errata causes the slave to not work issue
138+
- boards: hpm6750evkmini: add the missing implement of enabling enet irq
139+
- boards: hpm6750evkmini: fix touch reset timing.
140+
- drivers: i2c: correct API name
141+
- drivers: gptmr: fix cmp value can't set 0xFFFFFFFF problem
142+
- drivers: pwmv2: fix counter burst set error.
143+
- drivers: enet: fix return value of enet_dma_init()
144+
- drivers: usb: fix usb_dcd_remote_wakeup() api
145+
- drivers: enet: fix enet max frame size
146+
- drivers: spi: Fixed mode variable assignment error for spi_slave_get_default_format_config API
147+
- drivers: i2s: fix fill dummy data in slave mode
148+
- drivers: adc16: fix ADC16 conversion results in single-ended mode
149+
- drivers: enet: fix that TSIS interrupt is disabled by default
150+
- drivers: femc: fix cmd_data_width comment error
151+
- drivers: spi: fixed offset digit error problem for spi_get_rx_fifo_valid_data_size and spi_get_tx_fifo_valid_data_size APIs
152+
- drivers: spi: fixed possible packet loss during reception for spi_read_data API
153+
- drivers: usb: fix phy init for host
154+
- drivers: touch: gtxx: fix reset timing
155+
- drivers: mipi dsi: fix bandwidth low
156+
- drivers: mcan: fix wrong offset in can_rx_message_t.
157+
- drivers: adc12: fix using a wrong calibration value
158+
- components: ppi: fix config variable init value
159+
- components: serial_nor: Fixed the nonblock APIs naming error
160+
- components: serial_nor: spi: fixed formating issue for write API
161+
- components: eeprom_emulation, add "fence.i" after nor_flash init
162+
- components: spi: fixed the waring of no return value for hpm_spi_transfer_init API
163+
- middleware: fix Nan calculation error.
164+
- middleware: lwip: apps: lwiperf: fix the type of clk_id from int to clockid_t
165+
- middleware: fix tickless mode cannot work
166+
- middleware: eclipse_threadx: netxduo: fix confilicting types for 'enet_mask_interrupt_event'
167+
- middleware: tinyengine: zcc compile error.
168+
- middleware: cherryusb: fix msc class miss return
169+
- middleware: motor_monitor: fix nds toolchain error
170+
- middleware: hpm_mcl: pwm output exception.
171+
- samples: sdm: correct gptmr trigger time
172+
- samples: gptmr: cmp0 and cmp1 should be setting together
173+
- samples: i2s_emulation: fixed playback is not actually stopped issue
174+
- samples: pwmv2: fix pwm period error.
175+
- samples: drivers: dac: fix output stop after restart in buffer mode
176+
- samples: fatfs: fix driver_num_buf don't have EOF
177+
- samples: dac: buffer mode: fix DAC output of negative narrow pulse nearly to zero at the top of sinewave
178+
- samples: lwip: fix enet receive buffer size setting
179+
- samples: lwip: fix some memroy-related issues when using socket/netcon API
180+
- samples: cherryusb: audio: fix mute problem when audio open
181+
- samples: power_mode_switch: fix hpm62xx/63xx/67xx into shutdown mode can't be woke up
182+
- samples: i2s: fix pdm record data buff size according board
183+
- samples: lwip_ptp: v1 & v2: fix compiling error with gnu gcc toochain in v13.0
184+
- samples: i2s_emulation: fixed build error for nds gcc
185+
- samples: drivers: spi: interrupt: Abnormal working for IAR release build
186+
- samples: lwip: lwip_ptp_v2: fix function error with flash_sdram_xip_release
187+
- samples: drivers: spi: dma: master: fixed can not work sometimes with release build issue
188+
- samples: i2s_emulation: fixed can not stop when playing issue
189+
- samples: drivers: gptmr: opmode: fixed can not work with release build type
190+
- samples: dsp: Calculation error in dsp demo.
191+
- samples: lwip: lwip_ptp_v2: fix function error with flash_sdram_xip_release
192+
- samples: drivers: uart: uart_hardware_rx_idle: fiexd can not work with zcc release build type
193+
- samples: bldc offline detection: fix release run error.
194+
- samples: mono: fix value get logic on zcc.
195+
- samples: fix sample slave tamagawa's trx error handling method
196+
- samples: ecat: fix build ZCC error
197+
- samples: lower power: hpm6300 and hpm6700 can't use pcfg_dcdc_set_current_hys_range() API
198+
- cmake: ide: correct glob source adding
199+
- cmake: zcc: correct arch setting to enable dsp
200+
- scripts: add errors=ignore and encode=utf8 parameters to avoid python unicode build error.
201+
- samples: motor_ctrl: bldc_xxx & step_motor_foc: add missing diff_sel passed into adc12_init()
202+
- samples: ethercat: ecat_cia402: motor: bldc_foc: add missing diff_sel passed into adc12_init()
203+
- samples: drivers: adc: adc12: add missing diff_sel passed into adc12_int()
204+
- doc: fix threadx doc title
205+
206+
### Added:
207+
- soc: HPM6300: add pps1_en
208+
- drivers: add hrpwm recovery method.
209+
- drivers: trgmux: add hrpwm calibration driver.
210+
- drivers: sei: add sei_set_dma_req_enable() API
211+
- drivers: ppi: add and use ppi_ns2cycle() API
212+
- drivers: i2c: add I2C_WRITE_CHECK_ACK flag for i2c_master_transfer API
213+
- drivers: i2c: add i2c_master_seq_transmit API
214+
- drivers: plb: add new plb interface
215+
- drivers: tsw: add tas, cbs and pps APIs
216+
- drivers: tsw: add tx-timestamp-fifo APIs
217+
- components: tsw_phy add RTL8211 and JL1111 drivers
218+
- components: add pmbus
219+
- components: ppi: add README.md docs
220+
- components: add plb abz encoder.
221+
- middleware: add hpmicro monitor.
222+
- middleware: motor_ctrl: add motor parameter detection.
223+
- middleware: add tsn
224+
- samples: tsn: add lwip_tcpecho
225+
- samples: bldc_foc: add motor monitor demo.
226+
- samples: motor_ctrl: add bldc parameter detection demo.
227+
- samples: drivers: pwmv2: add hrpwm calibration demo.
228+
- samples: cherryusb: add mouse remote wakeup sample
229+
- samples: gptmr: add opmode/monitor/cntmode sample
230+
- samples: add pmbus samples
231+
- samples: cherryusb: dual_host: support two msc device
232+
- samples: ecat: add ecat_foe samples
233+
- samples: ecat: add ecat_cia402 samples
234+
- samples: ecat: add ecat_foe driver
235+
- samples: ecat: update hpm_ecat_hw driver
236+
- samples: drivers: enet: add pps_capture sample
237+
- samples: add plb encoder demo.
238+
- samples: tsn: add tsn_time_aware_scheduling
239+
- samples: tsn: add tsn_ptp_freertos(master&slave)
240+
- samples: tsn: add tsn_credit_based_shaper
241+
- samples:ecat_cia402: add virtual motor support
242+
3243
## [1.6.0] - 2024-06-28:
4244

5245
Main changes since 1.5.0
@@ -1516,4 +1756,3 @@ All changes since 0.6.2
15161756
- samples: drivers: gpiom: Add example to demonstrate gpiom's function
15171757
- drivers: common: add macro to put data into noncacheable sections
15181758
- middleware: integrate lwip
1519-

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ The HPM SDK Project is a software development kit based on HPMicro's MCUs, which
4343
## Repositories
4444
- hpm_sdk: https://github.com/hpmicro/hpm_sdk
4545
- sdk_env: https://github.com/hpmicro/sdk_env
46+
- hpm_apps: https://github.com/hpmicro/hpm_apps
4647
- sdk extra demo: https://github.com/hpmicro/hpm_sdk_extra
4748
- openocd (hpmicro patched): https://github.com/hpmicro/riscv-openocd
4849
- gnu gcc toolchain: https://github.com/hpmicro/riscv-gnu-toolchain

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
VERSION_MAJOR = 1
2-
VERSION_MINOR = 6
2+
VERSION_MINOR = 7
33
PATCHLEVEL = 0
44
VERSION_TWEAK = 0
55
EXTRAVERSION = 0

boards/hpm5300evk/board.c

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2023 HPMicro
2+
* Copyright (c) 2023-2024 HPMicro
33
* SPDX-License-Identifier: BSD-3-Clause
44
*
55
*/
@@ -71,11 +71,11 @@ static board_timer_cb timer_cb;
7171
* 0 - 4MB / 1 - 8MB / 2 - 16MB
7272
*/
7373
#if defined(FLASH_XIP) && FLASH_XIP
74-
__attribute__ ((section(".nor_cfg_option"))) const uint32_t option[4] = {0xfcf90002, 0x00000006, 0x1000, 0x0};
74+
__attribute__ ((section(".nor_cfg_option"), used)) const uint32_t option[4] = {0xfcf90002, 0x00000006, 0x1000, 0x0};
7575
#endif
7676

7777
#if defined(FLASH_UF2) && FLASH_UF2
78-
ATTR_PLACE_AT(".uf2_signature") const uint32_t uf2_signature = BOARD_UF2_SIGNATURE;
78+
ATTR_PLACE_AT(".uf2_signature") __attribute__((used)) const uint32_t uf2_signature = BOARD_UF2_SIGNATURE;
7979
#endif
8080

8181
void board_init_console(void)
@@ -389,12 +389,12 @@ void board_usb_vbus_ctrl(uint8_t usb_index, uint8_t level)
389389
(void) level;
390390
}
391391

392-
uint32_t board_init_adc_clock(void *ptr, bool clk_src_ahb)
392+
uint32_t board_init_adc_clock(void *ptr, bool clk_src_bus)
393393
{
394394
uint32_t freq = 0;
395395

396396
if (ptr == (void *)HPM_ADC0) {
397-
if (clk_src_ahb) {
397+
if (clk_src_bus) {
398398
/* Configure the ADC clock from AHB (@200MHz by default)*/
399399
clock_set_adc_source(clock_adc0, clk_adc_src_ahb0);
400400
} else {
@@ -405,7 +405,7 @@ uint32_t board_init_adc_clock(void *ptr, bool clk_src_ahb)
405405

406406
freq = clock_get_frequency(clock_adc0);
407407
} else if (ptr == (void *)HPM_ADC1) {
408-
if (clk_src_ahb) {
408+
if (clk_src_bus) {
409409
/* Configure the ADC clock from AHB (@200MHz by default)*/
410410
clock_set_adc_source(clock_adc1, clk_adc_src_ahb0);
411411
} else {
@@ -425,6 +425,10 @@ void board_init_adc16_pins(void)
425425
init_adc_pins();
426426
}
427427

428+
void board_init_acmp_pins(void)
429+
{
430+
init_acmp_pins();
431+
}
428432
uint32_t board_init_dac_clock(DAC_Type *ptr, bool clk_src_ahb)
429433
{
430434
uint32_t freq = 0;
@@ -563,7 +567,7 @@ void board_i2c_bus_clear(I2C_Type *ptr)
563567
printf("I2C bus is ready\n");
564568
return;
565569
}
566-
i2s_gen_reset_signal(ptr, 9);
570+
i2c_gen_reset_signal(ptr, 9);
567571
board_delay_ms(100);
568572
printf("I2C bus is cleared\n");
569573
}
@@ -576,13 +580,15 @@ void board_init_i2c(I2C_Type *ptr)
576580
if (ptr == NULL) {
577581
return;
578582
}
579-
init_i2c_pins(ptr);
580-
board_i2c_bus_clear(ptr);
581583

582584
clock_add_to_group(clock_i2c0, 0);
583585
clock_add_to_group(clock_i2c1, 0);
584586
clock_add_to_group(clock_i2c2, 0);
585587
clock_add_to_group(clock_i2c3, 0);
588+
589+
init_i2c_pins(ptr);
590+
board_i2c_bus_clear(ptr);
591+
586592
/* Configure the I2C clock to 24MHz */
587593
clock_set_source_divider(BOARD_APP_I2C_CLK_NAME, clk_src_osc24m, 1U);
588594

@@ -614,3 +620,9 @@ void board_lin_transceiver_control(bool enable)
614620
gpio_set_pin_output_with_initial(BOARD_LIN_TRANSCEIVER_GPIO_CTRL, BOARD_LIN_TRANSCEIVER_GPIO_INDEX, BOARD_LIN_TRANSCEIVER_GPIO_PIN, 0); /* enable transceiver sleep */
615621
}
616622
}
623+
624+
void board_init_gptmr_channel_pin(GPTMR_Type *ptr, uint32_t channel, bool as_comp)
625+
{
626+
init_gptmr_channel_pin(ptr, channel, as_comp);
627+
}
628+

0 commit comments

Comments
 (0)