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

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

Merge tag 'v4.6-rockchip-dts32-1' of...

Merge tag 'v4.6-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt

Assorted bunch of 32bit Rockchip devicetree changes. More clocks,
nodes and fixes like the increased drive-strength on the firefly.
Most interesting is maybe the enablement of the pl330 option
for handling the broken flushp operation that is present on the
current Rockchip SoCs. Together with the driver-side enablement
this should give us working dma finally.

* tag 'v4.6-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip

: (30 commits)
  ARM: dts: cros-ec-keyboard: Add LOCK key to keyboard matrix
  ARM: dts: rockchip: replace gpio-key,wakeup with wakeup-source property
  ARM: dts: rockchip: add arm,pl330-broken-no-flushp quirk for rk3036 SoCs
  ARM: dts: rockchip: Add arm, pl330-broken-no-flushp quirk for rk3xxx platform
  ARM: dts: rockchip: Add arm, pl330-broken-no-flushp quirk for rk3288 platform
  dt-bindings: rockchip-dw-mshc: add RK3036 dw-mshc description
  ARM: dts: rockchip: increase the mclk_fs to 512 for kylin board
  ARM: dts: rockchip: support the spi for rk3036
  ARM: dts: rockchip: add mclk for rt5616 on rk3036 kylin board
  ARM: dts: rockchip: add the leds control for rk3036-kylin board
  ARM: dts: rockchip: add tsadc node
  clk: rockchip: Add new id for rk3066 tsadc clock
  ARM: dts: rockchip: add clock-cells for usb phy nodes
  ARM: dts: rockchip: Assign RK3288 EDP_24M input centrally
  ARM: dts: rockchip: add soc-specific compatibles for rk3036 SoCs
  ARM: dts: rockchip: Bump sd card pin drive strength up on firefly boards
  dt-bindings: rockchip-dw-mshc: add RK3368 dw-mshc description
  ARM: dts: rockchip: Add the SDIO wifi on Radxa Rock2 square
  ARM: dts: rockchip: Add the iodomains for the Rock2 SOM
  ARM: dts: rockchip: add rk3288 mipi_dsi nodes
  ...

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 4d66fb81 741d3b0c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -13,6 +13,8 @@ Required Properties:
	- "rockchip,rk2928-dw-mshc": for Rockchip RK2928 and following,
							before RK3288
	- "rockchip,rk3288-dw-mshc": for Rockchip RK3288
	- "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK3036
	- "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK3368

Optional Properties:
* clocks: from common clock binding: if ciu_drive and ciu_sample are
+1 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@
			MATRIX_KEY(0x03, 0x04, KEY_F5)
			MATRIX_KEY(0x03, 0x06, KEY_6)
			MATRIX_KEY(0x03, 0x08, KEY_MINUS)
			MATRIX_KEY(0x03, 0x09, KEY_F13)
			MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
			MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)

+104 −0
Original line number Diff line number Diff line
@@ -46,6 +46,58 @@
	model = "Rockchip RK3036 KylinBoard";
	compatible = "rockchip,rk3036-kylin", "rockchip,rk3036";

	leds: gpio-leds {
		compatible = "gpio-leds";

		work {
			gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
			label = "kylin:red:led";
			pinctrl-names = "default";
			pinctrl-0 = <&led_ctl>;
		};
	};

	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		pinctrl-names = "default";
		pinctrl-0 = <&bt_wake_h>;

		/*
		 * On the module itself this is one of these (depending
		 * on the actual card populated):
		 * - SDIO_RESET_L_WL_REG_ON
		 * - SDIO_RESET_L_WL_RST
		 * - SDIO_RESET_L_BT_EN
		 */
		reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>, /* WL_REG_ON */
			      <&gpio0 27 GPIO_ACTIVE_LOW>, /* WL_RST */
			      <&gpio2 9  GPIO_ACTIVE_LOW>; /* BT_EN */
	};

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,format = "i2s";
		simple-audio-card,name = "rockchip,rt5616-codec";
		simple-audio-card,mclk-fs = <512>;
		simple-audio-card,widgets =
			"Microphone", "Microphone Jack",
			"Headphone", "Headphone Jack";
		simple-audio-card,routing =
			"MIC1", "Microphone Jack",
			"MIC2", "Microphone Jack",
			"Microphone Jack", "micbias1",
			"Headphone Jack", "HPOL",
			"Headphone Jack", "HPOR";

		simple-audio-card,cpu {
			sound-dai = <&i2s>;
		};

		simple-audio-card,codec {
			sound-dai = <&rt5616>;
		};
	};

	vcc_sys: vsys-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vcc_sys";
