Linux Audio

Check our new training course

In-person Linux kernel drivers training

Jun 16-20, 2025
Register
Loading...
v4.17
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Hardkernel's Exynos4412 based ODROID-X board device tree source
  4 *
  5 * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com>
  6 *
  7 * Device tree source file for Hardkernel's ODROID-X board which is based
  8 * on Samsung's Exynos4412 SoC.
  9 */
 10
 11/dts-v1/;
 12#include "exynos4412-odroid-common.dtsi"
 13
 14/ {
 15	model = "Hardkernel ODROID-X board based on Exynos4412";
 16	compatible = "hardkernel,odroid-x", "samsung,exynos4412", "samsung,exynos4";
 17
 
 
 
 
 18	memory@40000000 {
 19		device_type = "memory";
 20		reg = <0x40000000 0x3FF00000>;
 21	};
 22
 23	leds {
 24		compatible = "gpio-leds";
 25		led1 {
 26			label = "led1:heart";
 27			gpios = <&gpc1 0 GPIO_ACTIVE_LOW>;
 28			default-state = "on";
 29			linux,default-trigger = "heartbeat";
 30		};
 31		led2 {
 32			label = "led2:mmc0";
 33			gpios = <&gpc1 2 GPIO_ACTIVE_LOW>;
 34			default-state = "on";
 35			linux,default-trigger = "mmc0";
 36		};
 37	};
 38
 39	gpio_keys {
 40		pinctrl-0 = <&gpio_power_key &gpio_home_key>;
 41
 42		home_key {
 43			gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
 44			linux,code = <KEY_HOME>;
 45			label = "home key";
 46			debounce-interval = <10>;
 47			wakeup-source;
 48		};
 49	};
 50
 51	regulator_p3v3 {
 52		compatible = "regulator-fixed";
 53		regulator-name = "p3v3_en";
 54		regulator-min-microvolt = <3300000>;
 55		regulator-max-microvolt = <3300000>;
 56		gpio = <&gpa1 1 GPIO_ACTIVE_LOW>;
 57		enable-active-high;
 58		regulator-always-on;
 59	};
 60};
 61
 62&adc {
 63	vdd-supply = <&ldo10_reg>;
 64	status = "okay";
 65};
 66
 67/* VDDQ for MSHC (eMMC card) */
 68&buck8_reg {
 69	regulator-name = "BUCK8_VDDQ_MMC4_2.8V";
 70	regulator-min-microvolt = <2800000>;
 71	regulator-max-microvolt = <2800000>;
 72};
 73
 74&ehci {
 75	port@1 {
 76		status = "okay";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 77	};
 78};
 79
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 80&mshc_0 {
 81	vqmmc-supply = <&buck8_reg>;
 82};
 83
 84&pinctrl_1 {
 85	gpio_home_key: home_key {
 86		samsung,pins = "gpx2-2";
 87		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 88	};
 89};
 90
 91&serial_2 {
 92	status = "okay";
 93};
 94
 95&serial_3 {
 96	status = "okay";
 97};
 98
 99&sound {
100	simple-audio-card,name = "Odroid-X";
101	simple-audio-card,widgets =
102		"Headphone", "Headphone Jack",
103		"Microphone", "Mic Jack",
104		"Microphone", "DMIC";
105	simple-audio-card,routing =
106		"Headphone Jack", "HPL",
107		"Headphone Jack", "HPR",
108		"IN1", "Mic Jack",
109		"Mic Jack", "MICBIAS";
110};
v5.14.15
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Hardkernel's Exynos4412 based ODROID-X board device tree source
  4 *
  5 * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com>
  6 *
  7 * Device tree source file for Hardkernel's ODROID-X board which is based
  8 * on Samsung's Exynos4412 SoC.
  9 */
 10
 11/dts-v1/;
 12#include "exynos4412-odroid-common.dtsi"
 13
 14/ {
 15	model = "Hardkernel ODROID-X board based on Exynos4412";
 16	compatible = "hardkernel,odroid-x", "samsung,exynos4412", "samsung,exynos4";
 17
 18	aliases {
 19		ethernet = &ethernet;
 20	};
 21
 22	memory@40000000 {
 23		device_type = "memory";
 24		reg = <0x40000000 0x3FF00000>;
 25	};
 26
 27	leds {
 28		compatible = "gpio-leds";
 29		led1 {
 30			label = "led1:heart";
 31			gpios = <&gpc1 0 GPIO_ACTIVE_LOW>;
 32			default-state = "on";
 33			linux,default-trigger = "heartbeat";
 34		};
 35		led2 {
 36			label = "led2:mmc0";
 37			gpios = <&gpc1 2 GPIO_ACTIVE_LOW>;
 38			default-state = "on";
 39			linux,default-trigger = "mmc0";
 40		};
 41	};
 42
 43	regulator-1 {
 
 
 
 
 
 
 
 
 
 
 
 
 44		compatible = "regulator-fixed";
 45		regulator-name = "p3v3_en";
 46		regulator-min-microvolt = <3300000>;
 47		regulator-max-microvolt = <3300000>;
 48		gpio = <&gpa1 1 GPIO_ACTIVE_HIGH>;
 49		enable-active-high;
 50		regulator-always-on;
 51	};
 52};
 53
 54&adc {
 55	vdd-supply = <&ldo10_reg>;
 56	status = "okay";
 57};
 58
 59/* VDDQ for MSHC (eMMC card) */
 60&buck8_reg {
 61	regulator-name = "BUCK8_VDDQ_MMC4_2.8V";
 62	regulator-min-microvolt = <2800000>;
 63	regulator-max-microvolt = <2800000>;
 64};
 65
 66&ehci {
 67	#address-cells = <1>;
 68	#size-cells = <0>;
 69	phys = <&exynos_usbphy 2>;
 70	phy-names = "hsic0";
 71
 72	hub@2 {
 73		compatible = "usb0424,3503";
 74		reg = <2>;
 75		#address-cells = <1>;
 76		#size-cells = <0>;
 77
 78		hub@1 {
 79			compatible = "usb0424,9514";
 80			reg = <1>;
 81			#address-cells = <1>;
 82			#size-cells = <0>;
 83
 84			ethernet: usbether@1 {
 85				compatible = "usb0424,ec00";
 86				reg = <1>;
 87				/* Filled in by a bootloader */
 88				local-mac-address = [00 00 00 00 00 00];
 89			};
 90		};
 91	};
 92};
 93
 94&gpio_keys {
 95	pinctrl-0 = <&gpio_power_key &gpio_home_key>;
 96
 97	home-key {
 98		gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
 99		linux,code = <KEY_HOME>;
100		label = "home key";
101		debounce-interval = <10>;
102		wakeup-source;
103	};
104};
105
106&hsotg {
107	dr_mode = "peripheral";
108};
109
110&mshc_0 {
111	vqmmc-supply = <&buck8_reg>;
112};
113
114&pinctrl_1 {
115	gpio_home_key: home-key {
116		samsung,pins = "gpx2-2";
117		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
118	};
119};
120
121&serial_2 {
122	status = "okay";
123};
124
125&serial_3 {
126	status = "okay";
127};
128
129&sound {
130	model = "Odroid-X";
131	samsung,audio-widgets =
132		"Headphone", "Headphone Jack",
133		"Microphone", "Mic Jack",
134		"Microphone", "DMIC";
135	samsung,audio-routing =
136		"Headphone Jack", "HPL",
137		"Headphone Jack", "HPR",
138		"IN1", "Mic Jack",
139		"Mic Jack", "MICBIAS";
140};