• Stars
    star
    438
  • Rank 99,453 (Top 2 %)
  • Language
    C
  • License
    Other
  • Created about 12 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Linux kernel variant from Analog Devices; see README.md for details

Linux kernel - variant from Analog Devices, Inc.

Table of contents

  1. Description
  2. How to build
  3. Release branches
  4. Rebased branches
  5. Raspberry Pi branches
  6. Intel/Altera branches

Description

The Linux kernel in this repository is the Linux kernel from Xilinx together with drivers & patches applied from Analog Devices.

Details about the drivers that are of interest [and supported] by this repository can be found on the Analog Devices wiki. This readme focuses on details specific to how this code is structured/organized, how it was derived, etc.

The current master is based on xilinx v2022.2. For details about the merge see commit 376cf0bcf46b ("Merge tag 'xilinx-v2022.2' of https://github.com/Xilinx/linux-xlnx.git"). In this Xilinx release, the current version of upstream Linux is Linux 5.15.

For legacy reasons, the xcomm_zynq branch is still available and should be in-sync with current master. That branch used to be the old master branch.

How to build

For build instructions check the wiki.

Release branches

All release branches have the [YEAR]_R[NUM] format. There are some special release branches sometimes (like 2014_R2_altera), because it wasn't always possible to match the Linux repo between Xilinx & Intel/Altera.

Each release is matched with a release from the HDL repo. The branching name/model for the HDL repo differs a bit from the one in this repo, but the matching should be obvious. Therefore, each kernel in the release branches is be built using the toolchains from a specific version of Vivado & Quartus. A matching of these can be found on the wiki. Release branches can be built using other GCC toolchains, but in the official SD-card images provided, they will use the toolchains from Vivado/Quartus.

Rebased branches

Starting with branch adi-4.9.0 there are rebased branches. They're typically rebased branches from Xilinx with the ADI patches on top so that it's easier to identify patches that are not yet upstreamed.

For adi-4.9.0 the base was branch xlnx_rebase_v4.9 at commit d45e196f59364e9f5eafe46027a7d2af349083974 in the ADI repo and commit 45e196f59364e9f5eafe46027a7d2af349083974 in the Xilinx repo. All ADI patches & drivers up to a specific point in time were cherry-picked to that branch from master. Note that since the adi-4.9.0 branch is the first rebased branch, it's not particularly the best rebase that could have been done, but it should provide some patches that are somewhat reasonable to take and apply on top of an upstream 4.9 kernel [after some polishing].

The latest rebased branch depends on the current linux version supported in master. At the time of writing it is 5.10 so that adi-5.10.0 is the latest. Also note that a diff between the latest rebased branch and master (git diff master adi-5.10.0) must be NULL.

Raspberry Pi branches

These provide a kernel that is good to run on a Raspberry Pi board. All the drivers present in the master branch should be automatically cherry-picked into the latest rpi branch.

As in the rebased branches, the latest rpi branch should be in accordance with the current kernel version supported in master. At the time of writing, the kernel version in master is 5.10 so that the correspondent latest rpi branch is rpi-5.10.y.

Intel/Altera branches

Because the kernel versions that Intel/Altera were usually not in sync with Xilinx's, altera-* branches were created. These are altera_4.0, altera_4.4, altera_4.6, altera_4.9.

These branches are derived from the Intel/Altera linux kernel repo, together with some merged versions of old master branches.

The hope is that with the upcoming Linux 4.19, these branches would stop existing, since Intel/Altera seems to keep in sync their kernel version with more recent [non-LTS kernels]. Typically the releases/references that are provided for these boards should already be in the mainline kernel, so these branches should no longer be needed.

More Repositories

1

hdl

HDL libraries and projects
Verilog
1,215
star
2

no-OS

Software drivers in C for systems without an operating system
C
956
star
3

libiio

A cross platform library for interfacing with local and remote Linux IIO devices
C
416
star
4

scopy

A software oscilloscope and signal analysis toolset
C++
327
star
5

plutosdr-fw

PlutoSDR Firmware
Shell
249
star
6

iio-oscilloscope

A GTK+ based oscilloscope application for interfacing with various IIO devices
C
222
star
7

pyadi-iio

Python interfaces for ADI hardware with IIO drivers (aka peyote)
Python
144
star
8

MaximAI_Documentation

START HERE: Documentation for ADI's MAX78000 and MAX78002 Edge AI devices
91
star
9

Linduino

Code for the Linduino, An Arduino Uno-based board that is compatible with many Analog Devices evaluation boards
C++
89
star
10

gr-iio

IIO blocks for GNU Radio
C++
86
star
11

ai8x-training

Model Training for ADI's MAX78000 and MAX78002 Edge AI Devices
Jupyter Notebook
81
star
12

fpgahdl_xilinx

