[PATCH 4/5] arm64: juno: Add APB registers and LEDs using syscon
Liviu Dudau
Liviu.Dudau at arm.com
Wed Mar 4 07:57:36 PST 2015
On Tue, Mar 03, 2015 at 09:32:27AM +0000, Linus Walleij wrote:
> This defines the Juno "APB system registers" as a syscon device,
> and all the LEDs controlled by the APB system registers right
> below it using the syscon LEDs driver on top of syscon. Define
> LED0 for heartbeat, LED1 for MMC0 activity and the following
> four LEDs indicating CPU activity using the Linux-specific
> DT bindings for triggers.
>
> This is the pattern and same drivers as used on the legacy
> platform device trees for the ARM Integrators and the RealView
> PB1176.
>
> Cc: Arnd Bergmann <arnd at arndb.de>
> Cc: Liviu Dudau <Liviu.Dudau at arm.com>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: Robin Murphy <robin.murphy at arm.com>
> Cc: Pawel Moll <pawel.moll at arm.com>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
Tested-by: Liviu Dudau <Liviu.Dudau at arm.com>
KITT test shell script working beautifully. :)
Best regards,
Liviu
> ---
> ChangeLog v1->v2:
> - Use "simple-mfd" so that the syscon LEDs get spawned from the
> syscon as sub-platform devices.
> ---
> arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 68 +++++++++++++++++++++++++++
> 1 file changed, 68 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/arm/juno-motherboard.dtsi b/arch/arm64/boot/dts/arm/juno-motherboard.dtsi
> index c138b95a8356..5ce111dcf16d 100644
> --- a/arch/arm64/boot/dts/arm/juno-motherboard.dtsi
> +++ b/arch/arm64/boot/dts/arm/juno-motherboard.dtsi
> @@ -66,6 +66,74 @@
> #size-cells = <1>;
> ranges = <0 3 0 0x200000>;
>
> + apbregs at 010000 {
> + compatible = "syscon", "simple-mfd";
> + reg = <0x010000 0x1000>;
> +
> + led at 08.0 {
> + compatible = "register-bit-led";
> + offset = <0x08>;
> + mask = <0x01>;
> + label = "vexpress:0";
> + linux,default-trigger = "heartbeat";
> + default-state = "on";
> + };
> + led at 08.1 {
> + compatible = "register-bit-led";
> + offset = <0x08>;
> + mask = <0x02>;
> + label = "vexpress:1";
> + linux,default-trigger = "mmc0";
> + default-state = "off";
> + };
> + led at 08.2 {
> + compatible = "register-bit-led";
> + offset = <0x08>;
> + mask = <0x04>;
> + label = "vexpress:2";
> + linux,default-trigger = "cpu0";
> + default-state = "off";
> + };
> + led at 08.3 {
> + compatible = "register-bit-led";
> + offset = <0x08>;
> + mask = <0x08>;
> + label = "vexpress:3";
> + linux,default-trigger = "cpu1";
> + default-state = "off";
> + };
> + led at 08.4 {
> + compatible = "register-bit-led";
> + offset = <0x08>;
> + mask = <0x10>;
> + label = "vexpress:4";
> + linux,default-trigger = "cpu2";
> + default-state = "off";
> + };
> + led at 08.5 {
> + compatible = "register-bit-led";
> + offset = <0x08>;
> + mask = <0x20>;
> + label = "vexpress:5";
> + linux,default-trigger = "cpu3";
> + default-state = "off";
> + };
> + led at 08.6 {
> + compatible = "register-bit-led";
> + offset = <0x08>;
> + mask = <0x40>;
> + label = "vexpress:6";
> + default-state = "off";
> + };
> + led at 08.7 {
> + compatible = "register-bit-led";
> + offset = <0x08>;
> + mask = <0x80>;
> + label = "vexpress:7";
> + default-state = "off";
> + };
> + };
> +
> mmci at 050000 {
> compatible = "arm,pl180", "arm,primecell";
> reg = <0x050000 0x1000>;
> --
> 1.9.3
>
>
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯
More information about the linux-arm-kernel
mailing list