From patchwork Wed Nov 16 18:24:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harninder Rai X-Patchwork-Id: 9431429 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 401926021C for ; Wed, 16 Nov 2016 12:46:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 321332874A for ; Wed, 16 Nov 2016 12:46:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2687228886; Wed, 16 Nov 2016 12:46:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DATE_IN_FUTURE_03_06,RCVD_IN_DNSWL_MED autolearn=no version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 908F92874A for ; Wed, 16 Nov 2016 12:46:49 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1c6zaG-0001aO-2S; Wed, 16 Nov 2016 12:45:00 +0000 Received: from mail-co1nam03on0063.outbound.protection.outlook.com ([104.47.40.63] helo=NAM03-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1c6za7-0001V2-OR for linux-arm-kernel@lists.infradead.org; Wed, 16 Nov 2016 12:44:54 +0000 Received: from BN3PR0301CA0056.namprd03.prod.outlook.com (10.160.152.152) by MWHPR03MB2479.namprd03.prod.outlook.com (10.169.200.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.721.10; Wed, 16 Nov 2016 12:44:29 +0000 Received: from BN1AFFO11FD005.protection.gbl (2a01:111:f400:7c10::185) by BN3PR0301CA0056.outlook.office365.com (2a01:111:e400:401e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.721.10 via Frontend Transport; Wed, 16 Nov 2016 12:44:29 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1AFFO11FD005.mail.protection.outlook.com (10.58.52.65) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.721.5 via Frontend Transport; Wed, 16 Nov 2016 12:44:28 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:734; Count:8 Received: from pratiyush-OptiPlex-790.ap.freescale.net (miranda.ap.freescale.net [10.232.132.165]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id uAGCiNrL012782; Wed, 16 Nov 2016 05:44:24 -0700 From: Harninder Rai To: , , , Subject: [PATCH][v2] arm64: Add DTS support for FSL's LS1012A SoC Date: Wed, 16 Nov 2016 23:54:07 +0530 Message-ID: <1479320647-24460-1-git-send-email-harninder.rai@nxp.com> X-Mailer: git-send-email 2.7.4 X-IncomingHeaderCount: 8 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131237738689767990; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(336004)(199003)(189002)(50466002)(8666005)(33646002)(47776003)(36756003)(50986999)(2906002)(92566002)(626004)(5660300001)(6666003)(68736007)(106466001)(81156014)(7846002)(48376002)(104016004)(50226002)(105606002)(81166006)(305945005)(8676002)(8936002)(87936001)(5003940100001)(85426001)(4326007)(97736004)(77096005)(5001770100001)(86362001)(189998001)(356003)(7059030)(2004002); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR03MB2479; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD005; 1:ZsTtRfx0naMK8ep37wNk9a06LnRVsrYk/PGzmXbYewLN3vkBtZWe6iQjFaQ4+XXkjt/jfqq4+yPJakL7m+ZSvG7GTYNEbCIrdW9sDsnNRWIRb2yWuhUYFCDa0+uh4WW+KBdHWMJrZhmcLRrqmZj6dz5skCQNrImwrbsJHzbX5MXsZ1RTpnQxN6RbPot3Iwff94u29+WQmGwJoHzZDUOaEsmNPWmtm+Ruj/rNoBHRj7lRKVezhu332E+rUCiFKWyh7oJLIywTVtr2KMu5kr1WwDajC/iWvFr9ZvA0erZsUg0YXXLWdela93pgiPnd0NYKOKvFfFtSB8XeNS/FphVUBvZyY9w/A7VMmXmKNgEoPlnFOOeDq6wp1RSAtV9dA0LmvMue1mIWgkKgYzqwu9eZZ4Dzxg4CNTFCxDEvKmHs8zfXA5+qxx3G+XpCLIYCpB/KO5zDJrM8dVs+Jo2bG7qVg+4ea9jVyhhlxJsH3oniqY+2Yq8AGVlO9OtYfSWpCCfuafMlu1esuljXw0t/HBxXJLwaQIapaR6JFmfvGg/7YabdlqOgCTX8icXfFJt7mxIP/hc36kd72uXs/OL+DRlzyQRftxzc00beZryYkF2pVxBZkfpjnKe5XFCuGHUPCeU9e9Wj2aG0qyHbsbbHgAcTZw9GqcoOem6S4f9HbbcFgZmtLepPT0QBDM1ugFLIaujG7JXhHN9HHVAKl5YPQ+CDOE7uo/CQuzumcG8q2Ij0HyL24FDJKe6BQBsd2/0hvHB1 MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2479; 2:8y8fomcx+i970+38kVODz7ao5JuCZdKyDjzu3XtEQzmOg+baK/RQLfxQGrMDDfC82BtY56p1oFa9XFlL+gn//V1tNtO9HKc9fXBFwHFcXCaWWBAaeTH58Qd66s6FFkCkV90lrLs9wJ4y7VeprNF5NPwj/5q3qxl/wa5wzK29kqg=; 3:aGT9wGW9lZUXAkBPpYTocYss+U+akKHdBQMmMpNl5YILSoYf1aqmK5l4Es3vOeE6DlSxw9k/LhENhlzTYWz0ySsJImzqQIuo3GhGssJanlf7EsvoCClBw9fzS1HqBk/14sgphAxFDq/hchYRjMbU1wvq4IuFUrZAL7AMf/ASiWZKu5HCDci+a4e0W17QO+WqOzQmpb/3sBdHxtnCd8mMpYzuV5pcrlwpIiKnL79h6JgQULzrunvLDGkwKXj9i6S9rJgKQSH9I5Qcygz7cmV7Kw==; 25:/AlRDWHk4LVynGHforionh/MlG8dNdAL4HFGVuNurTwMGiia/AjkRf6XTiJiySFE4tzDYqFg1dFFYhn8NVyd5EtZubObsGsQyf/6eujvPDbPeQLqTcUqeNbXsXZOkzZF5AGUgulFpSA/JJ5fhx08PqNhbsgeNOrgIC95oWsB8SBRQyv46GyPwqv66QDfJqeLNRqxEa45ot5Z0ucD3Isck1zbPOIAl36TXcWpoxkE3ckGNgFF1YyyBjP/gRke731/NKOEaveFJpI4oVl3pBufYGdxCQHHr7wbotGq6L3Lk6u4ngxegcGQDNMmbYbvEBuYea0+mowln+Qi9CqCoO5CgDNhRs+gzU2D2j+mXQ5eiQfM6mepyCQwPlwOpBt8R1DvviuhBlGe1P4yP4xj1bIJkp5P+r0/N/76ptBamzsntD0XMflLiVHECaftvl6L9m/mu7twzARrbEzt1LYMoLVhvg== X-MS-Office365-Filtering-Correlation-Id: 06157465-c491-4d6e-48d5-08d40e1e4e2f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:MWHPR03MB2479; X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2479; 31:MaBD6p3Tp0IHV4QJtYhRKwcnaOLcxjvL+qDaeoDK73JHzFz8/UdG6gjxljsGH0KG2twUNuH2YLmq3+TyNxTPSXx4VBaYzrSjsXn60kWD42DSm3HLFE/VhZud/jYOKINh0o2EdvOw4Cy3YjKUM3XT+YwoPbNLTWev+8wN6TycBa+oonTxUgDLQKFl0ROi5Vi6JaKMdfEqsGzyU/0lySWhbAlOPTh9ZBdONWduKVK/f1aQXYs/lrTQJa0g5CURiXPv2gugvVjiwKv1Vu7kuQkY1A==; 4:ESvP4Ur7Lj3HRBAMjjefQ1wgCyD7kku0CKb2/UzuHBtxqSbgLixRjmcUs1RfMY8raGZNu+y4A9E8/f2fzNjos5ylVAL7iEPG9piKZceXzRAFf7mLTNS41RIlw5r/Josxp7JHKTql5udBBtviig9rkRT9ltvT7BglGsGWFU6n3PZtjjSmi2KwipJ2UOefzAKwQMn6P24WoJO0P2Yz9uZ7y6D0kceSCRTSeq9UCBiZruG9VDlJKOQukQIaphi8j5QECAEjkI4TpMl0BiS81PWXe1UNGFL48DETqK5382WyFAJKZxjjs4HKW6RUDGso08y66ZvqdbuH/WJijDXEKmvFthHBn/Ukh94YoASNhow6q9PI52Ru2x2oaKrDhj1HE+9SMyq/diaAi7cRWxdegCB4Q17idP01XCos7eefRogBZcgyCp+XQS0E2YBHp5EG2Wr03sFyUP0IXDIsp+5OpVIujTQG2A5Do23JXnoq/e3uIrf/osdXoXb/orRNoHms7mZFV4c4CUCkd9IibVCEBHtq6/tfBstB3vMIYm4YAI+Op8I/CizPiiMd7OgAXweSFCKK X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095035)(601004)(2401047)(8121501046)(13018025)(13023025)(13017025)(5005006)(13015025)(13024025)(10201501046)(3002001)(6055026)(6096035); SRVR:MWHPR03MB2479; BCL:0; PCL:0; RULEID:(400006); SRVR:MWHPR03MB2479; X-Forefront-PRVS: 01283822F8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB2479; 23:O7AiBQkECKZosIqjIbICp4oSo54qQqgcOAL1kY7nG?= =?us-ascii?Q?SzqXYz5MFJta/JmGtrjmwmgCLZeUaoc9T9gGXHPznnbW5+vlUAbmI6wrNvfv?= =?us-ascii?Q?6P5X/cQpDwPK3hGsa+19YEcKMmx5D0Ukl2okcEs4/QsSsN1dxA+EHU0Yf1a6?= =?us-ascii?Q?2gH/+OUHy33Fjwjh2P5Gx5b4cVsZ8jYrwwcvX/AC7XXepo99Z21qpbL/KxZO?= =?us-ascii?Q?1sQu5pixccOJa+t6vJzFTvn8JmCGl8/nfGOxOrcnfn5XmUHoHGaVlptzoOmz?= =?us-ascii?Q?MvevvtTpBBhezU2mdqxFcUEogvduWqUYxIPr/Rsz6W8G6Dlu2Q98zQ/b3Ekg?= =?us-ascii?Q?eD0QJlOkyjJrIQLEHa1cZzXA7/QLsd3ti15zlV04Gnjx2HRgp+Evn/RvPVys?= =?us-ascii?Q?JnmRPfO+Lg9QJzwD8p2TtB7gALIfvYGjPzESkH01a5ccQLarhL2B23/JEMtN?= =?us-ascii?Q?Vt/xJBZKxpNwTuvUTUkeA1ODcevNVM727+Vd35/F2IKYDhqC5SYI0W31Ield?= =?us-ascii?Q?Or1eEA1KWeVazJxWvbEK5AIYTvhEvf8xTILeXhpaWpiytkWENHRHYV7t382v?= =?us-ascii?Q?Ce/HxTnaEwRVTa2QHH/j0Qb6x/jjH2HbJL8duIgx2teZWXJBX+c8js1Ygrx0?= =?us-ascii?Q?U+ozaCmRJGTfX1z3Skv4SgKSkJvBAvUp2Rjjqkn5RnCasDxoE4Qh2Me/p345?= =?us-ascii?Q?g4Tga0pQ7ZsHp2/RxGnnoXfMaBg83PhHyun4YA/vp9w51TB5yhMf5wBsWG8t?= =?us-ascii?Q?G9c00ENQ3zgER6ejqDbBmn5Id1C7y/BH4JuCD3ogzaT1uxGt1XY928VGkEhw?= =?us-ascii?Q?JjvpA0XiUNoPrxiY4LdjL2iXWe44/BAugnwnGS9Z72tnuy96SX5uv3+emqzV?= =?us-ascii?Q?TyIdYNTNXZzftTuBd+eeYdkmlzuDuN9QVr5Bt1omWUk1aDNRtxasuJVQAosW?= =?us-ascii?Q?HlTotnFh5skfKjv1Md99VAfPUt9qDeDJs3JQR/DlseYwLbT2BliZn9U0fYcE?= =?us-ascii?Q?fiyaQlpgagFEP/hjSD42g8p8nzay5M5t59XLqocVaqBjvgl+y8ArwUPolsL5?= =?us-ascii?Q?rba/k8=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2479; 6:1zwx9B1rb/YtrjO85WtO+Sp4qE9dMTV1n3diMFx1HzLPIv+KVIofMexEl9KkrgoX83WQFIj89saM49BPp9KvN8LW9wvDm+SuR1LoZfNI6VdQfXd9KZF85GRbYpz9WaKDtoBeUzfFASkHfyCXa8DbYebmAXBWlLW4CPA5ZSTXFhny4LY6afRuibNf7ap0HM3SSH4+WHn3365VldI2aLMqnLIBhn0tyiRAt2amo0lz5PHHwI/5CrBsbwuSIU9E5jENqKzM2X+3HPeV3Z9U90tYElYZ1kwZjV2M4ehb1WRPIXwo+jm8h90vl0tmD2FMDR9X+BvB4n/ql857t1/3TyMOPQ==; 5:JlBVWE6lKXcLGfB3QFNWfXX7dsswVMQo1X2wuVh3lRbqNfqqthqaqRXQbiRjpOXxO3cNzdhVPoDnIt0bbtpxxA11RwuLluFagrKYQDlBvjh36HtKLd+jLW/qWzS2oO+NTCdGpt2b0rOh2rW93jCvYjbGMcFjtuSc8nqIWjoCKJgZolIHKL5XFXeJ/HYQUhgw; 24:/rteZsDoSJLAx8SFyN6bRt/yDNZ0ghzzDCRnWq5s2C4YZxIlFG+IATvNHoaoGuTmMrjxqrd8sKCM9MuDmvwd+sn4jsObx3jQ0BCdVkSEGLg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2479; 7:4jvUgK+9rjM7j2W6PVai50d74cAeYkIWTcxZZBFIb5XrQ4E7jtqJOeSIs9H3AtDw/W2i030+ugEw0dtZUlEwaOedXI+HfJOZuzaHlygFOytzxsHnh+IMA9rIriSTFMcRC6HxIEAw7oORKtRegGlx6Napve1znYeaMWF4l1d++HA10nexBoiwLxll18mzqH4MB3gF7JpfKz78XyOQacC9zgY0mm/pKZRRCXQhZApD0lgYnf1OYbAQ+/pME/VKl/fzp4Q62+FwEoMcQXBsKg4lN5OBLNhZnnJ/mP7G3SBR5903rh/VuqB7icXOVi/rdJCaZN+dsdsrcZOHQMo9VNc4IaRaYNup2o1nODRhqRSMOjo= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2016 12:44:28.7895 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB2479 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20161116_044451_930130_1274E068 X-CRM114-Status: GOOD ( 20.76 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: oss@buserror.net, Harninder Rai , Bhaskar Upadhaya , linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP LS1012A features an advanced 64-bit ARM v8 CortexA53 processor with 32 KB of parity protected L1-I cache, 32 KB of ECC protected L1-D cache, as well as 256 KB of ECC protected L2 cache. Features summary One 64-bit ARM-v8 Cortex-A53 core with the following capabilities - Arranged as a cluster of one core supporting a 256 KB L2 cache with ECC protection - Speed up to 800 MHz - Parity-protected 32 KB L1 instruction cache and 32 KB L1 data cache - Neon SIMD engine - ARM v8 cryptography extensions One 16-bit DDR3L SDRAM memory controller ARM core-link CCI-400 cache coherent interconnect Cryptography acceleration (SEC) One Configurable x3 SerDes One PCI Express Gen2 controller, supporting x1 operation One serial ATA (SATA Gen 3.0) controller One USB 3.0/2.0 controller with integrated PHY Following levels of DTSI/DTS files have been created for the LS1012A SoC family: - fsl-ls1012a.dtsi: DTS-Include file for FSL LS1012A SoC. - fsl-ls1012a-frdm.dts: DTS file for FSL LS1012A FRDM board. - fsl-ls1012a-qds.dts: DTS file for FSL LS1012A QDS board. - fsl-ls1012a-rdb.dts: DTS file for FSL LS1012A RDB board. Signed-off-by: Harninder Rai Signed-off-by: Bhaskar Upadhaya --- Changes in v2: Incorporated Shawn's comments - Brief introduction of the SoC in commit message - Alphabetic ordering of labeled nodes - Better naming to be used for regulator node - Make timer node's comments more readable - Sort nodes with unit-address in order of the address arch/arm64/boot/dts/freescale/Makefile | 3 + arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts | 115 ++++++++++ arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts | 128 +++++++++++ arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts | 59 +++++ arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 245 +++++++++++++++++++++ 5 files changed, 550 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 6602718..39db645 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -1,3 +1,6 @@ +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds.dtb diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts b/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts new file mode 100644 index 0000000..81bd689 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts @@ -0,0 +1,115 @@ +/* + * Device Tree file for Freescale LS1012A Freedom Board. + * + * Copyright 2016, Freescale Semiconductor + * + * This file is dual-licensed: you can use it either under the terms + * of the GPLv2 or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ +/dts-v1/; + +#include "fsl-ls1012a.dtsi" + +/ { + model = "LS1012A Freedom Board"; + compatible = "fsl,ls1012a-frdm", "fsl,ls1012a"; + + sys_mclk: clock-mclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <25000000>; + }; + + regulator_1p8v: regulator { + compatible = "regulator-fixed"; + regulator-name = "1P8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Headphone", "Headphone Jack", + "Speaker", "Speaker Ext", + "Line", "Line In Jack"; + simple-audio-card,routing = + "MIC_IN", "Microphone Jack", + "Microphone Jack", "Mic Bias", + "LINE_IN", "Line In Jack", + "Headphone Jack", "HP_OUT", + "Speaker Ext", "LINE_OUT"; + + simple-audio-card,cpu { + sound-dai = <&sai2>; + frame-master; + bitclock-master; + }; + + simple-audio-card,codec { + sound-dai = <&codec>; + frame-master; + bitclock-master; + system-clock-frequency = <25000000>; + }; + }; +}; + +&duart0 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; + + codec: sgtl5000@a { + #sound-dai-cells = <0>; + compatible = "fsl,sgtl5000"; + reg = <0xa>; + VDDA-supply = <®ulator_1p8v>; + VDDIO-supply = <®ulator_1p8v>; + clocks = <&sys_mclk>; + }; +}; + +&sai2 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts new file mode 100644 index 0000000..b841251 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts @@ -0,0 +1,128 @@ +/* + * Device Tree file for Freescale LS1012A QDS Board. + * + * Copyright 2016, Freescale Semiconductor + * + * This file is dual-licensed: you can use it either under the terms + * of the GPLv2 or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ +/dts-v1/; + +#include "fsl-ls1012a.dtsi" + +/ { + model = "LS1012A QDS Board"; + compatible = "fsl,ls1012a-qds", "fsl,ls1012a"; + + sys_mclk: clock-mclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24576000>; + }; + + regulator_3p3v: regulator { + compatible = "regulator-fixed"; + regulator-name = "3P3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Headphone", "Headphone Jack", + "Speaker", "Speaker Ext", + "Line", "Line In Jack"; + simple-audio-card,routing = + "MIC_IN", "Microphone Jack", + "Microphone Jack", "Mic Bias", + "LINE_IN", "Line In Jack", + "Headphone Jack", "HP_OUT", + "Speaker Ext", "LINE_OUT"; + + simple-audio-card,cpu { + sound-dai = <&sai2>; + frame-master; + bitclock-master; + }; + + simple-audio-card,codec { + sound-dai = <&codec>; + frame-master; + bitclock-master; + system-clock-frequency = <24576000>; + }; + }; +}; + +&duart0 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; + + pca9547@77 { + compatible = "nxp,pca9547"; + reg = <0x77>; + #address-cells = <1>; + #size-cells = <0>; + + i2c@4 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0x4>; + + codec: sgtl5000@a { + #sound-dai-cells = <0>; + compatible = "fsl,sgtl5000"; + reg = <0xa>; + VDDA-supply = <®ulator_3p3v>; + VDDIO-supply = <®ulator_3p3v>; + clocks = <&sys_mclk>; + }; + }; + }; +}; + +&sai2 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts new file mode 100644 index 0000000..62c5c71 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts @@ -0,0 +1,59 @@ +/* + * Device Tree file for Freescale LS1012A RDB Board. + * + * Copyright 2016, Freescale Semiconductor + * + * This file is dual-licensed: you can use it either under the terms + * of the GPLv2 or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ +/dts-v1/; + +#include "fsl-ls1012a.dtsi" + +/ { + model = "LS1012A RDB Board"; + compatible = "fsl,ls1012a-rdb", "fsl,ls1012a"; +}; + +&duart0 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi new file mode 100644 index 0000000..24874d7 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi @@ -0,0 +1,245 @@ +/* + * Device Tree Include file for Freescale Layerscape-1012A family SoC. + * + * Copyright 2016, Freescale Semiconductor + * + * This file is dual-licensed: you can use it either under the terms + * of the GPLv2 or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +#include + +/ { + compatible = "fsl,ls1012a"; + interrupt-parent = <&gic>; + #address-cells = <2>; + #size-cells = <2>; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x0>; + clocks = <&clockgen 1 0>; + #cooling-cells = <2>; + }; + }; + + sysclk: sysclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <100000000>; + clock-output-names = "sysclk"; + }; + + timer { + compatible = "arm,armv8-timer"; + + interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */ + <1 14 IRQ_TYPE_LEVEL_LOW>,/* Physical Non-Secure PPI */ + <1 11 IRQ_TYPE_LEVEL_LOW>,/* Virtual PPI */ + <1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */ + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <0 106 IRQ_TYPE_LEVEL_LOW>; + }; + + gic: interrupt-controller@1400000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; + interrupt-controller; + reg = <0x0 0x1401000 0 0x1000>, /* GICD */ + <0x0 0x1402000 0 0x2000>, /* GICC */ + <0x0 0x1404000 0 0x2000>, /* GICH */ + <0x0 0x1406000 0 0x2000>; /* GICV */ + interrupts = <1 9 IRQ_TYPE_LEVEL_LOW>; + }; + + reboot { + compatible = "syscon-reboot"; + regmap = <&dcfg>; + offset = <0xb0>; + mask = <0x02>; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + + scfg: scfg@1570000 { + compatible = "fsl,ls1012a-scfg", "syscon"; + reg = <0x0 0x1570000 0x0 0x10000>; + big-endian; + }; + + dcfg: dcfg@1ee0000 { + compatible = "fsl,ls1012a-dcfg", + "syscon"; + reg = <0x0 0x1ee0000 0x0 0x10000>; + big-endian; + }; + + clockgen: clocking@1ee1000 { + compatible = "fsl,ls1012a-clockgen"; + reg = <0x0 0x1ee1000 0x0 0x1000>; + #clock-cells = <2>; + clocks = <&sysclk>; + }; + + i2c0: i2c@2180000 { + compatible = "fsl,vf610-i2c"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0 0x2180000 0x0 0x10000>; + interrupts = <0 56 IRQ_TYPE_LEVEL_LOW>; + clocks = <&clockgen 4 0>; + status = "disabled"; + }; + + i2c1: i2c@2190000 { + compatible = "fsl,vf610-i2c"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0 0x2190000 0x0 0x10000>; + interrupts = <0 57 IRQ_TYPE_LEVEL_LOW>; + clocks = <&clockgen 4 0>; + status = "disabled"; + }; + + duart0: serial@21c0500 { + compatible = "fsl,ns16550", "ns16550a"; + reg = <0x00 0x21c0500 0x0 0x100>; + interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clockgen 4 0>; + }; + + duart1: serial@21c0600 { + compatible = "fsl,ns16550", "ns16550a"; + reg = <0x00 0x21c0600 0x0 0x100>; + interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clockgen 4 0>; + }; + + gpio0: gpio@2300000 { + compatible = "fsl,qoriq-gpio"; + reg = <0x0 0x2300000 0x0 0x10000>; + interrupts = <0 66 IRQ_TYPE_LEVEL_LOW>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio1: gpio@2310000 { + compatible = "fsl,qoriq-gpio"; + reg = <0x0 0x2310000 0x0 0x10000>; + interrupts = <0 67 IRQ_TYPE_LEVEL_LOW>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + wdog0: wdog@2ad0000 { + compatible = "fsl,ls1012a-wdt", + "fsl,imx21-wdt"; + reg = <0x0 0x2ad0000 0x0 0x10000>; + interrupts = <0 83 IRQ_TYPE_LEVEL_LOW>; + clocks = <&clockgen 4 0>; + big-endian; + }; + + sai1: sai@2b50000 { + #sound-dai-cells = <0>; + compatible = "fsl,vf610-sai"; + reg = <0x0 0x2b50000 0x0 0x10000>; + interrupts = <0 148 IRQ_TYPE_LEVEL_LOW>; + clocks = <&clockgen 4 3>, <&clockgen 4 3>, + <&clockgen 4 3>, <&clockgen 4 3>; + clock-names = "bus", "mclk1", "mclk2", "mclk3"; + dma-names = "tx", "rx"; + dmas = <&edma0 1 47>, + <&edma0 1 46>; + status = "disabled"; + }; + + sai2: sai@2b60000 { + #sound-dai-cells = <0>; + compatible = "fsl,vf610-sai"; + reg = <0x0 0x2b60000 0x0 0x10000>; + interrupts = <0 149 IRQ_TYPE_LEVEL_LOW>; + clocks = <&clockgen 4 3>, <&clockgen 4 3>, + <&clockgen 4 3>, <&clockgen 4 3>; + clock-names = "bus", "mclk1", "mclk2", "mclk3"; + dma-names = "tx", "rx"; + dmas = <&edma0 1 45>, + <&edma0 1 44>; + status = "disabled"; + }; + + edma0: edma@2c00000 { + #dma-cells = <2>; + compatible = "fsl,vf610-edma"; + reg = <0x0 0x2c00000 0x0 0x10000>, + <0x0 0x2c10000 0x0 0x10000>, + <0x0 0x2c20000 0x0 0x10000>; + interrupts = <0 103 IRQ_TYPE_LEVEL_LOW>, + <0 103 IRQ_TYPE_LEVEL_LOW>; + interrupt-names = "edma-tx", "edma-err"; + dma-channels = <32>; + big-endian; + clock-names = "dmamux0", "dmamux1"; + clocks = <&clockgen 4 3>, + <&clockgen 4 3>; + }; + + sata: sata@3200000 { + compatible = "fsl,ls1012a-ahci", "fsl,ls1043a-ahci"; + reg = <0x0 0x3200000 0x0 0x10000>; + interrupts = <0 69 IRQ_TYPE_LEVEL_LOW>; + clocks = <&clockgen 4 0>; + }; + }; +};