@@ -257,6 +309,19 @@

&i2c2 {
	status = "okay";

	rt5616: rt5616@1b {
		compatible = "rt5616";
		reg = <0x1b>;
		clocks = <&cru SCLK_I2S_OUT>;
		clock-names = "mclk";
		#sound-dai-cells = <0>;
	};
};

&i2s {
	#sound-dai-cells = <0>;
	status = "okay";
};

&sdio {
@@ -264,13 +329,34 @@

	broken-cd;
	bus-width = <4>;
	cap-sd-highspeed;
	cap-sdio-irq;
	default-sample-phase = <90>;
	keep-power-in-suspend;
	mmc-pwrseq = <&sdio_pwrseq>;
	non-removable;
	num-slots = <1>;
	pinctrl-names = "default";
	pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>;
	sd-uhs-sdr12;
	sd-uhs-sdr25;
	sd-uhs-sdr50;
	sd-uhs-sdr104;
};

&sdmmc {
	bus-width = <4>;
	cap-mmc-highspeed;
	cap-sd-highspeed;
	card-detect-delay = <200>;
	disable-wp;
	num-slots = <1>;
	pinctrl-names = "default";
	pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
};

&uart0 {
	status = "okay";
};

&uart2 {
@@ -286,12 +372,30 @@
};

&pinctrl {
	leds {
		led_ctl: led-ctl {
			rockchip,pins = <2 30 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	pmic {
		pmic_int: pmic-int {
			rockchip,pins = <2 2 RK_FUNC_GPIO &pcfg_pull_default>;
		};
	};

	sdio {
		bt_wake_h: bt-wake-h {
			rockchip,pins = <2 8 RK_FUNC_GPIO &pcfg_pull_default>;
		};
	};

	sdmmc {
		sdmmc_pwr: sdmmc-pwr {
			rockchip,pins = <2 28 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	sleep {
		global_pwroff: global-pwroff {
			rockchip,pins = <2 7 RK_FUNC_1 &pcfg_pull_none>;
+55 −14
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		spi = &spi;
	};

	memory {
@@ -105,6 +106,7 @@
			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
			#dma-cells = <1>;
			arm,pl330-broken-no-flushp;
			clocks = <&cru ACLK_DMAC2>;
			clock-names = "apb_pclk";
		};
@@ -161,7 +163,7 @@
	};

	usb_otg: usb@10180000 {
		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
		compatible = "rockchip,rk3036-usb", "rockchip,rk3066-usb",
				"snps,dwc2";
		reg = <0x10180000 0x40000>;
		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
@@ -176,7 +178,7 @@
	};

	usb_host: usb@101c0000 {
		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
		compatible = "rockchip,rk3036-usb", "rockchip,rk3066-usb",
				"snps,dwc2";
		reg = <0x101c0000 0x40000>;
		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
@@ -211,7 +213,7 @@
	};

	emmc: dwmmc@1021c000 {
		compatible = "rockchip,rk3288-dw-mshc";
		compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc";
		reg = <0x1021c000 0x4000>;
		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
		broken-cd;
@@ -241,8 +243,8 @@
		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
		#address-cells = <1>;
		#size-cells = <0>;
		clock-names = "i2s_hclk", "i2s_clk";
		clocks = <&cru HCLK_I2S>, <&cru SCLK_I2S>;
		clock-names = "i2s_clk", "i2s_hclk";
		clocks = <&cru SCLK_I2S>, <&cru HCLK_I2S>;
		dmas = <&pdma 0>, <&pdma 1>;
		dma-names = "tx", "rx";
		pinctrl-names = "default";
@@ -327,7 +329,7 @@
	};

	i2c1: i2c@20056000 {
		compatible = "rockchip,rk3288-i2c";
		compatible = "rockchip,rk3036-i2c", "rockchip,rk3288-i2c";
		reg = <0x20056000 0x1000>;
		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
		#address-cells = <1>;
@@ -340,7 +342,7 @@
	};

	i2c2: i2c@2005a000 {
		compatible = "rockchip,rk3288-i2c";
		compatible = "rockchip,rk3036-i2c", "rockchip,rk3288-i2c";
		reg = <0x2005a000 0x1000>;
		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
		#address-cells = <1>;
@@ -395,7 +397,7 @@
	};

	i2c0: i2c@20072000 {
		compatible = "rockchip,rk3288-i2c";
		compatible = "rockchip,rk3036-i2c", "rockchip,rk3288-i2c";
		reg = <0x20072000 0x1000>;
		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
		#address-cells = <1>;
@@ -407,6 +409,21 @@
		status = "disabled";
	};

	spi: spi@20074000 {
		compatible = "rockchip,rockchip-spi";
		reg = <0x20074000 0x1000>;
		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
		clocks =<&cru PCLK_SPI>, <&cru SCLK_SPI>;
		clock-names = "apb-pclk","spi_pclk";
		dmas = <&pdma 8>, <&pdma 9>;
		dma-names = "tx", "rx";
		pinctrl-names = "default";
		pinctrl-0 = <&spi_txd &spi_rxd &spi_clk &spi_cs0>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	pinctrl: pinctrl {
		compatible = "rockchip,rk3036-pinctrl";
		rockchip,grf = <&grf>;
@@ -579,12 +596,12 @@

		i2s {
			i2s_bus: i2s-bus {
				rockchip,pins = <1 0 RK_FUNC_1 &pcfg_pull_none>,
						<1 1 RK_FUNC_1 &pcfg_pull_none>,
						<1 2 RK_FUNC_1 &pcfg_pull_none>,
						<1 3 RK_FUNC_1 &pcfg_pull_none>,
						<1 4 RK_FUNC_1 &pcfg_pull_none>,
						<1 5 RK_FUNC_1 &pcfg_pull_none>;
				rockchip,pins = <1 0 RK_FUNC_1 &pcfg_pull_default>,
						<1 1 RK_FUNC_1 &pcfg_pull_default>,
						<1 2 RK_FUNC_1 &pcfg_pull_default>,
						<1 3 RK_FUNC_1 &pcfg_pull_default>,
						<1 4 RK_FUNC_1 &pcfg_pull_default>,
						<1 5 RK_FUNC_1 &pcfg_pull_default>;
			};
		};

@@ -618,5 +635,29 @@
			};
			/* no rts / cts for uart2 */
		};

		spi {
			spi_txd:spi-txd {
				rockchip,pins = <1 29 RK_FUNC_3 &pcfg_pull_default>;
			};

			spi_rxd:spi-rxd {
				rockchip,pins = <1 28 RK_FUNC_3 &pcfg_pull_default>;
			};

			spi_clk:spi-clk {
				rockchip,pins = <2 0 RK_FUNC_2 &pcfg_pull_default>;
			};

			spi_cs0:spi-cs0 {
				rockchip,pins = <1 30 RK_FUNC_3 &pcfg_pull_default>;

			};

			spi_cs1:spi-cs1 {
				rockchip,pins = <1 31 RK_FUNC_3 &pcfg_pull_default>;

			};
		};
	};
};
+17 −2
Original line number Diff line number Diff line
@@ -53,6 +53,18 @@
		reg = <0x60000000 0x40000000>;
	};

	vdd_log: vdd-log {
		compatible = "pwm-regulator";
		pwms = <&pwm3 0 1000>;
		regulator-name = "vdd_log";
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;
		regulator-always-on;
		voltage-table = <1000000 100>,
				<1200000 42>;
		status = "okay";
	};

	vcc_sd0: fixed-regulator {
		compatible = "regulator-fixed";
		regulator-name = "sdmmc-supply";
@@ -74,7 +86,7 @@
			linux,code = <116>;
			label = "GPIO Key Power";
			linux,input-type = <1>;
			gpio-key,wakeup = <1>;
			wakeup-source;
			debounce-interval = <100>;
		};
		button@1 {
@@ -82,7 +94,6 @@
			linux,code = <104>;
			label = "GPIO Key Vol-";
			linux,input-type = <1>;
			gpio-key,wakeup = <0>;
			debounce-interval = <100>;
		};
		/* VOL+ comes somehow thru the ADC */
@@ -203,6 +214,10 @@
	disable-wp;
};

&pwm3 {
	status = "okay";
};

&uart0 {
	status = "okay";
};
Loading