Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0a8532e authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'sunxi-dt-for-4.16-2' of...

Merge tag 'sunxi-dt-for-4.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt

Allwinner DT changes for 4.16, bis

A few improvements to our DT support, with:
  - basic DRM support for the A83t
  - simplefb support for the H3 and H5 SoCs
  - One fix for the USB ethernet on the Orange Pi R1

* tag 'sunxi-dt-for-4.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux

:
  ARM: dts: sun8i: a711: Enable the LCD
  ARM: dts: sun8i: a83t: Add LVDS pins group
  ARM: dts: sun8i: a83t: Enable the PWM
  ARM: dts: sun8i: a83t: Add display pipeline
  ARM: sunxi: h3/h5: add simplefb nodes
  arm64: allwinner: h5: add compatible string for DE2 CCU
  ARM: sun8i: h3/h5: add DE2 CCU device node for H3
  dt-bindings: simplefb-sunxi: add pipelines for DE2
  ARM: dts: sun8i: fix USB Ethernet of Orange Pi R1

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents ba05173a 1ce79907
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -15,6 +15,10 @@ Required properties:
  "de_be1-lcd1"
  "de_be0-lcd0-hdmi"
  "de_be1-lcd1-hdmi"
  "mixer0-lcd0"
  "mixer0-lcd0-hdmi"
  "mixer1-lcd1-hdmi"
  "mixer1-lcd1-tve"

Example:

+61 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
#include "sun8i-a83t.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>

