Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751992AbbGaN0L (ORCPT ); Fri, 31 Jul 2015 09:26:11 -0400 Received: from mail-bl2on0133.outbound.protection.outlook.com ([65.55.169.133]:36312 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751797AbbGaN0I (ORCPT ); Fri, 31 Jul 2015 09:26:08 -0400 X-Greylist: delayed 1079 seconds by postgrey-1.27 at vger.kernel.org; Fri, 31 Jul 2015 09:26:08 EDT Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; From: Chenhui Zhao To: , CC: , Subject: [PATCH 2/4] powerpc: get the physical base address of DCSR Date: Fri, 31 Jul 2015 20:53:04 +0800 Message-ID: <1438347186-8462-2-git-send-email-chenhui.zhao@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1438347186-8462-1-git-send-email-chenhui.zhao@freescale.com> References: <1438347186-8462-1-git-send-email-chenhui.zhao@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD036;1:JlVWdXuFxzs30dWK5gohTBOoX8wewBeHrwh7jyGwWqo+nE+s9nqvyq+fUF36G60IwmhDOj2JHMISkRoJCeYJSld76/oiIHkkk9ckkVnfrM0Am8BqwuM27ECiunCnPtz9EkenKfj5f6dbRy3+Npjmb+NRBAnODdoTzaZNHK0YQJqWA0ZVG3k/5y7ah+BZcij2xjJ0enUmulsna4WeMfWKjuzGl4/s7jFaVSCeqo9ZfysiiD4srqrAkaUgymGCnplexxafcYf1NKN7HIEJuXDTUXaG2Fu3RUjnPEh63VhhzFYC/xlGj0R6Ll+S0L0SQkFsrFI+3FIbZERA1jRbqLo8pw== X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(339900001)(199003)(189002)(87936001)(19580405001)(6806004)(86362001)(19580395003)(50226001)(49486002)(76176999)(50986999)(47776003)(189998001)(5001770100001)(85426001)(77156002)(48376002)(92566002)(4001450100002)(106466001)(2950100001)(62966003)(77096005)(46102003)(107886002)(5001960100002)(105606002)(50466002)(229853001)(5003940100001)(36756003)(104016003)(33646002)(15583001)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR03MB295;H:az84smr01.freescale.net;FPR:;SPF:Fail;MLV:nov;A:1;MX:1;PTR:InfoDomainNonexistent;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB295;2:fzZPI926X6jFD5AibjXMv0qPiMbfI4Z+XqEfRDfDvxbs3Yiyin5GbUhWkJ9xy/ZtXrS1LWAVht6M5HPB7NbDuiNbRqAvGWjFHayKSuxWmyymTI2nLl32cPfDcfJNjm1a7rEsrqJIpPApHodLdued6NV461ZCkGxDWr+pUFk3SD0=;3:7wn11idTOe/f/EfpZ8W45o/YwOU/nSMyjRtrMl0aaTX4AiJieBlso6v06iC+3ygDDdyCSHTQ8NJFk0G0afBQFAsaFOh3TWgYMG/beGRoMrYLkxRtNRO/LwDqArJ5eMfDtRi1QvJkFMjxfGWORmBkFXohuCb3+FjlMpfQfvAwC/4TWTnyUEw1Y3wJ2PDFL+wEK++R8GGCToFE9P7eixrZlNU7lsIcterSUKH7RTV+MH0=;25:rxVJjl75GlkbQPBuKlfz8wqjbdBmS6IIlltriHuKZT9GPIn/kTvHg8IDHG3h4qOuGnGgV/RH8Ib8T4vqpFnGB/y8N0zewAylOWJFJx3OllZcOU/8NYsdKxoOJQFMk7uda9m9AOtZmhIxRRAUG0HAugwgX3KUeECmGtIKHNf6WiYZaUzTufLlRN27SdyInicS+rn2EYQ8wEdEWubxvTgLR98RlVsa/zkPpc2wyU3UTklXrUupWKe3JU/+w9GbTI+jNi0OjUAGRz8R5lN6+9FDqA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB295; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB295;20:Pn+Br63MsvSN45sLFgC0MLtBkNfeAZXOGuUqacEbjlfA1Pm92S14w0d95RnJnyLef20IVmThrmQC+4a8Bz0Y3DjNzBVwagGDRG47zLEZ8sQVHJCSawhRJYY5ODmpsy3mZEXMPh8rdiP1jDfDGB6HUM7nVS5dAz1Ueh8o7Yzo9Z39efZQgICb+qqstKIXJ/mgkXMWRkaJ995SVc7DqyXyaUwMjaAL0YbafJ7yQ5ZeLdgrfWGP4VaCwaCb1ogvoIYifieXGeuFYjNnwd3F+83HFiu1qGLvUg2TGckjFd6t1VPFgG7Rg3OGr8bhFV6X4hpTd7BzlK+SunHWfyfIRhma55usosFa3Rg9HCAUCzwiIZQ=;4:DT3GjalTMgxGRiAwMwd7D8h+n3mhhvBfNyqQ6MVevwVV8GTvINmNZI8EPsEdu7t1BsMWzg/aprP1geQMQBBy+Lce9BEQnZWsftPgO2AUTqTOX11eHGUv2mmCZi+J7016MmCOpb+YLK3f7JRqP0k3VdXl+WGaVtW5TJOdKXFT6cO1bu501jNwqMP8hOX21vplOUX0/J524GcGkEmcguidDvykCN40w4AS0Ned7p39ipfeAp65t/5aV7x+uE+AjhvTFGC5JK1o9paro/J8va8F0WKGlKeeRzz3MO4BUBfolDQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:BLUPR03MB295;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB295; X-Forefront-PRVS: 0654257CF5 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR03MB295;23:lbmdF+J57qMS4GTHLksqofbumOqa8ub1eSvVXvwvuQ?= =?us-ascii?Q?Z1Bvg74WK5pN3xahrJXIcTZFWOYoqWqs6JZUMMvwWn/gzxy8rGbk+k9el2+T?= =?us-ascii?Q?5XrzEx3re7mCkQKfPEPj7duyKd+5w9IBOSSeu7gYkbrqYx7Q7pgChh95D5zR?= =?us-ascii?Q?lVrP5rS030tKVqNGALnrINFQRxNTPTRitYYF1Wx6SWIWTDG8LBes+R3CCO3U?= =?us-ascii?Q?MvT9KC1J40iujUuEomCn+d8mkCG25AZPylgT17Zs4jaUPs5C8xAQTzJdoGUv?= =?us-ascii?Q?6gg8meSk/V5xsJ6MNe28YbKRVsENytGStH4q2dW4x9NQkQpXn6lVSm9Ye1j+?= =?us-ascii?Q?ZIGJXDQVoIi4bLOMJdTxsSzsov4OogSZaRh/LInXfWptNGu4C4zZGCfHjAwl?= =?us-ascii?Q?htF60qv+a05+Dp8LcDJFOGVy63icukzWZhJxwYZ0BdD/+EWG4pSYIXzy+bRC?= =?us-ascii?Q?l7JHZZ9EGHRgB6YXYT/MFcll4R0deNAz9Ek04DmtvhdiC1v4egvXtQMlhhK2?= =?us-ascii?Q?7VAdKYqIZDEGLI+r0LyJ4cjHykxor8Vk2XqT9oiNoxd7FnKneVkqZ721xzK1?= =?us-ascii?Q?EbdYIBgbU+RmAC/OJ/0RNHBVUSgMqEhn52SA7tnIeydlXWqiDsOnbn5NB8qJ?= =?us-ascii?Q?f4a0CFSaV7B9EJa/O7pYxyMjeovvzXXwkRwK/duN/whQmXdINhpuQl60o0HL?= =?us-ascii?Q?P9AKL1at6jm4eC6mfo13/LUKY9MaXBIoH6wNAbE6jBz/flC1axcDw4jWgj4t?= =?us-ascii?Q?XCC2TSA9AKn7rVXy/8B4qVrS3dq7sv17DNvekzGM+vCgu3b0DJtoGpZB0XfO?= =?us-ascii?Q?ynl2UQj9Ojv7pHuEGFsbVrfARqDH1AT+essOHwlutbEU5dnIeTARxqcGatH5?= =?us-ascii?Q?uv4BJgVhMVAqT88x1PDNwqkRywXkuQIwuOLkHnJy0Q7ld6sC+LvkFdQP/pKv?= =?us-ascii?Q?5Xvmu4Wx+SQYtElXi6EKTfIMzQRjRA+K1S1mZduZlaoRFEvLrPP/RkH5YlEn?= =?us-ascii?Q?e2ZWFoCb9uM3/xB1rm0I1+2XJRQAFEHP8gvwU4uCHgkQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB295;5:QyC81s3WzkvQEjQDwOdZb7YieyIaDCVM/UMmZhu8QpkIgtgN/gNw03f3Rd2ZBuHoZ0SkLAolzFECcyiDaNMKEc5LPv+UP8o+TF2VCBdVfLFcMyrcuITrrMRVCl57XKI2vXxktopV7vaGDAtAYtX8ow==;24:7GX4eRJrGUbTKQOOYdcFv4vtl+yib7zpubsa0UE+M0fuWYvyzt+IY2PAdC3dk8WI0rf88gsQbnPMGdQi5QLv3aacZ4QeY5/73NdlLhE1oko=;20:phI9H4v2ufLuPTuqj1jRo/BncR3c6L7SVCtg0/2lqjupI8U++Ap+HJ/E2xhxxOwvRBYT2p7mgNQ0fbzXL3OKzQ== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2015 12:53:21.8762 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB295 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1968 Lines: 70 Add get_dcsrbase() to get the physical base address of DCSR. Signed-off-by: Chenhui Zhao --- arch/powerpc/sysdev/fsl_soc.c | 31 +++++++++++++++++++++++++++++++ arch/powerpc/sysdev/fsl_soc.h | 1 + 2 files changed, 32 insertions(+) diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c index 99269c0..ffb7c1c 100644 --- a/arch/powerpc/sysdev/fsl_soc.c +++ b/arch/powerpc/sysdev/fsl_soc.c @@ -45,6 +45,37 @@ extern void init_fcc_ioports(struct fs_platform_info*); extern void init_fec_ioports(struct fs_platform_info*); extern void init_smc_ioports(struct fs_uart_platform_info*); static phys_addr_t immrbase = -1; +static phys_addr_t dcsrbase = -1; + +phys_addr_t get_dcsrbase(void) +{ + struct device_node *np; + const __be32 *prop; + int size; + u32 naddr; + + if (dcsrbase != -1) + return dcsrbase; + + np = of_find_compatible_node(NULL, NULL, "fsl,dcsr"); + if (!np) + return -1; + + prop = of_get_property(np, "#address-cells", &size); + if (prop && size == 4) + naddr = be32_to_cpup(prop); + else + naddr = 2; + + prop = of_get_property(np, "ranges", NULL); + if (prop) + dcsrbase = of_translate_address(np, prop + naddr); + + of_node_put(np); + + return dcsrbase; +} +EXPORT_SYMBOL(get_dcsrbase); phys_addr_t get_immrbase(void) { diff --git a/arch/powerpc/sysdev/fsl_soc.h b/arch/powerpc/sysdev/fsl_soc.h index 4c5a19e..5fdd3a5 100644 --- a/arch/powerpc/sysdev/fsl_soc.h +++ b/arch/powerpc/sysdev/fsl_soc.h @@ -6,6 +6,7 @@ struct spi_device; +extern phys_addr_t get_dcsrbase(void); extern phys_addr_t get_immrbase(void); #if defined(CONFIG_CPM2) || defined(CONFIG_QUICC_ENGINE) || defined(CONFIG_8xx) extern u32 get_brgfreq(void); -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/