Commit 46943b33 authored by Chris Morgan's avatar Chris Morgan Committed by Heiko Stuebner
Browse files

arm64: dts: rockchip: Move device specific properties



Move device specific properties related to the ADC Joystick to
different board specific device trees. This is in preparation for
adding the Anbernic RG-Arc series of devices.

Signed-off-by: default avatarChris Morgan <macromorgan@hotmail.com>
Link: https://lore.kernel.org/r/20240123212111.202146-2-macroalpha82@gmail.com


Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
parent 6613476e
Loading
Loading
Loading
Loading
+74 −0
Original line number Diff line number Diff line
@@ -8,11 +8,73 @@
#include "rk3566-anbernic-rgxx3.dtsi"

/ {
	adc-joystick {
		compatible = "adc-joystick";
		io-channels = <&adc_mux 0>,
			      <&adc_mux 1>,
			      <&adc_mux 2>,
			      <&adc_mux 3>;
		pinctrl-0 = <&joy_mux_en>;
		pinctrl-names = "default";
		poll-interval = <60>;
		#address-cells = <1>;
		#size-cells = <0>;

		axis@0 {
			reg = <0>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <1023 15>;
			linux,code = <ABS_X>;
		};

		axis@1 {
			reg = <1>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <15 1023>;
			linux,code = <ABS_RX>;
		};

		axis@2 {
			reg = <2>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <15 1023>;
			linux,code = <ABS_Y>;
		};

		axis@3 {
			reg = <3>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <1023 15>;
			linux,code = <ABS_RY>;
		};
	};

	adc_mux: adc-mux {
		compatible = "io-channel-mux";
		channels = "left_x", "right_x", "left_y", "right_y";
		#io-channel-cells = <1>;
		io-channels = <&saradc 3>;
		io-channel-names = "parent";
		mux-controls = <&gpio_mux>;
		settle-time-us = <100>;
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		power-supply = <&vcc_sys>;
		pwms = <&pwm4 0 25000 0>;
	};

	gpio_mux: mux-controller {
		compatible = "gpio-mux";
		mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>,
			    <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
		#mux-control-cells = <0>;
	};
};

&cru {
@@ -83,6 +145,18 @@ button-right {
		linux,code = <BTN_DPAD_RIGHT>;
	};

	button-thumbl {
		gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
		label = "THUMBL";
		linux,code = <BTN_THUMBL>;
	};

	button-thumbr {
		gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>;
		label = "THUMBR";
		linux,code = <BTN_THUMBR>;
	};

	button-y {
		gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>;
		label = "WEST";
+74 −0
Original line number Diff line number Diff line
@@ -17,6 +17,61 @@ aliases {
		mmc2 = &sdmmc2;
	};

	adc-joystick {
		compatible = "adc-joystick";
		io-channels = <&adc_mux 0>,
			      <&adc_mux 1>,
			      <&adc_mux 2>,
			      <&adc_mux 3>;
		pinctrl-0 = <&joy_mux_en>;
		pinctrl-names = "default";
		poll-interval = <60>;
		#address-cells = <1>;
		#size-cells = <0>;

		axis@0 {
			reg = <0>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <1023 15>;
			linux,code = <ABS_X>;
		};

		axis@1 {
			reg = <1>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <15 1023>;
			linux,code = <ABS_RX>;
		};

		axis@2 {
			reg = <2>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <15 1023>;
			linux,code = <ABS_Y>;
		};

		axis@3 {
			reg = <3>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <1023 15>;
			linux,code = <ABS_RY>;
		};
	};

	adc_mux: adc-mux {
		compatible = "io-channel-mux";
		channels = "left_x", "right_x", "left_y", "right_y";
		#io-channel-cells = <1>;
		io-channels = <&saradc 3>;
		io-channel-names = "parent";
		mux-controls = <&gpio_mux>;
		settle-time-us = <100>;
	};

	battery: battery {
		compatible = "simple-battery";
		charge-full-design-microamp-hours = <3472000>;
@@ -36,6 +91,13 @@ battery: battery {
					<3400000 0>;
	};

	gpio_mux: mux-controller {
		compatible = "gpio-mux";
		mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>,
			    <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
		#mux-control-cells = <0>;
	};

	gpio_spi: spi {
		compatible = "spi-gpio";
		pinctrl-names = "default";
@@ -174,6 +236,18 @@ button-right {
		linux,code = <BTN_DPAD_RIGHT>;
	};

	button-thumbl {
		gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
		label = "THUMBL";
		linux,code = <BTN_THUMBL>;
	};

	button-thumbr {
		gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>;
		label = "THUMBR";
		linux,code = <BTN_THUMBR>;
	};

	button-y {
		gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>;
		label = "WEST";
+0 −74
Original line number Diff line number Diff line
@@ -14,51 +14,6 @@ chosen: chosen {
		stdout-path = "serial2:1500000n8";
	};

	adc-joystick {
		compatible = "adc-joystick";
		io-channels = <&adc_mux 0>,
			      <&adc_mux 1>,
			      <&adc_mux 2>,
			      <&adc_mux 3>;
		pinctrl-0 = <&joy_mux_en>;
		pinctrl-names = "default";
		poll-interval = <60>;
		#address-cells = <1>;
		#size-cells = <0>;

		axis@0 {
			reg = <0>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <1023 15>;
			linux,code = <ABS_X>;
		};

		axis@1 {
			reg = <1>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <15 1023>;
			linux,code = <ABS_RX>;
		};

		axis@2 {
			reg = <2>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <15 1023>;
			linux,code = <ABS_Y>;
		};

		axis@3 {
			reg = <3>;
			abs-flat = <32>;
			abs-fuzz = <32>;
			abs-range = <1023 15>;
			linux,code = <ABS_RY>;
		};
	};

	adc_keys: adc-keys {
		compatible = "adc-keys";
		io-channels = <&saradc 0>;
@@ -77,16 +32,6 @@ button-mode {
		};
	};

	adc_mux: adc-mux {
		compatible = "io-channel-mux";
		channels = "left_x", "right_x", "left_y", "right_y";
		#io-channel-cells = <1>;
		io-channels = <&saradc 3>;
		io-channel-names = "parent";
		mux-controls = <&gpio_mux>;
		settle-time-us = <100>;
	};

	gpio_keys_control: gpio-keys-control {
		compatible = "gpio-keys";
		pinctrl-0 = <&btn_pins_ctrl>;
@@ -128,18 +73,6 @@ button-start {
			linux,code = <BTN_START>;
		};

		button-thumbl {
			gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
			label = "THUMBL";
			linux,code = <BTN_THUMBL>;
		};

		button-thumbr {
			gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>;
			label = "THUMBR";
			linux,code = <BTN_THUMBR>;
		};

		button-up {
			gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
			label = "DPAD-UP";
@@ -172,13 +105,6 @@ button-vol-up {
		};
	};

	gpio_mux: mux-controller {
		compatible = "gpio-mux";
		mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>,
			    <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
		#mux-control-cells = <0>;
	};

	hdmi-con {
		compatible = "hdmi-connector";
		ddc-i2c-bus = <&i2c5>;