PSoC 4 Silicon ID, Family, and Revision

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
CoreyW_81
Employee
Employee
50 sign-ins 50 replies posted 25 replies posted

When I program a PSoC 4 device, the programmer shows:

** Silicon: 0x1901, Family: 0xA9, Rev.: 0x21 (B0)
** Detected Device: CY8C4045AZI-S413

I would like to grab this data into my application so I can send it to another device via I2C.  I've been able to find that the silicon ID is here:

#define CYREG_SFLASH_SILICON_ID 0x0ffff144u
...and I do read out 0x1901 from this location

Poking around, I'm able to find the A9 here
#define CYREG_ROMTABLE_PID0 0xf0000fe0u

However, I'm unable to find any information on the silicon revision noted in the Registers TRM, and poking around I'm unable to find the "0x21" in any memory locations.

At what register location in the part can I find the Revision information?
Are the other locations I noted the proper locations for Silicon ID and Family?

Thank you.

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
AlenAn14
Moderator
Moderator
Moderator
500 replies posted 100 solutions authored 250 replies posted

Hi @CoreyW_81 ,

The locations you have mentioned are correct, but you can also find the all 3 sets of data, including the revision ID,  by using system calls as mentioned in section 19.5.1 of the PSoC 4000 Architecture TRM.

I am attaching here a firmware source code which you can use as reference for implementing the system calls. I referred section 19.4.1, Performing a system call, of the PSoC 4000 Architecture TRM for implementing this.

Hope this helps

Regards
Alen

View solution in original post

0 Likes
5 Replies
BiBi_1928986
Level 7
Level 7
First comment on blog 500 replies posted 250 replies posted

Hello.

You can verify this data with that stored in Metadata area of the generated hex file.
Metadata starts at 0x9050 0000.
The format of Metadata is described in the PSoC 4xxx Programming Specification document.  See Sections 2.3 and 4.5.
https://www.infineon.com/dgdl/Infineon-CY8C4xxx_CYBLxxxx_Programming_Specifications-Programming+Spec...

I'm not aware of any published database for device ID numbering.

BTW, there is also a UniqueSiliconID which relates to the silicon wafer during manufacturing.  Not all that useful, but is often confused with Silicon Device ID.

0 Likes
CoreyW_81
Employee
Employee
50 sign-ins 50 replies posted 25 replies posted

You missed the main point of my query.  I want to gather this information FROM MY APPLICATION running on the PSOC 4.  I can find 3 of the 4 bytes in the memory space.

1) I wanted to know if those locations are correct.

2) I want to know where I can find the Revision byte in the memory space.

Thanks.

0 Likes

Hi.

Section 4.5 of the programming spec has code to read all the data you're looking for.  Write a small project, compile the code, read the output listing to find the absolute SROM memory locations and compare to what you have.

0 Likes
lock attach
Attachments are accessible only for community members.
AlenAn14
Moderator
Moderator
Moderator
500 replies posted 100 solutions authored 250 replies posted

Hi @CoreyW_81 ,

The locations you have mentioned are correct, but you can also find the all 3 sets of data, including the revision ID,  by using system calls as mentioned in section 19.5.1 of the PSoC 4000 Architecture TRM.

I am attaching here a firmware source code which you can use as reference for implementing the system calls. I referred section 19.4.1, Performing a system call, of the PSoC 4000 Architecture TRM for implementing this.

Hope this helps

Regards
Alen

0 Likes
AlenAn14
Moderator
Moderator
Moderator
500 replies posted 100 solutions authored 250 replies posted

Hi @CoreyW_81 ,

Glad your query is resolved.
Please feel free to post any queries or issues you may face on Infineon products in the community and we will be happy to help.

Warm Regards
Alen

0 Likes