(RETIRED see https://github.com/analogdevicesinc/hdl instead) FPGA interface reference designs for Analog Devices mixed signal IC products
C
81
star
13

plutosdr_scripts

Small scripts and examples to make interacting with the PlutoSDR easier
C
77
star
14

MathWorks_tools

Scripts and tools created by ADI to be used with MATLAB and Simulink with ADI products
MATLAB
72
star
15

aditof_sdk

Analog Devices 3D ToF software suite
C++
70
star
16

msdk

Software Development Kit for Analog Device's MAX-series microcontrollers
C
63
star
17

ad5940-examples

AD594x related application examples and block level examples.
60
star
18

EVAL-ADICUP360

Detailed User Guide for the EVAL-ADICUP360, showing how to use the software and hardware in combination. As well as a link to download the CrossCore Embedded Studio IDE.
C
56
star
19

TransceiverToolbox

MATLAB toolbox for ADI transceiver products
MATLAB
56
star
20

libad9361-iio

IIO AD9361 library for filter design and handling, multi-chip sync, etc.
C
55
star
21

ad936x-filter-wizard

MATLAB-based FIR filter design
MATLAB
51
star
22

ai8x-synthesis

Quantization and Synthesis (Device Specific Code Generation) for ADI's MAX78000 and MAX78002 Edge AI Devices
Python
50
star
23

plutosdr-m2k-drivers-win

Windows USB drivers for PlutoSDR and ADALM2000
46
star
24

m2k-fw

M2k firmware for the ADALM-2000 Active Learning Module
Shell
44
star
25

Pixelpulse2

Pixelpulse2 is a user interface for analog systems exploration.
QML
43
star
26

gr-ofdmradar

A simple OFDM Radar implementation
C++
40
star
27

arduino

Adruino Sketches
C++
37
star
28

ad5940lib

Firmware library for AD594x and ADuCM355
C
34
star
29

ToF

C++
34
star
30

libm2k

A C++ library (bindings for Python and C#) for interfacing with the ADALM2000
MATLAB
30
star
31

buildroot

Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. Forked from https://git.busybox.net/buildroot/
Makefile
29
star
32

meta-adi

This is the Analog Devices Inc. Yocto/OpenEmbedded layer
Shell
29
star
33

EVAL-ADICUP3029

This repo includes examples which run on the EVAL-ADICUP3029 ARM Cortex-M3 processor development platform from Analog Devices.
C
29
star
34

libsmu

Software abstractions for the analog signal exploration tools.
Python
29
star
35

aducm355-examples

This repo includes examples for the Analog Devices ADUCM355 Precision Analog Microcontroller with Chemical Sensor Interface
C
25
star
36

VSCode-Maxim

VSCode project folders for the Analog Devices MSDK
Makefile
24
star
37

education_tools

Tools for education related platforms
AGS Script
23
star
38

TMC-EvalSystem

C
21
star
39

sharc-reusable-components

A collection of embedded C code packaged into a library of reusable components and starter examples designed to facilitate customers’ easy deployment into demo or production systems using a SHARC DSP
C
20
star
40

libtinyiiod

Tiny IIO Daemon Library
C
19
star
41

imu-ros2

A C++ ROS2 node that read sensor data from ADI IMU and publishes message to topic.
C++
18
star
42

adpd-drivers

Analog Devices Photometric Device Drivers
C++
18
star
43

HighSpeedConverterToolbox

MATLAB toolbox for ADI high speed converter products
MATLAB
18
star
44

m1k-fw

Firmware for the ADALM1000.
C
17
star
45

vampyre

Python
16
star
46

MAX78xxx-RefDes

MAX78000 and MAX78002 Reference Designs
C
16
star
47

linux_image_ADI-scripts

ADI Scripts for Linux images
Shell
15
star
48

alice

Active Learning Interface for Circuits and Electronics
14
star
49

precision-converters-firmware

Precision Converters Embedded Firmware Repository
C
14
star
50

openocd

OpenOCD provides on-chip programming and debugging support with a layered architecture of JTAG interface and TAP support. Clone of http://git.code.sf.net/p/openocd
C
14
star
51

genalyzer

Library of DSP functions for RF measurements
C++
14
star
52

lnxdsp-adi-meta

Yocto meta layer for Analog Devices ADSP-SC5xx based EZ-KIT boards
C
13
star
53

max32625pico-firmware-images

13
star
54

libiio-matlab

MATLAB bindings for libiio
MATLAB
13
star
55

ev-cbm-voyager

Wireless Industrial Condition Monitoring solution
Python
12
star
56

m1k-cad

ecad for the ADALM1000
Groff
12
star
57

codefusion-studio

ADI's Embedded Development Tools
TypeScript
11
star
58

jesd-eye-scan-gtk

JESD204 Eye Scan Visualization Utility
C
11
star
59

fru_tools

Tools to display/manipulate FMC FRU info
C
11
star
60

iio-fm-radio

Simple IIO FM Radio receive example
C
11
star
61

adi_3dtof_image_stitching

The ADI 3D ToF Image Stitching is a ROS (Robot Operating System) package for stitching Depth images from multiple ADTF3175D Time-Of-Flight sensors to expand the field of view.
C++
11
star
62

pyadi-jif

Python interface and configurator for the ADI JESD204 Interface Framework
Python
10
star
63

iolink

Python
10
star
64

iSensor-FX3-Eval

Analog Devices IMU/ADcmXL Evaluation GUI built on the iSensor-FX3-API (for EVAL-ADIS-FX3 board)
Visual Basic .NET
10
star
65

FreeRTOS

Analog Devices FreeRTOS repository
10
star
66

sam-audio-starter

The project is tailored for quick audio start-up with the SHARC Audio Module board. It uses the various reusable component building blocks to provide a simple example to customers to get started transferring audio.
C
9
star
67

tmcl_ros2

Official ROS2 Driver for Trinamic Motor Controllers (TMC) that uses Trinamic Motion Control Language (TMCL) protocol
Python
9
star
68

gmsl

Gigabit Multimedia Serial Link (GMSL) technology from Analog Devices, Inc. (ADI)
9
star
69

tmcl_ros

adi_tmcl (previously tmcl_ros) is the official ROS Driver for ADI Trinamic Motor Controllers (TMC) that uses Trinamic Motion Control Language (TMCL) protocol.
C++
8
star
70

PyTrinamicMicro

Python
8
star
71

ad937x-filter-wizard

MATLAB-based FIR filter and profile designer
C
8
star
72

iio-emu

Server application for libiio clients.
C++
8
star
73

sam-baremetal-sdk

SHARC Audio Module Bare Metal SDK
C
8
star
74

sigmadsp-genfirmware

SigmaDSP Firmware Utility for Linux
C
7
star
75

adi-imu-driver

C library to drive ADI IMUs
C
7
star
76

max78000-secure-loader

Secure boot loader for MAX78000
Python
7
star
77

rfsom-box-gui

GUI application for the RFSOM Box
C++
7
star
78

MAXREFDES1277

MAXREFDES1277 is a reference design that enables the evaluation of MAX17853/52 for battery management in a 48V system.
C++
6
star
79

RFMicrowaveToolbox

MATLAB Toolbox for ADI RF and Microwave Models and Control Interfaces
MATLAB
6
star
80

MAXREFDES1260

This repository is where you can download the firmware and PC GUI program of the MAXREFDES1260. It is a USB Type-C battery charging example using Maxim chips MAX14748 multi-cell battery charger and the MAX17261 fuel gauge.
C
6
star
81

lnxdsp-scripts

Yocto Set up scripts for configuring and building Linux for ADSP-SC5xx development boards.
Python
6
star
82

study-watch-sdk

This repository hosts the SDK for the Analog Devices Inc. study watch. You will find examples and documentation for the SDK.
Java
6
star
83

runtime-sharc-loader

Utility to boot SHARC applications from ARM core on ADSP-SC58x processors
C
5
star
84

TMCL-C-Examples

C
5
star
85

sigma-tcp

SigmaStudio Network Utility for Linux
C
5
star
86

AD5593-AuxIO-Win10-IoT

Win10 IoT command line auxiliary IO test utility for the AD5593
C++
5
star
87

AnalogRTCLibrary

MAX31331, MAX31334, MAX31328, MAX31341 and MAX31343 Arduino Drivers
C++
5
star
88

PrecisionToolbox

MATLAB toolbox for ADI precision data converter products
MATLAB
5
star
89

LabVIEW-Scripting-UI-Library

LabVIEW User Interface components providing basic text IDE features
LabVIEW
5
star
90

sensor-sw-pack

The Sensor Software package contains sensor class drivers and examples using various sensors such as ADXL362 Accelerometer, ADT7420 Temperature sensor, CN0397 Visible Light sensor and CN0357 Toxic Gas sensor. These applications use the ADICUP3029 hardware platform along with associated sensor shields.
HTML
5
star
91

aditof-sdk-rework

Analog Devices 3D ToF software suite (REWORK)
C++
4
star
92

SensorToolbox

MATLAB toolbox for ADI sensor products
MATLAB
4
star
93

gr-scopy

Scopy IIO blocks for GNU Radio
C++
4
star
94

libadrv9002-iio

Profile generation library for ADRV9002/3/4 transceivers
4
star
95

iio-osc-mingw

Scripts and patches to cross-compile the IIO Oscilloscope for MS Windows
Shell
4
star
96

adi_3dtof_adtf31xx

The ADI 3D ToF ADTF31xx is a ROS (Robot Operating System) package for working with ADI’s ADTF3175D ToF sensor.
C++
4
star
97

TMCL-Script-Examples

4
star
98

MAX32655_MAX30009

MAX32655 code to communicate with the MAX30009 through SPI
C
4
star
99

MAXREFDES1301

The MAXREFDES1301 reference design firmware enables quick evaluation of the MAX17852 and MAX17853 for 96V three-Wheeler BMS.
C++
4
star
100

wiki-scripts

A mixed set of scripts that are referenced in the Analog Devices wiki
Shell
4
star