Hi,All
I have been using imx8qm MEK this development board recently.
I want to add a i2c radio device on the base board ,but the schematics are incomplete.Is there an expanded i2c pin on the base board?
Thans
Hello,
No, all the I2C extension ports are described on both schematics.
Those I2C devices corresponds to:
In the case of AUX I2C (in i.MX8QM) is connected to an I2C buffer on I2C4:
So, you need to add it on device tree.
Best regards.
Hi
Do you want to connect an external I2C device?
I am not using the I2C interface on the AUX I2C base.
I selected a set of I2C pins on the backplane.
This is the location of the baseboard schematic:
This is the actual location:
Last modified device tree:
Hi
Do you want to connect an external I2C device?
I'm not using the AUX I2C pins on this base,I selected a set of I2C pins based on the schematic of the baseboard.
The picture below is its location in the base plate schematic diagram:
The picture below shows its actual location on the back of the chassis:
At the locations of resistors R110 and R111,but I forgot whether there was a resistor at this location, it's been too long.After you are connected and can use I2C-tools to scan your I2C device address, you still need to modify the device tree.
Modify imx8qm-mek.dts:
The pins you suggested were not connected, so I decided to use pins 9 and 10 of J26.
The I2C worked successfully.
It seems that no special DTS changes were necessary.
However, when I2C communication was performed after the connection was made, the following Kernel Panic occurred.
Did the same phenomenon occur?
[ 474.354231] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: i2cback_handle_int+0x570/0x5c8
[ 474.365844] CPU: 0 PID: 459 Comm: irq/394-xen-i2c Not tainted 5.4.70-2.3.0+g4f2631b022d8 #1
[ 474.375027] Hardware name: Freescale i.MX8QM MEK (DT)
[ 474.380628] Call trace:
[ 474.383384] dump_backtrace+0x0/0x140
[ 474.387456] show_stack+0x14/0x20
[ 474.391160] dump_stack+0xb4/0x114
[ 474.394956] panic+0x158/0x324
[ 474.398366] print_tainted+0x0/0xa8
[ 474.402257] i2cback_handle_int+0x570/0x5c8
[ 474.406905] i2cback_be_int+0x20/0x40
[ 474.410990] irq_thread_fn+0x28/0x98
[ 474.414969] irq_thread+0x148/0x240
[ 474.418860] kthread+0x138/0x158
[ 474.422467] ret_from_fork+0x10/0x1c
[ 474.426456] SMP: stopping secondary CPUs
[ 474.430832] Kernel Offset: disabled
[ 474.434704] CPU features: 0x0002,2000200c
[ 474.439162] Memory Limit: none
[ 474.442586] ---[ end Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: i2cback_handle_int+0x570/0x5c8 ]---
(XEN) Watchdog timer fired for domain 0
(XEN) Hardware Dom0 shutdown: watchdog rebooting machine
Hi
Sorry, I have never encountered this situation.
I modified the device tree to transplant my driver. After my testing, my driver and I2C device are normal.
Can you provide some more detailed information?
BR
Tamako