October 24, 20232 yr This is my config : Odroid M1 (8G) with Armbian 6.6.0-rc6-edge-rk3568-odroid build myself. >root@yanas3:/dev# i2cdetect -l >i2c-3 i2c rk3x-i2c I2C adapter >i2c-6 i2c DesignWare HDMI I2C adapter >root@yanas3:/dev# i2cdetect -y 3 > 0 1 2 3 4 5 6 7 8 9 a b c d e f >00: -- -- -- -- -- -- -- -- >10: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- >20: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >70: -- -- -- -- -- -- -- -- My peripheral is an OLED screen SSD1306. It works perfectly with an Orange Pi5. It's connected to GPIO pin 1 (VDD), 3 (SDA),5 (SDL),9 (GND) but I can't see it. What am i doing wrong ?
October 25, 20232 yr On 10/24/2023 at 3:41 PM, Sebastien Motala said: What am i doing wrong ? The IOs of the expansion connector are multifunction IOs, so the deault configuration does not necessarily correspond to your use case. How did you wire up the corresponding i2c bus in DT?
October 25, 20232 yr Author I don't know what DT is. I add "overlays=rockchip-i2c0" to armbianEnv.txt
October 26, 20232 yr 7 hours ago, Sebastien Motala said: I add "overlays=rockchip-i2c0" to armbianEnv.txt I don't know what that overlay wires up but with proper wired DT you should get this: # i2cdetect -l i2c-0 i2c rk3x-i2c I2C adapter i2c-3 i2c rk3x-i2c I2C adapter i2c-6 i2c DesignWare HDMI I2C adapter
October 26, 20232 yr Author You're allright, I should see i2c-0 in /dev but the overlay from hardkernel use i2c3 in his rockchip-i2c0.dtbo file. # less /boot/dtb/rockchip/overlay/rockchip-i2c0.dtbo <D0>^M<FE><ED>^@^@^@<DF>^@^@^@8^@^@^@<CC>^@^@^@(^@^@^@^Q^@^@^@^P^@^@^@^@^@^@^@^S^@^@^@<94>^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^Afragment@0^@^@^@^@^@^C^@^@^@^D^@^@^@^@<FF><FF><FF><FF>^@^@^@^A__overlay__^@^@^@^@^C^@^@^@^E^@^^@^@^Gokay^@^@^@^@^@^@^@^B^@^@^@^B^@^ @^@^A__fixups__^@^@^@^@^@^C^@^@^@^U^@^@^@^N/fragment@0:target:0^@^@^@^@^@^@^@^ B^@^@^@^B^@^@^@ target^@status^@i2c3^
October 26, 20232 yr - backup your existing rk3568-odroid-m1.dtb - replace /boot/dtb/rockchip/rk3568-odroid-m1.dtb with the provided DTB - disable all currently applied overlays (the provided DTB has everything already wired up) - reboot and post the output of: # i2cdetect -y 0 rk3568-odroid-m1.dtb Edited October 28, 20232 yr by usual user Re-uploaded corrected DTB
October 27, 20232 yr Author Thank you for your reply. It works. root@yanas3:~# time i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- real 1m56.467s user 0m0.015s sys 0m0.000s But the display is very slow, it took nearly 2 minutes to display. What pins are activated on the GPIO for i2c0 ?
October 28, 20232 yr 11 hours ago, Sebastien Motala said: What pins are activated on the GPIO for i2c0 ? That was a good question. While researching the answer, I noticed that the basic DTB wires the i2c functionality to pads that are inaccessible on this device. After appropriate correction, the i2c functionality is now available on the documented pins of the board. I plugged in my LK-OLED1 display and it works as expected: # i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- I re-uploaded the corrected DTB in the previous post. Please download the DTB again to replace the wrong one.
October 29, 20232 yr Author Thank you, your DTB file works. But I have another problem the tty1 display on the oled screen. Where can i disabled this ?
October 29, 20232 yr On 10/29/2023 at 11:05 AM, Sebastien Motala said: Thank you, your DTB file works. Nice to hear, then I can issue my invoice now 😉 It is now your task to make my contributed knowledge easily available to all Armbian users. Prepare a PR so that my used overlay (which was applied to my provided DTB) will be included in the Armbian build system. And while you're at it, include this one (also applied to my provided DTB by default) as well. It simplifies GPIO handling and connector pinout identification immensely. If I am correctly informed, they have even simplified the overlay integration into the build system. All you have to do is make the overlay source available in an appropriate directory. To do this, I have attached the sources of both overlays to this post. Repairing the pinctrl in the base DTB is not that easy, for this you have to apply the attached patch to the board DTS and rebuild the base DTB. This is necessary so that the correct code artifacts can be integrated into the DTB, this cannot be corrected in a reasonable way with an overlay. And don't forget, you'll reap a lot of Armbian users who will be grateful for your contribution. Not to mention the fact that your desired functionality will be available out-of-the-box to everyone in the future. On 10/29/2023 at 11:05 AM, Sebastien Motala said: I have another problem the tty1 display on the oled screen. I'm guessing you only have the OLED display driver loaded in your system and no additional other. This then provides /dev/fb0, which in turn is assigned /dev/tty1 by the system. Usually, the console is also assigned to /dev/tty1 by default. On 10/29/2023 at 11:05 AM, Sebastien Motala said: Where can i disabled this ? I don't know the system you're using, but I always configure the console mapping with the kernel command line (/proc/cmdline). rk3568-odroid-m1-con1.dtsork3568-odroid-m1-lk-oled1.dtsospecify-pinctrl-for-i2c3-adapter-on-ODROID-M1.patch Edited February 9, 20242 yr by usual user rk3568-odroid-m1-lk-oled1.dtso with SPDX-License-Identifier uploaded
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.