From patchwork Tue Feb 4 12:19:12 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matt Porter X-Patchwork-Id: 316564 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id F14422C0096 for ; Tue, 4 Feb 2014 23:20:19 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754126AbaBDMUQ (ORCPT ); Tue, 4 Feb 2014 07:20:16 -0500 Received: from mail-ig0-f179.google.com ([209.85.213.179]:60207 "EHLO mail-ig0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754123AbaBDMT2 (ORCPT ); Tue, 4 Feb 2014 07:19:28 -0500 Received: by mail-ig0-f179.google.com with SMTP id c10so7474411igq.0 for ; Tue, 04 Feb 2014 04:19:27 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=liCBmp+Y4s/4034uFDhkpm44WbUffRKApoOq3ymBv6E=; b=UkhYVIwyI+hToATCcpcZuQuc53w3TJ1f5BOuPki4pYvx/fDhjE9C8KWONfbYnW8fmp zzl6th0EwZLs/DhrCbpDLyVdzjMgHio2VBktVA3kmMJQ2teAMA+LYFy1CtoKnuqpwCH5 QmtDLKKFb+KQKkE+9wY/pTQtAK5FMqnNFmLfz8wyArumwgxQ3yXFRcxd2z6lDtzFvivy YCwst0uto/tHVTev3MPenvkEujM87VGNfJFktgB7qitdcITsBX4pWvR0C/eq5BmqUMhF rS9FFwCLbTSkoqu1VLQhMJPsNiAvs+0XD4NYQDJ+x6ViDgnXOwXizlfym469L7DVY4v8 BtLA== X-Gm-Message-State: ALoCoQnKFCf9ucrfKf7xp0vEFSJ6DNzHevsjd8/0fZRsUW9DHfq31Xkgl/AapTPdu6pzpfg3Af67 X-Received: by 10.50.225.67 with SMTP id ri3mr17211692igc.16.1391516367291; Tue, 04 Feb 2014 04:19:27 -0800 (PST) Received: from beef.ohporter.com (cpe-98-27-254-98.neo.res.rr.com. [98.27.254.98]) by mx.google.com with ESMTPSA id ni8sm39720180igb.7.2014.02.04.04.19.26 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 04 Feb 2014 04:19:26 -0800 (PST) From: Matt Porter To: Wolfram Sang , Tim Kryger , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Samuel Ortiz , Lee Jones , Liam Girdwood , Mark Brown , Christian Daudt Cc: Devicetree List , Linux I2C List , Linux ARM Kernel List , Linux Kernel Mailing List Subject: [PATCH 6/6] ARM: dts: add bcm59056 pmu support and enable for bcm28155-ap Date: Tue, 4 Feb 2014 07:19:12 -0500 Message-Id: <1391516352-32359-7-git-send-email-mporter@linaro.org> X-Mailer: git-send-email 1.8.4 In-Reply-To: <1391516352-32359-1-git-send-email-mporter@linaro.org> References: <1391516352-32359-1-git-send-email-mporter@linaro.org> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org Add a dtsi to support the BCM59056 PMU used by the BCM281xx family of SoCs. Enable regulators for use with the dwc2 and sdhci on bcm28155-ap. Signed-off-by: Tim Kryger Signed-off-by: Matt Porter Reviewed-by: Markus Mayer --- arch/arm/boot/dts/bcm28155-ap.dts | 41 ++++++++++ arch/arm/boot/dts/bcm59056.dtsi | 158 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 199 insertions(+) create mode 100644 arch/arm/boot/dts/bcm59056.dtsi diff --git a/arch/arm/boot/dts/bcm28155-ap.dts b/arch/arm/boot/dts/bcm28155-ap.dts index 5ff2382..1240f42 100644 --- a/arch/arm/boot/dts/bcm28155-ap.dts +++ b/arch/arm/boot/dts/bcm28155-ap.dts @@ -47,6 +47,10 @@ i2c@3500d000 { status="okay"; clock-frequency = <400000>; + + pmu: pmu@8 { + reg = <0x08>; + }; }; sdio1: sdio@3f180000 { @@ -57,16 +61,22 @@ sdio2: sdio@3f190000 { non-removable; max-frequency = <48000000>; + vmmc-supply = <&camldo1_reg>; + vqmmc-supply = <&iosr1_reg>; status = "okay"; }; sdio4: sdio@3f1b0000 { max-frequency = <48000000>; cd-gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + vmmc-supply = <&sdldo_reg>; + vqmmc-supply = <&sdxldo_reg>; status = "okay"; }; usbotg: usb@3f120000 { + vusb_d-supply = <&usbldo_reg>; + vusb_a-supply = <&iosr1_reg>; status = "okay"; }; @@ -74,3 +84,34 @@ status = "okay"; }; }; + +#include "bcm59056.dtsi" + +&pmu { + interrupts = ; + status = "okay"; + + regulators { + camldo1_reg: regulator@1 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + sdldo_reg: regulator@5 { + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + }; + + usbldo_reg: regulator@11 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + iosr1_reg: regulator@14 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + }; +}; diff --git a/arch/arm/boot/dts/bcm59056.dtsi b/arch/arm/boot/dts/bcm59056.dtsi new file mode 100644 index 0000000..08ea3da --- /dev/null +++ b/arch/arm/boot/dts/bcm59056.dtsi @@ -0,0 +1,158 @@ +/* + * Copyright 2014 Linaro Limited + * Author: Matt Porter + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +&pmu { + compatible = "brcm,bcm59056"; + + regulators { + #address-cells = <1>; + #size-cells = <0>; + + rfldo_reg: regulator@0 { + reg = <0>; + regulator-compatible = "rfldo"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + + camldo1_reg: regulator@1 { + reg = <1>; + regulator-compatible = "camldo1"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + camldo2_reg: regulator@2 { + reg = <2>; + regulator-compatible = "camldo2"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + simldo1_reg: regulator@3 { + reg = <3>; + regulator-compatible = "simldo1"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + + simldo2_reg: regulator@4 { + reg = <4>; + regulator-compatible = "simldo2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + + sdldo_reg: regulator@5 { + reg = <5>; + regulator-compatible = "sdldo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + sdxldo_reg: regulator@6 { + reg = <6>; + regulator-compatible = "sdxldo"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + + mmcldo1_reg: regulator@7 { + reg = <7>; + regulator-compatible = "mmcldo1"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + + mmcldo2_reg: regulator@8 { + reg = <8>; + regulator-compatible = "mmcldo2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + + audldo_reg: regulator@9 { + reg = <9>; + regulator-compatible = "audldo"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + + micldo_reg: regulator@10 { + reg = <10>; + regulator-compatible = "micldo"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + + usbldo_reg: regulator@11 { + reg = <11>; + regulator-compatible = "usbldo"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + + vibldo_reg: regulator@12 { + reg = <12>; + regulator-compatible = "vibldo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + csr_reg: regulator@13 { + reg = <13>; + regulator-compatible = "csr"; + regulator-min-microvolt = <860000>; + regulator-max-microvolt = <1440000>; + }; + + iosr1_reg: regulator@14 { + reg = <14>; + regulator-compatible = "iosr1"; + regulator-min-microvolt = <860000>; + regulator-max-microvolt = <1800000>; + }; + + iosr2_reg: regulator@15 { + reg = <15>; + regulator-compatible = "iosr2"; + regulator-min-microvolt = <860000>; + regulator-max-microvolt = <1800000>; + }; + + msr_reg: regulator@16 { + reg = <16>; + regulator-compatible = "msr"; + regulator-min-microvolt = <860000>; + regulator-max-microvolt = <1800000>; + }; + + sdsr1_reg: regulator@17 { + reg = <17>; + regulator-compatible = "sdsr1"; + regulator-min-microvolt = <860000>; + regulator-max-microvolt = <1340000>; + }; + + sdsr2_reg: regulator@18 { + reg = <18>; + regulator-compatible = "sdsr2"; + regulator-min-microvolt = <860000>; + regulator-max-microvolt = <1800000>; + }; + + vsr_reg: regulator@19 { + reg = <19>; + regulator-compatible = "vsr"; + regulator-min-microvolt = <860000>; + regulator-max-microvolt = <1800000>; + }; + }; +};