DE1-SoC/Linux - Access to GPIO, I2C, ADC, etc

Greetings forum,

Somewhat of a noob when it comes to Linux/FPGA.

I have a DE1-SoC running the Ubuntu installation found at the Terasic website. The goal for my project is to interface a DAC (LTC2607) with the 2x7 LTC header port, as well as interface with the onboard ADC.

It is my understanding that the installation of Ubuntu found at the Terasic website has all the pre-loaded drivers to access the FPGA hardware, so I compiled the increment_led.c example (, but when I ran the program, the only thing that happened was my screen went black and I had to restart my computer.

Do I need some additional kernel configurations, like the altera-opensource linux-socfpga from Github ( If I do, what additional packages to I have to install in order to interface with the GPIO, I2c and SPI/ADC controllers?

It is my understanding that the above (altera-opensource/linux-socfpga) makes it so that you don’t need to hard code any kernel drivers to activate/access the FPGA peripherals.

Thank you for your help.

I am in the same position. I started using DE1-SoC with Linux UP distribution which had a lot of support including all the INTEL documents. But when I installed the Ubuntu version of Linux from Terasic website for DE1-SoC, I found myself in a very limited environment.

In Linux UP distribution I was usig DE1-SoC computer which allowed me access to ADC on the FPGA. But, now with Ubuntu installed, the the hardware programming file is different from the DE1-SoC computer system so I do not have access to the same FPGA devices as I had.

My guess was, I need to design a Qsys platform with ADC included and follow Embedded Linux Beginners Guide to get everything working and then I could access the ADC channels from Linux through MM interface by mapping physical addresses to dev/mem in C.

Can anyone clarify my confusion? What should I follow to be able to access ADC channels from Linux?

Thank you.