From patchwork Fri Mar 30 06:37:13 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peter A. G. Crosthwaite" X-Patchwork-Id: 149579 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 449E7B6EF4 for ; Fri, 30 Mar 2012 18:19:49 +1100 (EST) Received: from localhost ([::1]:56447 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SDVTM-00012U-6P for incoming@patchwork.ozlabs.org; Fri, 30 Mar 2012 02:38:08 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34674) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SDVT5-0000pc-Ol for qemu-devel@nongnu.org; Fri, 30 Mar 2012 02:37:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SDVT3-0004Ci-VH for qemu-devel@nongnu.org; Fri, 30 Mar 2012 02:37:51 -0400 Received: from mail-iy0-f173.google.com ([209.85.210.173]:58765) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SDVT3-0003yv-Qm for qemu-devel@nongnu.org; Fri, 30 Mar 2012 02:37:49 -0400 Received: by mail-iy0-f173.google.com with SMTP id j26so695412iaf.4 for ; Thu, 29 Mar 2012 23:37:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:in-reply-to:references:x-gm-message-state; bh=vMNFfKxVp1+7U9ptH29ahYmuFbJaFA8oBuM1w5Q1sMs=; b=Qa4ZaFBRH/VJRTFT2UDOpcZA9VzrHwJ7xJ5V5vZakU1/RN0XYWy8vFR1qSjxNcR0OL Bu+2ptR0cGvM6YFTXOLzEFKtVyAVNfeXTfzKbcIbIV5/LHfD+A00FkdGkOuTCCFlWJQC ob3Myuf9LMHaEMcHgurIkgFBHizEFu0Gsw6bJF5mwNZho1gbIg/0iOPQDdg4Mx7fs5a5 i2XVWTiKSjTaeEikobhn7GoFdQcUNnZ3reaBSPcqnEgmnEh9PHhlREQirX/KqaF+zUDn 8/EjkQooBh6l8T+HE55G8SUI1WK1oB8rsSR5bp8nv3InRvR51PaFKme0GCdiLw8J33Me +wJg== MIME-Version: 1.0 Received: by 10.42.97.196 with SMTP id p4mr546367icn.22.1333089468798; Thu, 29 Mar 2012 23:37:48 -0700 (PDT) Received: from localhost ([124.148.20.9]) by mx.google.com with ESMTPS id kn3sm1015026igc.15.2012.03.29.23.37.46 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 29 Mar 2012 23:37:48 -0700 (PDT) From: "Peter A. G. Crosthwaite" To: qemu-devel@nongnu.org, paul@codesourcery.com, edgar.iglesias@gmail.com Date: Fri, 30 Mar 2012 16:37:13 +1000 Message-Id: <4ae444882d8196f30c9affc3577f999d79cccefa.1333088411.git.peter.crosthwaite@petalogix.com> X-Mailer: git-send-email 1.7.3.2 In-Reply-To: References: In-Reply-To: References: X-Gm-Message-State: ALoCoQnIlCHnqK7K4UkZaqsaFDB6qSrJXsnHsZtA/4QCywr+06yts0oGCyyQOjhCrl13DSdzFbnI X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.173 Cc: peter.crosthwaite@petalogix.com, john.williams@petalogix.com Subject: [Qemu-devel] [RFC PATCH v1 4/4] petalogix-ml605: added spi controller with m25p80 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Added spi controller to the reference design, with a single cs line and a m25p80 style spi-flash connected Signed-off-by: Peter A. G. Crosthwaite --- hw/petalogix_ml605_mmu.c | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c index 31a4348..b2359a8 100644 --- a/hw/petalogix_ml605_mmu.c +++ b/hw/petalogix_ml605_mmu.c @@ -36,6 +36,7 @@ #include "blockdev.h" #include "pc.h" #include "exec-memory.h" +#include "spi.h" #include "microblaze_boot.h" #include "microblaze_pic_cpu.h" @@ -75,6 +76,7 @@ petalogix_ml605_init(ram_addr_t ram_size, { MemoryRegion *address_space_mem = get_system_memory(); DeviceState *dev; + SysBusDevice *busdev; CPUMBState *env; DriveInfo *dinfo; int i; @@ -131,6 +133,23 @@ petalogix_ml605_init(ram_addr_t ram_size, irq[1], irq[0], 100 * 1000000); } + { + spi_bus *spi; + + dev = qdev_create(NULL, "xilinx,spi"); + qdev_prop_set_uint8(dev, "num-cs", 1); + qdev_init_nofail(dev); + busdev = sysbus_from_qdev(dev); + sysbus_mmio_map(busdev, 0, 0x40a00000); + sysbus_connect_irq(busdev, 0, irq[6]); + + spi = FROM_QBUS(spi_bus, qdev_get_child_bus(dev, "spi")); + + dev = qdev_create(NULL, "m25p80"); + qdev_init_nofail(dev); + spi_attach_slave(spi, SPI_SLAVE(dev), 0); + } + microblaze_load_kernel(env, ddr_base, ram_size, BINARY_DEVICE_TREE_FILE, machine_cpu_reset);