Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2021, Martin Botka <martin.botka@somainline.org>
 */

/dts-v1/;

#include "sm6125.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/input/gpio-keys.h>

/ {
	/* required for bootloader to select correct board */
	qcom,msm-id = <394 0x10000>; /* sm6125 v1 */
	qcom,board-id = <34 0>;

	model = "Sony Xperia 10 II";
	compatible = "sony,pdx201", "qcom,sm6125";

	chosen {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		framebuffer0: framebuffer@5c000000 {
			compatible = "simple-framebuffer";
			reg = <0 0x5c000000 0 (2520 * 1080 * 4)>;
			width = <1080>;
			height = <2520>;
			stride = <(1080 * 4)>;
			format = "a8r8g8b8";
		};
	};

	extcon_usb: extcon-usb {
		compatible = "linux,extcon-usb-gpio";
		id-gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>;
	};

	gpio-keys {
		status = "okay";
		compatible = "gpio-keys";
		input-name = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;
		autorepeat;

		vol-dn {
			label = "Volume Down";
			gpios = <&tlmm 47 GPIO_ACTIVE_LOW>;
			linux,input-type = <1>;
			linux,code = <KEY_VOLUMEDOWN>;
			gpio-key,wakeup;
			debounce-interval = <15>;
		};
	};

	reserved_memory {
		#address-cells = <2>;
		#size-cells = <2>;
		debug_mem: memory@ffb00000 {
			reg = <0x0 0xffb00000 0x0 0xc0000>;
			no-map;
		};

		last_log_mem: memory@ffbc0000 {
			reg = <0x0 0xffbc0000 0x0 0x80000>;
			no-map;
		};

		pstore_mem: ramoops@ffc00000 {
			compatible = "ramoops";
			reg = <0x0 0xffc40000 0x0 0xc0000>;
			record-size = <0x1000>;
			console-size = <0x40000>;
			msg-size = <0x20000 0x20000>;
		};

		cmdline_mem: memory@ffd00000 {
			reg = <0x0 0xffd40000 0x0 0x1000>;
			no-map;
		};
	};
};

&hsusb_phy1 {
	status = "okay";
};

&sdc2_state_off {
	sd-cd {
		pins = "gpio98";
		bias-disable;
		drive-strength = <2>;
	};
};

&sdhc_1 {
	status = "okay";
};

&tlmm {
	gpio-reserved-ranges = <22 2>, <28 6>;

	sdc2_state_on: sdc2-on {
		clk {
			pins = "sdc2_clk";
			bias-disable;
			drive-strength = <16>;
		};

		cmd {
			pins = "sdc2_cmd";
			bias-pull-up;
			drive-strength = <10>;
		};

		data {
			pins = "sdc2_data";
			bias-pull-up;
			drive-strength = <10>;
		};

		sd-cd {
			pins = "gpio98";
			bias-pull-up;
			drive-strength = <2>;
		};
	};
};

&usb3 {
	status = "okay";
};

&usb3_dwc3 {
	extcon = <&extcon_usb>;
};