Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Got openSUSE on my box. Where I2C bus of display?
#1
recently, I've install some kind of openSUSE distro on external flash drive and run it on my N3200PRO. Here is how I done it. (in Russian, translate it with Google).
The question is - What H/W drives I2C bus which connects to Panel buttons and LCM display?

My investigation was:
1. on official FW I can write to /proc/thecus_io to turn display and button's LED OFF
Code:
echo "LCM_DISPLAY 0" > /proc/thecus_io
echo "OSD_LED 0" > /proc/thecus_io
2. In N3200PRO_3.00.03_GPL source code i found file linux/drivers/i2c/chips/n3200plus_io.c with pretty Usage and tails that all things done via I2C bus.
3. The only I2C (SMBus) I found in dmesg is CS5535 ACB0 SCx200 device
sensors-detect got this
Quote:Driver `f75375s':
* Bus `CS5535 ACB0'
Busdriver `scx200_acb', I2C address 0x2e
Chip `Fintek F75375S/SP' (confidence: 7)
Unfortunately, F75387 is a system hardware monitoring and automatic fan speed controlling IC specific designed for graphic cards and PC etc. © datasheet


Maybe I miss the other one? there are few unrecognized PnP ISA devices
Have I to compile native driver and whole i2c system from sources ( ) or using i2cdetect/get/set with correct ARG would be enough?
Quote: │─┬─ISA PnP │
│ ├┬─Unclassified Device │
│ │├──Bus: ISA │
│ │├──Card Type: PnP ┬
│ │├──Class (spec): Unclassified device │
│ │├──Class: Unclassified device │
│ │├──Device Identifier (spec): 134145 │
│ │├──Hwcfg Bus: isa │
│ │├──Model: Unclassified device │
│ │├──Old Unique Key: ujpW.gNN83gfynbD │
│ │├──Subvendor Identifier: 147920 │
│ │├──Subvendor: PnP │
│ │├──Sysfs ID: /devices/pnp0/00:00 │
│ │├──Sysfs ID: 00:00 │
│ │└──Unique Key: z9pp.gNN83gfynbD │
│ ├+─Unclassified Device │
│ ├+─Unclassified Device │

│─┬─PCI │
│ ├+─CS5536 [Geode companion] Host Bridge │
│ ├+─Geode LX │
│ ├+─Geode LX AES Security Block │
│ ├+─PRO/1000 MT Network Connection │
│ ├+─PRO/1000 MT Network Connection │
│ ├+─SiI 3114 SATALink Controller │
│ ├┬─CS5536 [Geode companion] ISA │
│ │├──Bus: PCI │
│ │├──Class (spec): ISA bridge │
│ │├──Class: Bridge │
│ │├──Device Identifier: 73872 ┬
│ │├──Device: CS5536 [Geode companion] ISA │
│ │├──Driver: cs5535-mfd │
│ │├┬─Drivers │
│ ││├──Active: Yes │
│ ││├──modprobe: Yes │
│ ││└┬─modules │
│ ││ └──modprobe cs5535_mfd │
│ │├──Hwcfg Bus: pci │
│ │├──Kernel Driver: cs5535_mfd │
│ │├──Model: AMD CS5536 [Geode companion] ISA │
│ │├──Old Unique Key: Z35O.k_HiyHkCffC │
│ │├+─Resources │
│ │├──Revision: 3 │
│ │├──Slot ID: 15 │
│ │├──Sysfs ID: /devices/pci0000:00/0000:00:0f.0 │
│ │├──Sysfs ID: 0000:00:0f.0 │
│ │├──Unique Key: _+Pw.k_HiyHkCffC │
│ │├──Vendor Identifier: 69666 │
│ │├──Vendor: AMD │
│ │└──modalias: pci:v00001022d00002090sv00000000sd00000000bc06sc01i00
Reply
#2
Hrrrr. Where were my eyes?
intent look at linux/drivers/i2c/chips/n3200plus_io.c and viola
Code:
static struct i2c_driver pic16f877_driver = {
    .driver = {
               .owner = THIS_MODULE,
               .name = "pic16f877",
               },
    .probe = pic16f877_probe,
    .remove = __devexit_p(pic16f877_remove),
    .id_table = pic16f877_id,

    .class = I2C_CLASS_HWMON,
    .detect = pic16f877_detect,
    .address_list = pic16f877_addr,
};
static struct i2c_client *pic16f877_client = NULL;

So, what's this pic16f877?
Quote:PIC16F87X Data Sheet 28/40-Pin 8-Bit CMOS FLASH Microcontrollers
Microcontroller Core Features:
...
Synchronous Serial Port (SSP) with SPI (Master mode) and I2C  (Master/Slave)
...

And It's still on cs5535 bus. Maybe waked up by GPIO operations it listen for I2C commands and translates them to display. And vice versa for panel buttons.

I haven't idea how to work with microcontrollers from shell without risk of get AIDS .. PITA :lol: therefore, I have to compile that module and use it as in Thecus FW. GPL forever
[SOLVED] :-)
Reply
#3
The tail of my next post is about OpenVPN & UPnP and GPT. The head is about I2C - skip it. Smile
To be continued...
Reply
#4
OK. Wanted someone, who can explain me why PIC16F87 answers by GPIO but don't registers I2C driver on bus during kernel module initialization?

I've got the changes in recent kernels in part of CS5535 system. It become MFD and registers 5 buses (ISA with all serial stuff included). Also, registers GPIO I/O range itself at boot time. I remove this registration from module init function.
As I understand, PIC accessible by GPIO.
i2cdetect can't find anything on bus at 0x36 address (thermal sensor chip is present, though)

Does anybody have motherboard schematic in part of connections of south bridge and that controller?
Maybe someone have description how PIC works when system boots?

Any suggestions are appreciated, especially from Thecus team Wink

P.S. as far thermal sensor driver got the bus, I'll take a look at it. But it's not straight way to the aim.
Reply
#5
OK. Wanted someone, who can explain me why PIC16F87 answers by GPIO but don't registers I2C driver on bus during kernel module initialization?

I've got the changes in recent kernels in part of CS5535 system. It become MFD and registers 5 buses (ISA with all serial stuff included). Also, registers GPIO I/O range itself at boot time. I remove this registration from module init function.
As I understand, PIC accessible by GPIO.
i2cdetect can't find anything on bus at 0x36 address (thermal sensor chip is present, though)

Does anybody have motherboard schematic in part of connections of south bridge and that controller?
Maybe someone have description how PIC works when system boots?

Any suggestions are appreciated, especially from Thecus team Wink

P.S. as far thermal sensor driver got the bus, I'll take a look at it. But it's not straight way to the aim.
Reply
#6
Ok. While I'm stuck here is not finished post about my RnD in this field (in Russian. Use G-translate)
One guy from Italy (Piero Mannelli) joined to struggle with LCD. Hope together we'll hack it.

Though any help still appreciated. Wink
PIC ROM sources, etc. Smile
Reply
#7
Ok. While I'm stuck here is not finished post about my RnD in this field (in Russian. Use G-translate)
One guy from Italy (Piero Mannelli) joined to struggle with LCD. Hope together we'll hack it.

Though any help still appreciated. Wink
PIC ROM sources, etc. Smile
Reply
#8
Any news about this issue?
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Got openSUSE on my box. Where I2C bus of display? 0 383,202 Less than 1 minute ago
Last Post:

Forum Jump:


Users browsing this thread: 1 Guest(s)