From patchwork Tue Sep 12 20:37:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 813077 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=cogentembedded-com.20150623.gappssmtp.com header.i=@cogentembedded-com.20150623.gappssmtp.com header.b="KN2VI1R5"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xsHPf2ZyQz9t2Z for ; Wed, 13 Sep 2017 07:05:26 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751430AbdILVFZ (ORCPT ); Tue, 12 Sep 2017 17:05:25 -0400 Received: from mail-lf0-f51.google.com ([209.85.215.51]:38588 "EHLO mail-lf0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751351AbdILVFY (ORCPT ); Tue, 12 Sep 2017 17:05:24 -0400 Received: by mail-lf0-f51.google.com with SMTP id q132so29470940lfe.5 for ; Tue, 12 Sep 2017 14:05:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cogentembedded-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:user-agent:date:to:cc:to:to:cc:subject:mime-version :content-disposition; bh=oxg2e5qklclyWW8IbAJZb7N6kzePEBC3e8lQ/JzNSQ4=; b=KN2VI1R5yyhMhwHYGAHxOK7OzR6YwB2Q52G9ccbh/AJq/y574FoseyFXKSSSb6hGH9 JHKptGTvc2djzLMOzv4bGogz6t3Ox4FkTO9HJXLacTEoOIoCvBRI81fS5AGHiW4lIJf1 VtsdjA4ZA/X+ERGZDsCIW+tLco8kxr+BkreB5Dy3S4mKpNXoy1fsLewwiIVpmBUU2687 CbOkAIQPXjw/kevTpalVjphwbPUlj6GAhWQp2ezUbvk4+etzMMuEGkLYt87CfJ3nVxUm nzzRshJ2wu90nA2hRukZa/wQOIkL8tb9P2GINsHy87fFFiE2LOYQLe2SAkitmaNbtngC IEgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:user-agent:date:to:cc:to:to:cc :subject:mime-version:content-disposition; bh=oxg2e5qklclyWW8IbAJZb7N6kzePEBC3e8lQ/JzNSQ4=; b=eB/4MSSJ89/7x7Ln+zu38o93XqNfDX3N+n7wfiMrJBIwFYrDQ0Tey7zX9IbRN6u7bd H4ZrFO149YN8/KvqKcMoNOGNne9SrOQz7rFQPTlrhlMDFHJUszxnHNanp/i38e9Ct/rR waiUsHI3jgpI70EM1rLZ5hiTPkvZvAmRR43GLMUOLb/JVbo7zwwOtrAS0fihmv5ZZs3c 8+dh0CanfTgEbXxLtdibhHXa3ihJs6rZMceU1N9t3voNy7R6NzG2qXruDD+W5Fm+nRWS y0vnvi1e7zcX1Pqcj6FMbbyqGqoNFYD7wqyOdLrHTdASiQ6QGUO3CNz/9yEw3dUoH4NR mQcA== X-Gm-Message-State: AHPjjUgrRy786Wwanz+c3i5whYLw3cHyl1Xj7pHGwk3Ld/JhYYj0GdPj aBNomYSan91bwnfx X-Google-Smtp-Source: ADKCNb7wwlW10r52EjHWoLQrta2WetAmcihk2UKHtbctFwmSyGsjBL/qFj4+zGkcusHj4+heBoUYAQ== X-Received: by 10.46.16.71 with SMTP id j68mr3273231lje.110.1505250323315; Tue, 12 Sep 2017 14:05:23 -0700 (PDT) Received: from wasted.cogentembedded.com ([31.173.85.236]) by smtp.gmail.com with ESMTPSA id c23sm773673lfg.81.2017.09.12.14.05.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Sep 2017 14:05:20 -0700 (PDT) From: Sergei Shtylyov X-Google-Original-From: "Sergei Shtylyov" Received: by wasted.cogentembedded.com (sSMTP sendmail emulation); Wed, 13 Sep 2017 00:05:18 +0300 Message-Id: <20170912210518.203740259@cogentembedded.com> User-Agent: quilt/0.64 Date: Tue, 12 Sep 2017 23:37:20 +0300 To: Rob Herring , Mark Rutland , Simon Horman , devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org Cc: Magnus Damm , Vladimir Barinov , Sergei Shtylyov To: Catalin Marinas To: Will Deacon Cc: linux-arm-kernel@lists.infradead.org Subject: [PATCH 04/11] soc: renesas: rcar-sysc: add R8A77970 support MIME-Version: 1.0 Content-Disposition: inline; filename=soc-renesas-rcar-sysc-add-R8A77970-support.patch Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Add support for R-Car V3M (R8A77970) SoC power areas to the R-Car SYSC driver. Based on the original (and large) patch by Daisuke Matsushita . Signed-off-by: Vladimir Barinov Signed-off-by: Sergei Shtylyov Reviewed-by: Geert Uytterhoeven --- Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt | 1 drivers/soc/renesas/Kconfig | 5 + drivers/soc/renesas/Makefile | 1 drivers/soc/renesas/r8a77970-sysc.c | 39 ++++++++++ drivers/soc/renesas/rcar-sysc.c | 3 drivers/soc/renesas/rcar-sysc.h | 1 6 files changed, 50 insertions(+) -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: renesas/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt =================================================================== --- renesas.orig/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt +++ renesas/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt @@ -17,6 +17,7 @@ Required properties: - "renesas,r8a7794-sysc" (R-Car E2) - "renesas,r8a7795-sysc" (R-Car H3) - "renesas,r8a7796-sysc" (R-Car M3-W) + - "renesas,r8a77970-sysc" (R-Car V3M) - "renesas,r8a77995-sysc" (R-Car D3) - reg: Address start and address range for the device. - #power-domain-cells: Must be 1. Index: renesas/drivers/soc/renesas/Kconfig =================================================================== --- renesas.orig/drivers/soc/renesas/Kconfig +++ renesas/drivers/soc/renesas/Kconfig @@ -14,6 +14,7 @@ config SOC_RENESAS select SYSC_R8A7794 if ARCH_R8A7794 select SYSC_R8A7795 if ARCH_R8A7795 select SYSC_R8A7796 if ARCH_R8A7796 + select SYSC_R8A77970 if ARCH_R8A77970 select SYSC_R8A77995 if ARCH_R8A77995 if SOC_RENESAS @@ -55,6 +56,10 @@ config SYSC_R8A7796 bool "R-Car M3-W System Controller support" if COMPILE_TEST select SYSC_RCAR +config SYSC_R8A77970 + bool "R-Car V3M System Controller support" if COMPILE_TEST + select SYSC_RCAR + config SYSC_R8A77995 bool "R-Car D3 System Controller support" if COMPILE_TEST select SYSC_RCAR Index: renesas/drivers/soc/renesas/Makefile =================================================================== --- renesas.orig/drivers/soc/renesas/Makefile +++ renesas/drivers/soc/renesas/Makefile @@ -11,6 +11,7 @@ obj-$(CONFIG_SYSC_R8A7792) += r8a7792-sy obj-$(CONFIG_SYSC_R8A7794) += r8a7794-sysc.o obj-$(CONFIG_SYSC_R8A7795) += r8a7795-sysc.o obj-$(CONFIG_SYSC_R8A7796) += r8a7796-sysc.o +obj-$(CONFIG_SYSC_R8A77970) += r8a77970-sysc.o obj-$(CONFIG_SYSC_R8A77995) += r8a77995-sysc.o # Family Index: renesas/drivers/soc/renesas/r8a77970-sysc.c =================================================================== --- /dev/null +++ renesas/drivers/soc/renesas/r8a77970-sysc.c @@ -0,0 +1,39 @@ +/* + * Renesas R-Car V3M System Controller + * + * Copyright (C) 2017 Cogent Embedded Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include +#include + +#include + +#include "rcar-sysc.h" + +static const struct rcar_sysc_area r8a77970_areas[] __initconst = { + { "always-on", 0, 0, R8A77970_PD_ALWAYS_ON, -1, PD_ALWAYS_ON }, + { "ca53-scu", 0x140, 0, R8A77970_PD_CA53_SCU, R8A77970_PD_ALWAYS_ON, + PD_SCU }, + { "ca53-cpu0", 0x200, 0, R8A77970_PD_CA53_CPU0, R8A77970_PD_CA53_SCU, + PD_CPU_NOCR }, + { "ca53-cpu1", 0x200, 1, R8A77970_PD_CA53_CPU1, R8A77970_PD_CA53_SCU, + PD_CPU_NOCR }, + { "cr7", 0x240, 0, R8A77970_PD_CR7, R8A77970_PD_ALWAYS_ON }, + { "a3ir", 0x180, 0, R8A77970_PD_A3IR, R8A77970_PD_ALWAYS_ON }, + { "a2ir0", 0x400, 0, R8A77970_PD_A2IR0, R8A77970_PD_ALWAYS_ON }, + { "a2ir1", 0x400, 1, R8A77970_PD_A2IR1, R8A77970_PD_A2IR0 }, + { "a2ir2", 0x400, 2, R8A77970_PD_A2IR2, R8A77970_PD_A2IR0 }, + { "a2ir3", 0x400, 3, R8A77970_PD_A2IR3, R8A77970_PD_A2IR0 }, + { "a2sc0", 0x400, 4, R8A77970_PD_A2SC0, R8A77970_PD_ALWAYS_ON }, + { "a2sc1", 0x400, 5, R8A77970_PD_A2SC1, R8A77970_PD_A2SC0 }, +}; + +const struct rcar_sysc_info r8a77970_sysc_info __initconst = { + .areas = r8a77970_areas, + .num_areas = ARRAY_SIZE(r8a77970_areas), +}; Index: renesas/drivers/soc/renesas/rcar-sysc.c =================================================================== --- renesas.orig/drivers/soc/renesas/rcar-sysc.c +++ renesas/drivers/soc/renesas/rcar-sysc.c @@ -284,6 +284,9 @@ static const struct of_device_id rcar_sy #ifdef CONFIG_SYSC_R8A7796 { .compatible = "renesas,r8a7796-sysc", .data = &r8a7796_sysc_info }, #endif +#ifdef CONFIG_SYSC_R8A77970 + { .compatible = "renesas,r8a77970-sysc", .data = &r8a77970_sysc_info }, +#endif #ifdef CONFIG_SYSC_R8A77995 { .compatible = "renesas,r8a77995-sysc", .data = &r8a77995_sysc_info }, #endif Index: renesas/drivers/soc/renesas/rcar-sysc.h =================================================================== --- renesas.orig/drivers/soc/renesas/rcar-sysc.h +++ renesas/drivers/soc/renesas/rcar-sysc.h @@ -58,6 +58,7 @@ extern const struct rcar_sysc_info r8a77 extern const struct rcar_sysc_info r8a7794_sysc_info; extern const struct rcar_sysc_info r8a7795_sysc_info; extern const struct rcar_sysc_info r8a7796_sysc_info; +extern const struct rcar_sysc_info r8a77970_sysc_info; extern const struct rcar_sysc_info r8a77995_sysc_info;