From patchwork Fri Nov 11 23:42:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 694001 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3tFxNz5Jwbz9t1b for ; Sat, 12 Nov 2016 10:45:23 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="OMdZaWQ1"; dkim-atps=neutral Received: from localhost ([::1]:55959 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c5LVY-00017z-6K for incoming@patchwork.ozlabs.org; Fri, 11 Nov 2016 18:45:20 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36251) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c5LUV-0000TJ-IE for qemu-devel@nongnu.org; Fri, 11 Nov 2016 18:44:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c5LUS-00028N-EB for qemu-devel@nongnu.org; Fri, 11 Nov 2016 18:44:15 -0500 Received: from mail-by2nam01on0051.outbound.protection.outlook.com ([104.47.34.51]:4701 helo=NAM01-BY2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c5LUS-00027n-3N for qemu-devel@nongnu.org; Fri, 11 Nov 2016 18:44:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=WabPSDpmrHZ3z7D6ZmqVdzup2wh+4vNsTrrRDUtBAog=; b=OMdZaWQ1YZiQ/ldDwnPV0FwsV2195Gxi6k24SfNriGpwsl/RQZSzvSmTvHVrUK1k+YThlpvb5/7/B7oLvAT36P8HY34eHjzPkhioy+9qtkL/KW4aDOHPW71tkdKB+dFA9UJ+IiKDr5yGoL6gKcCk9uGbnGk4vOQWR7jfqNFROws= Received: from BLUPR0201CA0029.namprd02.prod.outlook.com (10.163.116.39) by DM5PR02MB2875.namprd02.prod.outlook.com (10.175.86.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.707.6; Fri, 11 Nov 2016 23:44:09 +0000 Received: from CY1NAM02FT009.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::207) by BLUPR0201CA0029.outlook.office365.com (2a01:111:e400:52e7::39) 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; Fri, 11 Nov 2016 23:44:08 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by CY1NAM02FT009.mail.protection.outlook.com (10.152.75.12) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.707.3 via Frontend Transport; Fri, 11 Nov 2016 23:44:06 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:1570; Count:17 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:48427 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1c5LUL-0003s9-Db; Fri, 11 Nov 2016 15:44:05 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1c5LUL-00022z-9h; Fri, 11 Nov 2016 15:44:05 -0800 Received: from xsj-pvapsmtp01 (xsj-smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id uABNi31S009752; Fri, 11 Nov 2016 15:44:03 -0800 Received: from [172.19.74.182] (helo=xsjalistai50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1c5LUI-00021T-Ue; Fri, 11 Nov 2016 15:44:02 -0800 From: Alistair Francis To: , Date: Fri, 11 Nov 2016 15:42:31 -0800 Message-ID: <8430dea044fb614e7e2a2efbb5861c57ab5e7d2a.1478907354.git.alistair.francis@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-22692.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-IncomingHeaderCount: 17 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(979002)(6009001)(7916002)(2980300002)(438002)(189002)(199003)(50466002)(48376002)(87936001)(92566002)(5660300001)(2906002)(81166006)(6666003)(63266004)(8936002)(106466001)(2950100002)(8676002)(7846002)(305945005)(50226002)(4326007)(81156014)(356003)(77096005)(5003940100001)(626004)(9786002)(50986999)(47776003)(586003)(5001770100001)(36756003)(189998001)(76176999)(33646002)(118296001)(36386004)(107986001)(5001870100001)(217873001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR02MB2875; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT009; 1:PYektKvn/5NEnFrcslgh1fVv/9zbw5xlTgoKsoWMfu2U0h78ATrcbjfGg8S/fo8UkPEs5acLyXMgN2vp5e3vF0Dy1kXIanEBH0bLQjfSeUlEfcOkUiCljHcfijQZn/u8kyHBYZcqd/6dd6XfXDnZR4gAf2d6+urWVnUATQJC9LNrMONxxa4dLzJoiz1F//efW8faaq5V9Uh9ugRE1ehr856kd7EvO0TbYv6lRyiQhNFWwX28OvzMCLt3XXnho+PQgUxdw8ENBzRGEo5yscVUSHTEfLUKMv4Mzs4WBIwY4L3IJKwBwXLz61e5ppprnTRz9KrTvZsYbbL7nGSWdxDObwLV28IiyyLC6kcns5OFOaTsLtw/BuglSe74bGYONuQuVjcTxBkcpbENI+tVDhIWiR3QxcNvUb8gG0F9ok6UKVCi2/4FKP7PnmiAirW2V+3P77JYS1NIver0AiUbec/s9L4pTSsz26XohjobIqxCsi8l5iyRjoX/5HlJ8j6djUqQbVeXC6rLuIvnQbyQPGSxLbjwzZ7wvtcJTdoJfMJO95KAG7jT3rglYKSKqgsBT7TE2tIVVb/cjnkoshInEMJKr/nIrLAdfZ/jeB5RmuGU1NY= MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB2875; 2:+imO1X4kCRCUOxbPG+PZO9/S4r8E83tE685b26OVKU+UPyrFybvEbVeax9rdMsPMiPd38EVxJZucBlAfSe4xSZR+n+IJjBUY5qoPNelmYlNbTjVGTXUAbTCgVYFc8Ha+/jCvuhvnzCtuUz1sm+FJ4E+wR9F6E4wsGnWoD/Mt2Jg=; 3:cYLkpj6NzihE1b9qF0USJu2v5Wiuo7+ed87l7et1bQGL1EhtPfHfbpfvyjwd0opQLvJLMPOQEMWK2W/pQi3kEjgZQS+CQOrPBikk1VPt7ETQe+TWUOrFZybRVfcdKp7ac6cy8EdGrxKtGO+NmPJFFP1nc4zsKNanETL8aJmrn9X4dGrTphLPIJwLwdu5Q7x4HjSSeJAVZsztIDOatAJgspio2ofafrwTlLI6K/tYUPsmCMxZ6bLDgZTa28i8j4CnrjozHMsa/5wKZAV8u3vi6t7uQwHz6nEEtEdEIdORWVI= X-MS-Office365-Filtering-Correlation-Id: 77c859e4-7928-4c94-52af-08d40a8ca10e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:DM5PR02MB2875; X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB2875; 25:B0LYuAYfXtzXVZ9f/flr3HzsF7rSOXkoNdfEPH3Xb3AzIyfHSofy3yS5ZKRVQrlzyW2wbF+08O/OLRB9OarRhCYLMmrx7H04RMEYTNTMjTJ2DY0JcOIrOGmufFOiwjQ8EHUharKY30/kp1sIhbiwJyVq3gowWF4WJHPBRDZggAIT4kJuTGWKUF6Xk0/hDFSrbpBOVqrcq682GRANYytC/iFqmu/qJq0cypiaBBOcpRKfXFz7XyMxzETTqt0/+hK7LSt4+WB9GTK95w3hS33XC7ZgiddmrPvlWVX9DEdcA8dGHM4NGbiLZk4h/y01GE8wAmnXX+oSBcH8xBoXpxFUxwMf40QI7kUJI9gVFyz56vrb7ax5wiSEEG8KId5liG8cI1fmwItK8ZkvRlKc3hyt0pyks6UQgglcOC82zBttrfELsI09DuamjpjnqT+WaGTaFfqe8kUCJfhR/dqNVVaQP0TeQw1C99Ar63TRyxQeQiMoFye6Kz4OD5KUTYGRJ4KMjljdEmIlr/g5tanp6Ru+3UbjfObPtJNRvhiX56I3s7IYYU85KI/eTc3xX4J1S0RiZgvODVX70wU/UW1OnH4peZutDpq8hudvJ2xD6kvKeR5wX3boazgi3RY3Xpk0fOj4Vy+v9KcfKIFnL1VbGn9KV0HuFaMWtUWcUQV5S5ySpd1dBOA8qc1VJAaIQxJ4heq5RpqXK/awa5o7/dRfejC7uz32+LCOk5WXSX1RQlB4DxY5/gCuhvSW9EIYawI2kk3qi+iRcsXV1A3almo3No1DEbfQLsoQy/1FppFkjsGGS4Bcj1NP4nIhcZr7UIOwIMCS X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB2875; 31:OVYr/4Vgk0+QPlkIxNq3m9WwXLMQ5HhxcITum6WdVd9zPRXEM4OJ7GeOZT4HD3cofrD1vJFz7AB/a1zxi+ioarZEYpSiJEpL1hjdKhCP0TEP8EDW8yyISSrmuAaslJaTLr6kUdVqLSeoKUVRVP21Lj3u0MUnGRAaQ6hZFgbAEG/ruqlx40+N+LPyU950LXe1F1UHxH1KpUhn6/b5V5GoETAcC+6N1GRqPViNVUYLbpq7aMxs0R7Y3iz7bqaqp7+X0DnIFrSxMxWTCduk+bD3yg==; 20:n+dfMihyVt85/ddVXTRiVPTGifVVbE4rzn0pW0mZ5XaH2XDg7TSOz2EyQdTj2/92Tg2he+x0FHCcRTPen/O8g4zZAbq2HCrcnfwNBfM0LFfc17ys1j2rtM2dJCltZ3jRXt2jVjXdN7LP5SpZvyq2cCia0DtCJw6iTglSSvEGfNMSaw01+xhwJ9yqzt747szaD8sNdgi/sxF3aYWrjTW7/FsXabWW0QFrMdQBseeVvQuAIhCHABY5nHdtLVBR07drzmeoY1fIN7r8Ls+VpS6+L1AQeCSH0GiU2//ID6w09OgyRGZCxwvwe2GxRXGMuilcNx94+/rTvgt4h/0IsS34ILUQ9xNmB1emcEUnMMbPL8o0VQe0WLb49ThnI5Z7zCDjblm8IEeiPKpeXRAe+zd73TRGAEokCdYRc9e1vMrAhKgIxd7vrGYvwun4InvcORPXHcVPDEPSr9Xhak9Gidy2+KOVmKdM53lI+up724FKUhPERevBKGYKZuBjTjOj+X5r X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592)(21532816269658); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(13017025)(13023025)(13018025)(13024025)(8121501046)(13015025)(10201501046)(3002001)(6055026); SRVR:DM5PR02MB2875; BCL:0; PCL:0; RULEID:; SRVR:DM5PR02MB2875; X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB2875; 4:LpAnWwFalqpz8nQ18ZgqH3rYG0674q1YQEuZmek0nBdEzRiJS/AlulBigkef0M8RjhvcGjKxWMpfaomKxynvlp1bzkxJ8x0XHp3RMlQymEZS2OJXqi/Iz6geARmucEMy9Tywl3P17DZkXX8DZP37hBXRxuTV5zk7UmAyv8v+MQ5NhOLtLcRwlVcyMmFR5rXRd+9F4waHMMtWJ8Jfn0BhET3WwKSc8CLJuhhzShResU8598dI6TewtPKH+C+Wo3RFSlOYxr9mYTZxkBxmqoiWa0qRGDyvU/aoWW1BK+8glAxcxiPxv/xhTAaIjo7/xMqxaMg7sT1RBSzFvfWxMlcSrMeEDRghTjXnZVLYv8PugWGd9zciaCcH9+MDZ03q1PpUI0lu1hwa7weXNL5p9DCbgvnvo3c+cmALZGr5B70rkGZVm148scHKag7iybEJ4oPYJcM5za8q/jAEkK4VYSmvh+OSyRl0t7bXL5ypJw3f1389h6Z4/a6hKef5tsD32SrUuLDo2x6AfkBuRYGRIQv4tWO5FkiXgovRDF+03f15moSJBuzPq32B8tieLTh68vF+DsrT/cPYL3rMwsEgSkBcPg== X-Forefront-PRVS: 012349AD1C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR02MB2875; 23:WDp46YtqAPCj49y0Jrz0UyTEIXYWtdGoWWzx3ZSr8?= =?us-ascii?Q?/Quzrki2HSENKOQzN/KN8QWPaBvXFzxL6s9MSksoEHZatJzMZEVxeWnlZ7bq?= =?us-ascii?Q?6U8QYYjRIPHaE2I4SBCTCyH5hwMFoFAkeB7TsVks8nl2jxZXbMjygMUenGjw?= =?us-ascii?Q?V2T/G0eVoQ0MdNuTEhbMelCFNVzND37D9Deuo0Ex50nTRNlQ1fqXrTKz1BJZ?= =?us-ascii?Q?XGV9+rUkB02o5qfC1EK+dXtxtgs5W+Pcruk3by00HuyGXVBvlXq7wsqUAA4p?= =?us-ascii?Q?QkP6jpLO90qDEfVRrX/yYwK2HgRvkNP0WasphG3pvfKZBezgcKvloRsGqIcO?= =?us-ascii?Q?zF2UPnv8OzgNdfE8FSXyOMhlC3ko5uv+3aEM08qceRGNoQI1AA+PIF0QjnkF?= =?us-ascii?Q?RE2CGBgvSChHo5n+0SzccaLRk/cVjhUbCki55VBgwKH4a0BG5s4a3teKM7hx?= =?us-ascii?Q?he6Lc3sphPM0Ee6mrITAKJx3dV5a5Nqw1neMl6t8PGjBFrf6AlgBC0m/SsNc?= =?us-ascii?Q?lB1mv37FRqB8RMbxvhy9rN+W/SCFZAawes8y1uU0nEcuTdxCCrqO7/LzezHJ?= =?us-ascii?Q?jHcXwys5t0jXHR/ZlnZfSmOY4Yb/ooGDB5Xa4QlodWaJLKylfVeFYROWg7+2?= =?us-ascii?Q?HCOMT6nzbnVHahTmaz9Yu/uGLq7yhc30X56Y0F3CQf+NQeCphqtxi2SLFelr?= =?us-ascii?Q?q7fg1W5TNfIdzd/mhEdN/Kd1590QeglVBINpr348a4WKTTfIKHmqSf2fOBQt?= =?us-ascii?Q?H3CsGrQt8hwW8X+oelsVYrm3QTy/Yw6W99Zi+4yLr/7QB5QPdnCfu/7ky4+4?= =?us-ascii?Q?sVctqdGfQ49J1/mQLZN3RMbrOv2846K2tei29R5IdsVWPBUa9j3XVi1ckghJ?= =?us-ascii?Q?QDPaWfkbPNdIh9eKQzxjaWVAU8r9Uqn0lomn70LxCZ53GaZYqv5asjmfiY04?= =?us-ascii?Q?acubci0JF+sFAeyUnUwt5bY6Rab7pCu7RjISf6sgU2QYLmNVqtEJcYhcNSdj?= =?us-ascii?Q?i+YKoh34zXZI33GIeI3h6ExG5nVkWozzwBkKKAPwp2JCGjtQ3+0+hhXMqNqH?= =?us-ascii?Q?URD6QNUEb+7g8RgPh0+Vd38VbmnU6hvLGjMMgA8zmWCt9RL9kSwip16myni9?= =?us-ascii?Q?+lqZbZdBNk=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB2875; 6:zrby5qeF92nacdjY441IAfB5jD4kJXh+ouaadqb4aHBA/zJ0acv/FJAJykfqwT9Q6r8QTT5zQSKRIsRiy0GYiQhmMbRzIilS5ffp+sBwU8Ka8IeUKEOlsNKsIttOMcFFbaY13pIGAPFzmxGrVBPU9EplYPH17Lxhoct4/TjBc+JaAi/Hy+BfhLUmOq62W0WZ4one8LGit/d+CWciQjMH/Ojs3bcJrVauSW+q6bzBnfqc3onsAiqcP93rpOaV0p2ZG8QE3NhPxhKbiWIBF8psVPz0nLzEeBTAmy1hZpVQcnh8wDuYQIK2BAw76COHZ85uHVEUKWFJ8fzH5+JxJrMmQaIM2BaOtAp6EMgUae2cDYg=; 5:VV6L2FABfLW2TezgfEn6crjtLGS5dSaoM679S6Sie2OQGx0M1J8Zu2dyCO6SILQnfXudZFddVzZKtsgEV20OuiYHfiUdbwPTxgvTpQRd8DN7UMH1x2W0aVJcEzg8MREfdbp2ciifpNMGHzzfA4q1yA==; 24:NKzrfK63pVapJs/io6vO0qBTT694hEtJc0/O4rmOwplQFScgdyHdsuJ4hLOq4U05np82351M/aThAFlm3hr90Dv6YPbzDQx/7nvYK6v8B+8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB2875; 7:A843xXkFF4EAxY9Hh39FCzIwLmb6MKc5siujAnbDTppknYMeFFjxRcJXXsRzWSiAFrgBh7zEnjctkt0k3LZwNsVyzF7Jw4UzGPrg0Xnf7/rfo9mRVEs2tJy2hqd+6AF4HDZ0c7bOO3cY4eZt92uHIqOESnvFTwnHefanSROw9yAVAyfU8HOlMjiX/vobktfCKNgCnlLCK5B+3+MC3M+UM+oGjdSQhUXgD5a1BL3nd3dcmsPhen+exf7s3UIaU8wDhmxApAcRuGWpcAeoQGx3YeLMWDxpVI5gXfzyOIUlfF6iZw1LuCrs91ANnkFYGvtc9567EEC/RK4r8pHImoxvcRhkTNkhlYZHDHlFKfCXBko= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Nov 2016 23:44:06.4226 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR02MB2875 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.34.51 Subject: [Qemu-devel] [PATCH v1 2/2] xlnx-ep108: Connect the AXI GPIO device X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: edgar.iglesias@xilinx.com, alistair23@gmail.com, edgar.iglesias@gmail.com, alistair.francis@xilinx.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Connect the new Xilinx AXI GPIO devices based on the defaults used in the ZCU102 reference board design. Signed-off-by: Alistair Francis Reviewed-by: Edgar E. Iglesias --- hw/arm/xlnx-ep108.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c index 4ec590a..23b3d6e 100644 --- a/hw/arm/xlnx-ep108.c +++ b/hw/arm/xlnx-ep108.c @@ -20,14 +20,27 @@ #include "qemu-common.h" #include "cpu.h" #include "hw/arm/xlnx-zynqmp.h" +#include "hw/gpio/xlnx-axi-gpio.h" #include "hw/boards.h" #include "qemu/error-report.h" #include "exec/address-spaces.h" #include "qemu/log.h" +#define XLNX_EP108_NUM_AXI_GPIOS 7 + +/* These can always be changed, but these seven are the default in the reference + * board design. + */ +static const uint64_t axi_gpio_addr[XLNX_EP108_NUM_AXI_GPIOS] = { + 0xa1000000, 0x401000000, 0x1001000000, 0xb1000000, 0x501000000, + 0x4801000000, 0x81000000, +}; + typedef struct XlnxEP108 { XlnxZynqMPState soc; MemoryRegion ddr_ram; + + XlnxAXIGPIO axi_gpio[XLNX_EP108_NUM_AXI_GPIOS]; } XlnxEP108; static struct arm_boot_info xlnx_ep108_binfo; @@ -106,6 +119,19 @@ static void xlnx_ep108_init(MachineState *machine) sysbus_connect_irq(SYS_BUS_DEVICE(&s->soc.spi[i]), 1, cs_line); } + /* Connect the GPIO devices. These aren't on the board, but they are in + * the PL, so we connect them here instead of in the SoC. + */ + for (i = 0; i < XLNX_EP108_NUM_AXI_GPIOS; i++) { + object_initialize(&s->axi_gpio[i], sizeof(s->axi_gpio[i]), + TYPE_XLNX_AXI_GPIO); + qdev_set_parent_bus(DEVICE(&s->axi_gpio[i]), sysbus_get_default()); + + object_property_set_bool(OBJECT(&s->axi_gpio[i]), true, "realized", &error_fatal); + sysbus_mmio_map(SYS_BUS_DEVICE(&s->axi_gpio[i]), 0, axi_gpio_addr[i]); + /* The device supports interrupts, but they aren't connected */ + } + xlnx_ep108_binfo.ram_size = ram_size; xlnx_ep108_binfo.kernel_filename = machine->kernel_filename; xlnx_ep108_binfo.kernel_cmdline = machine->kernel_cmdline;