$_tcmods_conf = getTcmodsConf(); $clock_radio_starttime = $_tcmods_conf['clock_radio_starttime']; $clock_radio_stoptime = $_tcmods_conf['clock_radio_stoptime']; break; // TC (Tim Curtis) 2015-02-25: process i2s driver select request // TC (Tim Curtis) 2015-02-25: process i2s driver select request case 'i2sdriver': // Remove any existing dtoverlay line(s) sysCmd('sed -i /dtoverlay/d /boot/config.txt'); // Set i2s driver $kernelver = getKernelVer($_SESSION['kernelver']); if ($kernelver == '3.18.5+' || $kernelver == '3.18.11+' || $kernelver == '3.18.14+') { _setI2sDtoverlay($args); // Dtoverlay (/boot/config.txt) } else { _setI2sModules($args); // Modules (/etc/modules) } break; // TC (Tim Curtis) 2015-02-25: process kernel select request // TC (Tim Curtis) 2015-02-25: process kernel select request case 'kernelver': sysCmd("/var/www/tcmods/" . MOODE_RELEASE . "/cmds/tcmods.sh install-kernel " . getKernelVer($args)); break; // TC (Tim Curtis) 2015-04-29: process timezone select request // TC (Tim Curtis) 2015-04-29: process timezone select request case 'timezone': sysCmd("/var/www/tcmods/" . MOODE_RELEASE . "/cmds/tcmods.sh set-timezone " . $args); break; // TC (Tim Curtis) 2015-04-29: process host name change request // TC (Tim Curtis) 2015-04-29: process host name change request
function _setI2sDtoverlay($device) { if ($device == 'I2S Off') { _setI2sModules('I2S Off'); } else { $text = "# Device Tree Overlay being used\n"; file_put_contents('/etc/modules', $text); switch ($device) { case 'Generic': // use hifiberry driver // use hifiberry driver case 'G2 Labs BerryNOS': // use hifiberry driver // use hifiberry driver case 'G2 Labs BerryNOS Red': // use hifiberry driver // use hifiberry driver case 'Durio Sound PRO': case 'Hifimediy ES9023': case 'Audiophonics I-Sabre DAC ES9023 TCXO': case 'HiFiBerry DAC': sysCmd('echo dtoverlay=hifiberry-dac >> /boot/config.txt'); break; case 'HiFiBerry DAC+': sysCmd('echo dtoverlay=hifiberry-dacplus >> /boot/config.txt'); break; case 'HiFiBerry Digi(Digi+)': sysCmd('echo dtoverlay=hifiberry-digi >> /boot/config.txt'); break; case 'HiFiBerry Amp(Amp+)': sysCmd('echo dtoverlay=hifiberry-amp >> /boot/config.txt'); break; case 'RaspyPlay4': case 'IQaudIO Pi-DAC': sysCmd('echo dtoverlay=iqaudio-dac >> /boot/config.txt'); break; case 'IQaudIO Pi-DAC+': case 'IQaudIO Pi-AMP+': case 'IQaudIO Pi-DigiAMP+': sysCmd('echo dtoverlay=iqaudio-dacplus >> /boot/config.txt'); break; case 'RPi DAC': // exception since there is no dtoverlay driver for this dac in 3.18 sysCmd('echo dtoverlay= >> /boot/config.txt'); $text = "# " . $device . "\n"; $text .= "snd_soc_bcm2708\n"; $text .= "snd_soc_bcm2708_i2s\n"; $text .= "bcm2708_dmaengine\n"; $text .= "snd_soc_pcm5102a\n"; $text .= "snd_soc_rpi_dac\n"; file_put_contents($file, $text); break; } } }