Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b6ee7ac
psoc-edge: Adding basic machine_pin object skeleton.
jaenrig-ifx Dec 9, 2025
78b230c
tests/ports/psoc-edge: Added hw pin test import only.
jaenrig-ifx Dec 9, 2025
992952f
psoc-edge/machine_pin: Completed constructor implementation.
jaenrig-ifx Dec 10, 2025
9d21b1c
tests/../psoc-edge/../pin: Added Pin construction to test.
jaenrig-ifx Dec 10, 2025
2fc7e0f
psoc-edge: Fixed code formatting.
jaenrig-ifx Dec 10, 2025
28e80fa
psoc-edge/machine_pin: Added pin init() function.
jaenrig-ifx Dec 10, 2025
086acd8
lib: Updated PSOC Edge libraries.
jaenrig-ifx Dec 12, 2025
f343f39
psoc-edge/mphalport: Added pin function to mp hal.
jaenrig-ifx Dec 12, 2025
c711c42
psoc-edge/boards/pse84_prefix: Added pin generation file prefix.
jaenrig-ifx Dec 16, 2025
1976fa6
psoc-edge/boards/make-pins: Added boardgen based pin generation.
jaenrig-ifx Dec 16, 2025
78d6f0c
psoc-edge/boards/KIT_PSE84_AI/pins: Added user accessible pins.
jaenrig-ifx Dec 16, 2025
a880e07
psoc-edge/machine_pin: Added cpu and board pins dicts.
jaenrig-ifx Dec 16, 2025
88cea81
psoc-edge/Makefile: Added pin generation recipes.
jaenrig-ifx Dec 16, 2025
5a6c2b3
psoc-edge/machine_pin: Added complete pin list support.
jaenrig-ifx Dec 16, 2025
34767e2
psoc-edge/boards/KIT_PSE84_AI/mpconfigboard: Removed package file.
jaenrig-ifx Dec 17, 2025
bcb1c82
psoc-edge/Makefile: Fixed arch flag.
jaenrig-ifx Dec 16, 2025
6b640e0
psoc-edge/machine_pin: Added print() function.
jaenrig-ifx Dec 16, 2025
ce7c64c
tests/ports/psoc-edge/../pin: Added print pin check to test.
jaenrig-ifx Dec 16, 2025
e12e176
psoc-edge/mphalport: Updated mp hal pin format.
jaenrig-ifx Dec 16, 2025
4b63ddf
psoc-edge: Adding basic machine_pin object skeleton.
jaenrig-ifx Dec 9, 2025
6fd78e8
psoc-edge/machine_pin: Added on,off,value functions.
jaenrig-ifx Dec 17, 2025
34e9e47
tests/ports/psoc-edge/pin: Added basic on, off, value checks.
jaenrig-ifx Dec 17, 2025
9de7c53
tests/ports/psoc-edge/../pin: Added output read check.
jaenrig-ifx Dec 18, 2025
20228ff
psoc-edge/mpconfigport: Fixed formatting.
jaenrig-ifx Dec 18, 2025
46041a6
psoc-edge: Added initial pin IRQ implementation.
jaenrig-ifx Dec 23, 2025
78efaf5
psoc-edge/machine_pin_irq: Cleaned up debug and fix pending set mask.
jaenrig-ifx Jan 5, 2026
7d0df05
tests/ports/psoc-edge: Added basic pin irq tests.
jaenrig-ifx Jan 5, 2026
74b22f9
psoc-edge/machine_pin_irq: Added and enabled deinit_all pin irq.
jaenrig-ifx Jan 6, 2026
7443c0d
psoc-edge/boards/make-pins: Added port defines generation.
jaenrig-ifx Jan 7, 2026
5ef121d
psoc-edge/machine_pin_irq: Updated macro definitions using X pattern.
jaenrig-ifx Jan 7, 2026
6ff7af6
psoc-edge/machine_pin_irq: Refactored for pin port priority management.
jaenrig-ifx Jan 7, 2026
82e0886
psoc-edge/machine_pin: Deinit all pins not implemented.
jaenrig-ifx Jan 8, 2026
8d7605a
psoc-edge/machine_pin: Added pin_ioctl() function.
jaenrig-ifx Jan 8, 2026
f547ba8
psoc-edge/machine_pin: Cleaned up TODOS, and marked as additional modes.
jaenrig-ifx Jan 8, 2026
97c68cc
psoc-edge/machine_pin_irq: Added pin argument to irq handler.
jaenrig-ifx Jan 9, 2026
fa7f9f5
tests/ports/psoc-edge/../pin_irq.py: Added pin argument to irq handler.
jaenrig-ifx Jan 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/mpy-test-ext
Submodule mpy-test-ext updated 0 files
2 changes: 1 addition & 1 deletion lib/mtb-psoc-edge-libs
Submodule mtb-psoc-edge-libs updated 0 files
51 changes: 34 additions & 17 deletions ports/psoc-edge/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -56,20 +56,32 @@ LD = arm-none-eabi-gcc
# LDFLAGS += -Wl,--cref -Wl,--gc-sections
# LDFLAGS += -Wl,-Map,$(BUILD)/firmware.map -Wl,--start-group -Wl,--end-group -Wl,--print-memory-usage

#TODO: Add the pin generation. Check if the existing mpy scripts make sense for us
# or we take a similar approach as for psoc6.
#ToDo: Post adding af functionality, refactor to minimize dependent variables in py script if possible
# GEN_PINS_SRC := $(BUILD)/pins_$(BOARD).c
# HEADER_BUILD := $(BUILD)/genhdr
# GEN_PINS_HDR := $(BUILD)/genhdr/pins.h
# GEN_PINS_QSTR := $(BUILD)/pins_qstr.h
#
# GENERATED_PINS = $(GEN_PINS_SRC) $(GEN_PINS_HDR) $(GEN_PINS_QSTR)
#
# $(GENERATED_PINS):
# @echo "Generating $@"
# $(MKDIR) -p $(BUILD)/genhdr
# $(PYTHON) boards/make-pins.py --gen-pin-for $(PIN_PACKAGE_FILE) --hdr $(GEN_PINS_HDR) --qstr $(GEN_PINS_QSTR) > $(GEN_PINS_SRC)

# Pin generation
HEADER_BUILD := $(BUILD)/genhdr
MAKE_PINS = boards/make-pins.py
BOARD_PINS = $(BOARD_DIR)/pins.csv
PREFIX_FILE = boards/pse84_prefix.c
GEN_PINS_SRC = $(BUILD)/pins_$(BOARD).c
GEN_PINS_HDR = $(HEADER_BUILD)/pins.h

# Making OBJ use an order-only dependency on the generated pins.h file
# has the side effect of making the pins.h file before we actually compile
# any of the objects. The normal dependency generation will deal with the
# case when pins.h is modified. But when it doesn't exist, we don't know
# which source files might need it.
$(OBJ): | $(GEN_PINS_HDR)

# With conditional pins, we may need to regenerate qstrdefs.h when config
# options change.
$(HEADER_BUILD)/qstrdefs.generated.h: $(BOARD_DIR)/mpconfigboard.h

# Use a pattern rule here so that make will only call make-pins.py once to make
# both pins_$(BOARD).c and pins.h
$(BUILD)/%_$(BOARD).c $(HEADER_BUILD)/%.h : $(BOARD_DIR)/%.csv $(MAKE_PINS) $(PREFIX_FILE) | $(HEADER_BUILD)
$(ECHO) "GEN $@"
$(Q)$(PYTHON) $(MAKE_PINS) --board-csv $(BOARD_PINS) --prefix $(PREFIX_FILE) \
--output-source $(GEN_PINS_SRC) --output-header $(GEN_PINS_HDR)

# TODO: Check required C++ additional flags.
# Flags for optional C++ source code
Expand All @@ -88,16 +100,20 @@ SHARED_SRC_C += $(addprefix shared/,\
runtime/gchelper_native.c \
runtime/interrupt_char.c \
runtime/pyexec.c \
runtime/mpirq.c\
runtime/stdout_helpers.c \
runtime/sys_stdio_mphal.c \
\
timeutils/timeutils.c \
)

# TODO: Add this once gc is enabled, required in machine_pin_irq -> runtime/mpirq.c\


DRIVERS_SRC_C +=

MOD_SRC_C += \
machine_pin.c \
machine_pin_irq.c \
machine_pdm_pcm.c\
\
modpsocedge.c
Expand All @@ -108,7 +124,7 @@ SRC_C = help.c \

SRC_ASM +=

SRC_QSTR += $(SHARED_SRC_C) $(MOD_SRC_C)
SRC_QSTR += $(SHARED_SRC_C) $(MOD_SRC_C) $(GEN_PINS_SRC)

