Hello again, I went a bit further into my investigation. Here are the results:
> The problem I´m facing is with the sync_serial driver (SPI driver). I > wanted to try it out, but I have the following message when starting > linux: > ETRAX100LX sync_serial: Could not allocate IO group for port 1 > > I included the driver, configured for the sync serial port 1 (sser3). > The only configured serial port is the port 0 (for the debug console). > > I´m going further in checking why there is a conflict (currently in > io_interface_mux.c). To debug, it would be much easier for me to have > the sync_serial driver as module. Did somebody create it? > (see http://mhonarc.axis.se/dev-etrax/msg08321.html, the driver has to > be modified to be able to be used as a module; if somebody did it, I > wouldn´t lose too much time...) io_interface_mux.c is responsible for the registration of the device drivers and allows (or not) the multiplexing of the interfaces. For this purpose, devices groups are created: static struct interface interfaces[] = { /* Begin Non-multiplexed interfaces */ { .ioif = if_serial_0, .groups = 0, .gpio_g_in = 0, .gpio_g_out = 0, .gpio_b = 0 }, /* End Non-multiplexed interfaces */ { .ioif = if_serial_1, .groups = group_e, .gpio_g_in = 0x00000000, .gpio_g_out = 0x00000000, .gpio_b = 0x00 }, { .ioif = if_serial_2, .groups = group_b, .gpio_g_in = 0x000000c0, .gpio_g_out = 0x000000c0, .gpio_b = 0x00 }, { .ioif = if_serial_3, .groups = group_c, .gpio_g_in = 0xc0000000, .gpio_g_out = 0xc0000000, .gpio_b = 0x00 }, ... for example. As I was trying to use sync serial 3, its definition is: { .ioif = if_sync_serial_3, .groups = group_c | group_f, .gpio_g_in = 0xc0000000, .gpio_g_out = 0xc0000000, .gpio_b = 0x80 }, but sync serial 3 as nothing to do with the group f (syncser1, i2c ,usb1, scsi...) and has only to be defined in group c (common pins with serial 3, scsi8_0 and ata), therefore it´s new definition is: { .ioif = if_sync_serial_3, .groups = group_c, .gpio_g_in = 0xc0000000, .gpio_g_out = 0xc0000000, .gpio_b = 0x80 }, And then I can use this syncser3 :) Now I´m trying to have the real SPI behaviour on the syncser3 (MISO, MOSI and CLK which clocks only when data is on the bus). I still didn´t find any solution to stop the clock when no data is sent. Do you have any advice? Thanks Teddy
