I notice that sometimes IR IDs line up with the tables here TISCI 11.00.09 interrupt IDs, but not always. I also notice there seems to be no consistency between peripherals, and between operating systems. Who is making the decisions, is there any standard to follow?!? I’d assume following the TISCI defaults makes the most sense. I am not understanding things the best?
Anyway, what I noticed with I2C:
Zephyr I2C
With Zephyr I see that the IR IDs for I2C2 - 6 from the zephyr device tree line up with the TISCI table linked above. Not sure what is up with I2C0 and I2C1, little schizoid, but whatever, mainly I see things lining up like how I would expect.
Zephyr DT: zephyr/dts/arm/ti/j721e_main_r5.dtsi at be667e782692bebf5f7f72b80c77b7a4f3c38a0b · malto101/zephyr · GitHub
Screenshot from TISCI table:
Linux I2C
The Linux DT does not lineup with the TISCI tables…
Linux DT: BeagleBoard-DeviceTrees/src/arm64/ti/k3-j721e-main.dtsi at dd3342c2a3e6df6ee02eaa7083d3ad66bd3bfe82 · beagleboard/BeagleBoard-DeviceTrees · GitHub
Screenshot from TISCI table (DOES NOT MATCH WITH LINUX DT):
Something odd I notice…the interrupt ID’s for I2C on Linux seem be simply the first 3 digits from the I2C base addresses…WHAT…ok
I do not believe taking the 3 high digits from the base address is a standard. Look at MCSPI. As far as I can tell, random numbers grabbed from a bowl of dice. These number do not line up with anything from what I can tell. Not the TISCI tables, not the high 3 base address digits.
What is going on here? Why do all these number seem so random. Are there several unpublished random standards that people are going by? Could I simply change these numbers as I please?