/ {
	model = "TBS A711 Tablet";
@@ -59,6 +60,44 @@
		stdout-path = "serial0:115200n8";
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
		enable-gpios = <&pio 3 29 GPIO_ACTIVE_HIGH>;

		brightness-levels = <0 1 2 4 8 16 32 64 128 255>;
		default-brightness-level = <9>;
	};

	panel {
		compatible = "tbs,a711-panel", "panel-lvds";
		backlight = <&backlight>;
		power-supply = <&reg_sw>;

		width-mm = <153>;
		height-mm = <90>;
		data-mapping = "vesa-24";

		panel-timing {
			/* 1024x600 @60Hz */
			clock-frequency = <52000000>;
			hactive = <1024>;
			vactive = <600>;
			hsync-len = <20>;
			hfront-porch = <180>;
			hback-porch = <160>;
			vfront-porch = <12>;
			vback-porch = <23>;
			vsync-len = <5>;
		};

		port {
			panel_input: endpoint {
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};

	reg_vbat: reg-vbat {
		compatible = "regulator-fixed";
		regulator-name = "vbat";
@@ -89,6 +128,10 @@
	};
};

&de {
	status = "okay";
};

/*
 * An USB-2 hub is connected here, which also means we don't need to
 * enable the OHCI controller.
@@ -142,6 +185,12 @@
	status = "okay";
};

&pwm {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm_pin>;
	status = "okay";
};

&r_rsb {
	status = "okay";

@@ -322,6 +371,18 @@
	regulator-name = "vcc-lcd";
};

&tcon0 {
	pinctrl-names = "default";
	pinctrl-0 = <&lcd_lvds_pins>;
};

&tcon0_out {
	tcon0_out_lcd: endpoint@0 {
		reg = <0>;
		remote-endpoint = <&panel_input>;
	};
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pb_pins>;
+99 −0
Original line number Diff line number Diff line
@@ -45,8 +45,10 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>

#include <dt-bindings/clock/sun8i-a83t-ccu.h>
#include <dt-bindings/clock/sun8i-de2.h>
#include <dt-bindings/clock/sun8i-r-ccu.h>
#include <dt-bindings/reset/sun8i-a83t-ccu.h>
#include <dt-bindings/reset/sun8i-de2.h>
#include <dt-bindings/reset/sun8i-r-ccu.h>

/ {
@@ -151,6 +153,12 @@
		};
	};

	de: display-engine {
		compatible = "allwinner,sun8i-a83t-display-engine";
		allwinner,pipelines = <&mixer0>;
		status = "disabled";
	};

	memory {
		reg = <0x40000000 0x80000000>;
		device_type = "memory";
@@ -162,6 +170,44 @@
		#size-cells = <1>;
		ranges;

		display_clocks: clock@1000000 {
			compatible = "allwinner,sun8i-a83t-de2-clk";
			reg = <0x01000000 0x100000>;
			clocks = <&ccu CLK_PLL_DE>,
				 <&ccu CLK_BUS_DE>;
			clock-names = "mod",
				      "bus";
			resets = <&ccu RST_BUS_DE>;
			#clock-cells = <1>;
			#reset-cells = <1>;
		};

		mixer0: mixer@1100000 {
			compatible = "allwinner,sun8i-a83t-de2-mixer-0";
			reg = <0x01100000 0x100000>;
			clocks = <&display_clocks CLK_BUS_MIXER0>,
				 <&display_clocks CLK_MIXER0>;
			clock-names = "bus",
				      "mod";
			resets = <&display_clocks RST_MIXER0>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				mixer0_out: port@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <1>;

					mixer0_out_tcon0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&tcon0_in_mixer0>;
					};
				};
			};
		};

		syscon: syscon@1c00000 {
			compatible = "allwinner,sun8i-a83t-system-controller",
				"syscon";
@@ -177,6 +223,39 @@
			#dma-cells = <1>;
		};

		tcon0: lcd-controller@1c0c000 {
			compatible = "allwinner,sun8i-a83t-tcon-lcd";
			reg = <0x01c0c000 0x1000>;
			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
			clock-names = "ahb", "tcon-ch0";
			clock-output-names = "tcon-pixel-clock";
			resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
			reset-names = "lcd", "lvds";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				tcon0_in: port@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0>;

					tcon0_in_mixer0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&mixer0_out_tcon0>;
					};
				};

				tcon0_out: port@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <1>;
				};
			};
		};

		mmc0: mmc@1c0f000 {
			compatible = "allwinner,sun8i-a83t-mmc",
				     "allwinner,sun7i-a20-mmc";
@@ -369,6 +448,12 @@
				function = "i2s1";
			};

			lcd_lvds_pins: lcd-lvds-pins {
				pins = "PD18", "PD19", "PD20", "PD21", "PD22",
				       "PD23", "PD24", "PD25", "PD26", "PD27";
				function = "lvds0";
			};

			mmc0_pins: mmc0-pins {
				pins = "PF0", "PF1", "PF2",
				       "PF3", "PF4", "PF5";
@@ -394,6 +479,11 @@
				bias-pull-up;
			};

			pwm_pin: pwm-pin {
				pins = "PD28";
				function = "pwm";
			};

			spdif_tx_pin: spdif-tx-pin {
				pins = "PE18";
				function = "spdif";
@@ -492,6 +582,15 @@
			status = "disabled";
		};

		pwm: pwm@1c21400 {
			compatible = "allwinner,sun8i-a83t-pwm",
				     "allwinner,sun8i-h3-pwm";
			reg = <0x01c21400 0x400>;
			clocks = <&osc24M>;
			#pwm-cells = <3>;
			status = "disabled";
		};

		uart0: serial@1c28000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x01c28000 0x400>;
+18 −0
Original line number Diff line number Diff line
@@ -49,6 +49,20 @@

	/delete-node/ reg_vcc_wifi;

	/*
	 * Ths pin of this regulator is the same with the Wi-Fi extra
	 * regulator on the original Zero. However it's used for USB
	 * Ethernet rather than the Wi-Fi now.
	 */
	reg_vcc_usb_eth: reg-vcc-usb-ethernet {
		compatible = "regulator-fixed";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-name = "vcc-usb-ethernet";
		enable-active-high;
		gpio = <&pio 0 20 GPIO_ACTIVE_HIGH>;
	};

	aliases {
		ethernet1 = &rtl8189etv;
	};
@@ -71,3 +85,7 @@
		reg = <1>;
	};
};

&usbphy {
	usb1_vbus-supply = <&reg_vcc_usb_eth>;
};
+4 −0
Original line number Diff line number Diff line
@@ -85,6 +85,10 @@
	compatible = "allwinner,sun8i-h3-ccu";
};

&display_clocks {
	compatible = "allwinner,sun8i-h3-de2-clk";
};

&mmc0 {
	compatible = "allwinner,sun7i-a20-mmc";
	clocks = <&ccu CLK_BUS_MMC0>,
Loading