OBJ += $(PY_O)
OBJ += $(addprefix $(BUILD)/, $(SHARED_SRC_C:.c=.o))
Expand All @@ -117,8 +133,9 @@ OBJ += $(addprefix $(BUILD)/, $(MOD_SRC_C:.c=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_ASM:.s=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_CXX:.cpp=.o))
OBJ += $(GEN_PINS_SRC:.c=.o)

MPY_CROSS_FLAGS += -march=armv8-m.main
MPY_CROSS_FLAGS += -march=armv8-m.main+dsp

MPY_APP_NAME = mpy_edge_app_ns

Expand Down
2 changes: 0 additions & 2 deletions ports/psoc-edge/boards/KIT_PSE84_AI/mpconfigboard.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
BOARD_VERSION=release-v1.1.0

# Variables to support make-pins
PIN_PACKAGE_FILE = gpio_pse84_bga_220.h
243 changes: 243 additions & 0 deletions ports/psoc-edge/boards/KIT_PSE84_AI/pins.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,243 @@
# QSPI flash
,-P0_0
,-P0_1
,-P1_0
,-P1_1
,-P1_2
,-P1_3

# Not connected
#,-P1_4
#,-P1_5
#,-P1_6
#,-P1_7

# QSPI flash
,-P2_0

# I3C bus
,P3_0
,P3_1

# PSRAM
,-P4_0
,-P4_1
,-P4_2
,-P4_3
,-P4_4
,-P4_5
,-P4_6
,-P4_7

# Not connected
#,-P5_0

# JTAG Debug I/O
,-P6_0
,-P6_1
,-P6_2
,-P6_3

# Int magnetometer
,P6_4

# KitProg UART RX
,-P6_5

# Int IMU
,P6_6

# KitProg UART TX
,-P6_7

# User button
,P7_0

# USB ID OGT
,-P7_1

# Not connected
#,-P7_2

# USB direction
,-P7_3

# External clock input
,-P7_4

# USB OUT1 DRP
,-P7_5

# USB OUT2 DRP
,-P7_6

# Int IMU1
,P7_7

# I2C 1.8V
,P8_0
,P8_1

# Not connected
#,-P8_2

# USB fault signal DRP
,-P8_3

# Not connected
#,-P8_4

# PDM
,P8_5
,P8_6

# Not connected
#,-P8_7

# J5 connector
,P9_0
,P9_1
,P9_2
,P9_3

# Bluetooth
,-P10_0
,-P10_1
,-P10_2
,-P10_3
,-P10_4

# User LED2
,P10_5

# Bluetooth
,-P10_6

# User LED1
,P10_7

# Bluetooth
,-P11_0

# PCKL level translator
,-P11_1

# Bluetooth
,-P11_2

# Int pressure sensor
,P11_3

# Wifi
,-P11_4

# Not connected
#,-P11_5

# Wifi
,-P11_6

# Not connected
#,-P11_7

# Wifi
,-P12_0
,-P12_1
,-P12_2

# I2S FYSYNC
,P12_3

# Wifi
,-P12_4
,-P12_5

# J17 expansion connector
,P13_0
,P13_1
,P13_2
,P13_3
,P13_4
,P13_5
,P13_6
,P13_7

# Analog microphones
,P14_0
,P14_1
,P14_2
,P14_3
,P14_4
,P14_5
,P14_6
,P14_7

# J17 expansion connector
,P15_0
,P15_1
,P15_2
,P15_3
,P15_4
,P15_5
,P15_6
,P15_7

# J14 connector
,P16_0
,P16_1
,P16_2
,P16_3
,P16_4
,P16_5
,P16_6
,P16_7
,P17_0
,P17_1
,P17_2
,P17_3
,P17_4
,P17_5

# Boot
,-P17_6

# J14 connector
,P17_7

# Oscillators
,-P18_0
,-P18_1
,-P19_0
,-P19_1

,-P20_0
# Serial Int config
,-P20_1
,-P20_2

# Int Radar
,P20_3

# USER LED RGB G
,P20_4
# USER LED RGB B
,P20_5
# USER LED RGB R
,P20_6

# Radar reset
,P20_7

# Wifi
,-P21_0

# I2S
,P21_1
,P21_2
,P21_3

# Radar SPI
,P21_4
,P21_5
,P21_6
,P21_7
Loading
Loading