JackOfAll wrote: > Steen, > > Can you please confirm which kernel branch you are using? When I looked, > (quickly, I admit), that patch I pointed out to set up the I2S GPIO pins > depending on B or B+ wasn't in the 3.15.y branch, only 3.12.y. > > Although I'm still running on Pidora, if you let me know which kernel > branch you are building from, and any other patches you are applying, > and post your kernel config..... I'll test the built kernel that results > from building with your config, for I2S out, on both B and B+. > > Greg, > > Don't worry about the non-compile issue with the IQaudIO driver on 3.15. > I see what is going on there. Easily fixable, to get the codec compiled. > Whether it works or not, is another matter. LOL. (Good point made in the > comments on that bug. These guys really must try and upstream their > driver stuff at the earliest opportunity if they want to track > mainline.) But it would be good to know exactly what branch Steen is > using, before I go off at a tangent. > > For what I'm up to with Pidora, I was going to stick to the 3.12.y > kernel branch. But as I'm currently testing I2S out of both B and B+ > into a re-clocker, I will happily switch to whatever Steen is using to > build kernels and try and make sure you guys wanting I2S out of the Pi > with pico, have a working solution on both B and B+.
Hi Clive Thanks for the offer, I' currently trying to make a piCorePlayer based on the 3.15 kernel, but as already mentioned it won't finish the build process because of the IQaudIO driver problem. It seems like this problem with the IQaudIO has been fixed a few hours ago (I haven't tested it yet) https://github.com/raspberrypi/linux/commit/dfa5ead35282600230fa6bf91ce03bcc23d12602 Whether version 3.15 needs the patch for the I2S you mentioned - I don't know. But I'm confident that you will know the answer. Could I please ask for your guidance now you offered help with the raspberry kernel. I have this annoying problem that some of the piCorePlayer versions are unable to output more that 48khz via HDMI whereas others can output up to 192khz. The problem is I don't know what the problem is. Every time I build a new kernel and new drivers I sort of hack the bcm2835-pcm.c file before I build it. Original version: Code: -------------------- /* hardware definition */ static struct snd_pcm_hardware snd_bcm2835_playback_hw = { .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000, .rate_min = 8000, .rate_max = 48000, .channels_min = 1, .channels_max = 2, .buffer_bytes_max = 128 * 1024, .period_bytes_min = 1 * 1024, .period_bytes_max = 128 * 1024, .periods_min = 1, .periods_max = 128, }; static struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw = { .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000, .rate_min = 44100, .rate_max = 48000, .channels_min = 2, .channels_max = 2, .buffer_bytes_max = 128 * 1024, .period_bytes_min = 1 * 1024, .period_bytes_max = 128 * 1024, .periods_min = 1, .periods_max = 128, }; -------------------- My changed version: Code: -------------------- /* hardware definition */static struct snd_pcm_hardware snd_bcm2835_playback_hw = { .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE, .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_192000, .rate_min = 8000, .rate_max = 192000, .channels_min = 1, .channels_max = 2, .buffer_bytes_max = 128 * 1024, .period_bytes_min = 1 * 1024, .period_bytes_max = 256 * 1024, .periods_min = 1, .periods_max = 256, }; static struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw = { .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE, .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_44100_192000, .rate_min = 44100, .rate_max = 192000, .channels_min = 2, .channels_max = 2, .buffer_bytes_max = 128 * 1024, .period_bytes_min = 1 * 1024, .period_bytes_max = 256 * 1024, .periods_min = 1, .periods_max = 256, }; -------------------- Sometimes it is OK but for some versions it will only output 48 khz. piCorePlayer1.15bi will output up to 192 khz whereas piCorePlayer1.15a, 1.16 and 1.16a only output 48khz. Do you have an idea where I should look? Steen NB - this is the config file I use for building the kernel for piCorePlayer 16211 (you probably need to remove the cross-compiler path) +-------------------------------------------------------------------+ |Filename: config.txt | |Download: http://forums.slimdevices.com/attachment.php?attachmentid=16211| +-------------------------------------------------------------------+ piCorePlayer a small player for the Raspberry Pi in RAM. Homepage: https://sites.google.com/site/picoreplayer/home *Please 'donate' (https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=U7JHY5WYHCNRU&lc=GB¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) if you like the piCorePlayer* ------------------------------------------------------------------------ sbp's Profile: http://forums.slimdevices.com/member.php?userid=37237 View this thread: http://forums.slimdevices.com/showthread.php?t=97803 _______________________________________________ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix