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

Commit 60cf1d99 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'lpc18xx_dts_for_4.7' of https://github.com/manabian/linux-lpc into next/dt

Device Tree additions for LPC18xx platform
 - CREG clock controller
 - Real Time Clock (RTC)
 - Analog peripherals (ADC/DAC)
 - Warning fixes for the new dtc compiler

With the CREG clock controller in place it is now possible
to enable the internal RTC on LPC18xx/43xx platforms. The
analog peripherals (ADC/DAC) has also been added here and
enabled on both the EA4357 dev kit and Hitex eval board.

In addition to the new entries there are a fixes for the
DT warnings generated by the new dtc.

* tag 'lpc18xx_dts_for_4.7' of https://github.com/manabian/linux-lpc

:
  dt-bindings: phy-lpc18xx-usb-otg: remove unit address from binding
  ARM: dts: lpc4350-hitex-eval: fix unit name warnings from dtc
  ARM: dts: lpc4357-ea4357: fix unit name warnings from dtc
  ARM: dts: lpc18xx: remove unit addresses from creg childs
  ARM: dts: armv7-m: add unit name to interrupt-controller
  ARM: dts: lpc4350-hitex-eval: add adc1
  ARM: dts: lpc4357-ea4357: add dac
  ARM: dts: lpc4357-ea4357: add adc0
  ARM: dts: lpc18xx: add dac node
  ARM: dts: lpc18xx: add adc nodes
  ARM: dts: lpc18xx: add rtc node
  ARM: dts: lpc18xx: add creg-clk node

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 390dc69e 1db7f620
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ creg: syscon@40043000 {
	compatible = "nxp,lpc1850-creg", "syscon", "simple-mfd";
	reg = <0x40043000 0x1000>;

	usb0_otg_phy: phy@004 {
	usb0_otg_phy: phy {
		compatible = "nxp,lpc1850-usb-otg-phy";
		clocks = <&ccu1 CLK_USB0>;
		#phy-cells = <0>;
+1 −1
Original line number Diff line number Diff line
#include "skeleton.dtsi"

/ {
	nvic: nv-interrupt-controller  {
	nvic: interrupt-controller@e000e100  {
		compatible = "arm,armv7m-nvic";
		interrupt-controller;
		#interrupt-cells = <1>;
+44 −3
Original line number Diff line number Diff line
@@ -195,13 +195,19 @@
			clocks = <&ccu1 CLK_CPU_CREG>;
			resets = <&rgu 5>;

			usb0_otg_phy: phy@004 {
			creg_clk: clock-controller {
				compatible = "nxp,lpc1850-creg-clk";
				clocks = <&xtal32>;
				#clock-cells = <1>;
			};

			usb0_otg_phy: phy {
				compatible = "nxp,lpc1850-usb-otg-phy";
				clocks = <&ccu1 CLK_USB0>;
				#phy-cells = <0>;
			};

			dmamux: dma-mux@11c {
			dmamux: dma-mux {
				compatible = "nxp,lpc1850-dmamux";
				#dma-cells = <3>;
				dma-requests = <64>;
@@ -209,11 +215,19 @@
			};
		};

		rtc: rtc@40046000 {
			compatible = "nxp,lpc1850-rtc", "nxp,lpc1788-rtc";
			reg = <0x40046000 0x1000>;
			interrupts = <47>;
			clocks = <&creg_clk 0>, <&ccu1 CLK_CPU_BUS>;
			clock-names = "rtc", "reg";
		};

		cgu: clock-controller@40050000 {
			compatible = "nxp,lpc1850-cgu";
			reg = <0x40050000 0x1000>;
			#clock-cells = <1>;
			clocks = <&xtal>, <&xtal32>, <&enet_rx_clk>, <&enet_tx_clk>, <&gp_clkin>;
			clocks = <&xtal>, <&creg_clk 1>, <&enet_rx_clk>, <&enet_tx_clk>, <&gp_clkin>;
		};

		ccu1: clock-controller@40051000 {
@@ -430,6 +444,15 @@
			status = "disabled";
		};

		dac: dac@400e1000 {
			compatible = "nxp,lpc1850-dac";
			reg = <0x400e1000 0x1000>;
			interrupts = <0>;
			clocks = <&ccu1 CLK_APB3_DAC>;
			resets = <&rgu 42>;
			status = "disabled";
		};

		can0: can@400e2000 {
			compatible = "bosch,c_can";
			reg = <0x400e2000 0x1000>;
@@ -439,6 +462,24 @@
			status = "disabled";
		};

		adc0: adc@400e3000 {
			compatible = "nxp,lpc1850-adc";
			reg = <0x400e3000 0x1000>;
			interrupts = <17>;
			clocks = <&ccu1 CLK_APB3_ADC0>;
			resets = <&rgu 40>;
			status = "disabled";
		};

		adc1: adc@400e4000 {
			compatible = "nxp,lpc1850-adc";
			reg = <0x400e4000 0x1000>;
			interrupts = <21>;
			clocks = <&ccu1 CLK_APB3_ADC1>;
			resets = <&rgu 41>;
			status = "disabled";
		};

		gpio: gpio@400f4000 {
			compatible = "nxp,lpc1850-gpio";
			reg = <0x400f4000 0x4000>;
+32 −9
Original line number Diff line number Diff line
@@ -45,50 +45,50 @@
		poll-interval = <100>;
		autorepeat;

		button@0 {
		button0 {
			label = "joy:right";
			linux,code = <KEY_RIGHT>;
			gpios = <&pca_gpio 8 GPIO_ACTIVE_LOW>;
		};

		button@1 {
		button1 {
			label = "joy:up";
			linux,code = <KEY_UP>;
			gpios = <&pca_gpio 9 GPIO_ACTIVE_LOW>;
		};


		button@2 {
		button2 {
			label = "joy:enter";
			linux,code = <KEY_ENTER>;
			gpios = <&pca_gpio 10 GPIO_ACTIVE_LOW>;
		};

		button@3 {
		button3 {
			label = "joy:left";
			linux,code = <KEY_LEFT>;
			gpios = <&pca_gpio 11 GPIO_ACTIVE_LOW>;
		};

		button@4 {
		button4 {
			label = "joy:down";
			linux,code = <KEY_DOWN>;
			gpios = <&pca_gpio 12 GPIO_ACTIVE_LOW>;
		};

		button@5 {
		button5 {
			label = "user:sw3";
			linux,code = <KEY_F1>;
			gpios = <&pca_gpio 13 GPIO_ACTIVE_LOW>;
		};

		button@6 {
		button6 {
			label = "user:sw4";
			linux,code = <KEY_F2>;
			gpios = <&pca_gpio 14 GPIO_ACTIVE_LOW>;
		};

		button@7 {
		button7 {
			label = "user:sw5";
			linux,code = <KEY_F3>;
			gpios = <&pca_gpio 15 GPIO_ACTIVE_LOW>;
@@ -119,9 +119,25 @@
			gpios = <&pca_gpio 3 GPIO_ACTIVE_LOW>;
		};
	};

	vcc: vcc_fixed {
		compatible = "regulator-fixed";
		regulator-name = "3v3io";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};

&pinctrl {
	adc1_pins: adc1-pins {
		adc1_pins_cfg {
			pins = "pf_9";
			function = "adc";
			input-disable;
			bias-disable;
		};
	};

	emc_pins: emc-pins {
		emc_addr0_23_cfg {
			pins =	"p2_9",  "p2_10", "p2_11", "p2_12",
@@ -325,6 +341,13 @@
	};
};

&adc1 {
	status = "okay";
	vref-supply = <&vcc>;
	pinctrl-names = "default";
	pinctrl-0 = <&adc1_pins>;
};

&emc {
	status = "okay";
	pinctrl-names = "default";
@@ -430,7 +453,7 @@
	pinctrl-names = "default";
	pinctrl-0 = <&spifi_pins>;

	flash@0 {
	flash {
		compatible = "jedec,spi-nor";
		spi-rx-bus-width = <4>;
		#address-cells = <1>;
+23 −6
Original line number Diff line number Diff line
@@ -38,6 +38,13 @@
		reg = <0x28000000 0x2000000>; /* 32 MB */
	};

	vcc: vcc_fixed {
		compatible = "regulator-fixed";
		regulator-name = "3v3-supply";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	/* vmmc is controlled by sdmmc host internally */
	vmmc: vmmc_fixed {
		compatible = "regulator-fixed";
@@ -55,31 +62,31 @@
		poll-interval = <100>;
		autorepeat;

		button@0 {
		button0 {
			label = "joy_enter";
			linux,code = <KEY_ENTER>;
			gpios = <&gpio LPC_GPIO(4,8) GPIO_ACTIVE_LOW>;
		};

		button@1 {
		button1 {
			label = "joy_left";
			linux,code = <KEY_LEFT>;
			gpios = <&gpio LPC_GPIO(4,9) GPIO_ACTIVE_LOW>;
		};

		button@2 {
		button2 {
			label = "joy_up";
			linux,code = <KEY_UP>;
			gpios = <&gpio LPC_GPIO(4,10) GPIO_ACTIVE_LOW>;
		};

		button@3 {
		button3 {
			label = "joy_right";
			linux,code = <KEY_RIGHT>;
			gpios = <&gpio LPC_GPIO(4,12) GPIO_ACTIVE_LOW>;
		};

		button@4 {
		button4 {
			label = "joy_down";
			linux,code = <KEY_DOWN>;
			gpios = <&gpio LPC_GPIO(4,13) GPIO_ACTIVE_LOW>;
@@ -461,6 +468,11 @@
	};
};

&adc0 {
	status = "okay";
	vref-supply = <&vcc>;
};

&i2c0 {
	status = "okay";
	pinctrl-names = "default";
@@ -483,6 +495,11 @@
	};
};

&dac {
	status = "okay";
	vref-supply = <&vcc>;
};

&emc {
	status = "okay";
	pinctrl-names = "default";
@@ -567,7 +584,7 @@
	pinctrl-names = "default";
	pinctrl-0 = <&spifi_pins>;

	flash@0 {
	flash {
		compatible = "jedec,spi-nor";
		spi-cpol;
		spi-cpha;