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

Commit 4fd0a213 authored by Grant Likely's avatar Grant Likely Committed by Anatolij Gustschin
Browse files

powerpc/5200: Add Lite5200 on-board LEDs as devices



The Lite5200 evaluation board has a number of debug LEDs that Linux
doesn't know about yet. This change adds a gpio-leds stanza to the
lite5200 device tree so that the correct driver can get hooked up.

Also, make use of the dtc labels feature to reduce the number of source
lines required to add the gpio-controller property to the general
purpose timer nodes. In addition, the required #gpio-cells properties
are added to the common mpc5200b dtsi include file so that each board
doesn't need to add them explicitly. This still doesn't enable gpio
mode, 'gpio-controller' is required for that, but it means less work
needs to be done by board ports.

Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
parent 63410b0b
Loading
Loading
Loading
Loading
+19 −4
Original line number Original line Diff line number Diff line
@@ -12,19 +12,34 @@


/include/ "mpc5200b.dtsi"
/include/ "mpc5200b.dtsi"


&gpt0 { fsl,has-wdt; };
&gpt2 { gpio-controller; };
&gpt3 { gpio-controller; };

/ {
/ {
	model = "fsl,lite5200b";
	model = "fsl,lite5200b";
	compatible = "fsl,lite5200b";
	compatible = "fsl,lite5200b";


	leds {
		compatible = "gpio-leds";
		tmr2 {
			gpios = <&gpt2 0 1>;
		};
		tmr3 {
			gpios = <&gpt3 0 1>;
			linux,default-trigger = "heartbeat";
		};
		led1 { gpios = <&gpio_wkup 2 1>; };
		led2 { gpios = <&gpio_simple 3 1>; };
		led3 { gpios = <&gpio_wkup 3 1>; };
		led4 { gpios = <&gpio_simple 2 1>; };
	};

	memory {
	memory {
		reg = <0x00000000 0x10000000>;	// 256MB
		reg = <0x00000000 0x10000000>;	// 256MB
	};
	};


	soc5200@f0000000 {
	soc5200@f0000000 {
		timer@600 {	// General Purpose Timer
			fsl,has-wdt;
		};

		psc@2000 {		// PSC1
		psc@2000 {		// PSC1
			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
			cell-index = <0>;
			cell-index = <0>;
+17 −8
Original line number Original line Diff line number Diff line
@@ -64,50 +64,59 @@
			reg = <0x500 0x80>;
			reg = <0x500 0x80>;
		};
		};


		timer@600 {	// General Purpose Timer
		gpt0: timer@600 {	// General Purpose Timer
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			#gpio-cells = <2>;  // Add 'gpio-controller;' to enable gpio mode
			reg = <0x600 0x10>;
			reg = <0x600 0x10>;
			interrupts = <1 9 0>;
			interrupts = <1 9 0>;
			// add 'fsl,has-wdt' to enable watchdog
		};
		};


		timer@610 {	// General Purpose Timer
		gpt1: timer@610 {	// General Purpose Timer
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			#gpio-cells = <2>;  // Add 'gpio-controller;' to enable gpio mode
			reg = <0x610 0x10>;
			reg = <0x610 0x10>;
			interrupts = <1 10 0>;
			interrupts = <1 10 0>;
		};
		};


		timer@620 {	// General Purpose Timer
		gpt2: timer@620 {	// General Purpose Timer
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			#gpio-cells = <2>;  // Add 'gpio-controller;' to enable gpio mode
			reg = <0x620 0x10>;
			reg = <0x620 0x10>;
			interrupts = <1 11 0>;
			interrupts = <1 11 0>;
		};
		};


		timer@630 {	// General Purpose Timer
		gpt3: timer@630 {	// General Purpose Timer
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			#gpio-cells = <2>;  // Add 'gpio-controller;' to enable gpio mode
			reg = <0x630 0x10>;
			reg = <0x630 0x10>;
			interrupts = <1 12 0>;
			interrupts = <1 12 0>;
		};
		};


		timer@640 {	// General Purpose Timer
		gpt4: timer@640 {	// General Purpose Timer
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			#gpio-cells = <2>;  // Add 'gpio-controller;' to enable gpio mode
			reg = <0x640 0x10>;
			reg = <0x640 0x10>;
			interrupts = <1 13 0>;
			interrupts = <1 13 0>;
		};
		};


		timer@650 {	// General Purpose Timer
		gpt5: timer@650 {	// General Purpose Timer
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			#gpio-cells = <2>;  // Add 'gpio-controller;' to enable gpio mode
			reg = <0x650 0x10>;
			reg = <0x650 0x10>;
			interrupts = <1 14 0>;
			interrupts = <1 14 0>;
		};
		};


		timer@660 {	// General Purpose Timer
		gpt6: timer@660 {	// General Purpose Timer
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			#gpio-cells = <2>;  // Add 'gpio-controller;' to enable gpio mode
			reg = <0x660 0x10>;
			reg = <0x660 0x10>;
			interrupts = <1 15 0>;
			interrupts = <1 15 0>;
		};
		};


		timer@670 {	// General Purpose Timer
		gpt7: timer@670 {	// General Purpose Timer
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
			#gpio-cells = <2>;  // Add 'gpio-controller;' to enable gpio mode
			reg = <0x670 0x10>;
			reg = <0x670 0x10>;
			interrupts = <1 16 0>;
			interrupts = <1 16 0>;
		};
		};