{"id":806654,"url":"http://patchwork.ozlabs.org/api/1.0/covers/806654/?format=json","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.0/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<1503938283-12404-1-git-send-email-sundeep.lkml@gmail.com>","date":"2017-08-28T16:37:58","name":"[Qemu,devel,v7,0/5] Add support for Smartfusion2 SoC","submitter":{"id":64324,"url":"http://patchwork.ozlabs.org/api/1.0/people/64324/?format=json","name":"sundeep subbaraya","email":"sundeep.lkml@gmail.com"},"series":[{"id":213,"url":"http://patchwork.ozlabs.org/api/1.0/series/213/?format=json","date":"2017-08-28T16:37:58","name":"Add support for Smartfusion2 SoC","version":7,"mbox":"http://patchwork.ozlabs.org/series/213/mbox/"}],"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"Xa2ACxvM\"; dkim-atps=neutral"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xgyCB0q76z9s4q\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Aug 2017 02:39:02 +1000 (AEST)","from localhost ([::1]:40604 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dmN3z-0001xX-TF\n\tfor incoming@patchwork.ozlabs.org; Mon, 28 Aug 2017 12:38:59 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:45138)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <sundeep.lkml@gmail.com>) id 1dmN3O-0001xM-Fs\n\tfor qemu-devel@nongnu.org; Mon, 28 Aug 2017 12:38:23 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <sundeep.lkml@gmail.com>) id 1dmN3L-0002qx-D3\n\tfor qemu-devel@nongnu.org; Mon, 28 Aug 2017 12:38:22 -0400","from mail-pg0-x244.google.com ([2607:f8b0:400e:c05::244]:38342)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)\n\t(Exim 4.71) (envelope-from <sundeep.lkml@gmail.com>)\n\tid 1dmN3L-0002iZ-7V; Mon, 28 Aug 2017 12:38:19 -0400","by mail-pg0-x244.google.com with SMTP id t3so728070pgt.5;\n\tMon, 28 Aug 2017 09:38:17 -0700 (PDT)","from localhost.localdomain ([124.123.70.3])\n\tby smtp.gmail.com with ESMTPSA id\n\tn66sm1935015pfi.44.2017.08.28.09.38.14\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tMon, 28 Aug 2017 09:38:16 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id;\n\tbh=23YJHgwaJGjxqWxMYs/7oOQo3tJX4DFlPvGHz3aJXRU=;\n\tb=Xa2ACxvMKDEgCHJ5kG+fgv+hwAHHNDNW5KRfpWdYCLAQqrGPNHP1iRynmQkk4JpB8j\n\tREuVTiaAPPEtvCfdOLWtj3i7hDEHJisf8AFVCdj9beQFfEmtfZAEWy48Wbx58zLA90Mn\n\tVR/l717CIOagIKYWSc9rXnZVTcMXtU28rukqrSXBvjxzd7EVTVI91FZr9bUE9Bxuq7NP\n\t/qgDjy+9ljeLDuaTgbf2+vqONv/lYKh2er9LhpdS4xfMx9x+fMqn8y3cEYkaVWcRartA\n\tN9qTgpHzr5Dvj+p03RUDrRiBhNbDvTJW5hkuVRLyAg7HQKmn2iFYzOx29V1a+a8gmcug\n\tGPbw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=23YJHgwaJGjxqWxMYs/7oOQo3tJX4DFlPvGHz3aJXRU=;\n\tb=GZtTy8SKwa+coCRXK8Tn2RYb/LVTdQA+581Vj4dZRujbJ/JV80aeJeB+vcxoHGO0/u\n\tM1eWbXSPXLCEylYxOKkrfe3daG1SDqtSQ2DYcQV2j3SdTtND7NaoIk9E4Fvna5kREaFf\n\tuwO2GFrCe2aPZRxPYTgml9/1lO6uTwc7dqtSeFy1d64ecAMqU9lhiwNJ4mu4nOLvoB/h\n\t7CX09irNHkrw0Aba/nFts6dnrtff2GJMwvcun6dYUymbYo+wu8HADHze5V+PaOtrKK6G\n\tjJD6V8K5V0qNfb6t4Qy4SNbMIWB1+ROTPxEH6I7Q1jY+PUgtvrjD6u3DyX9ZR3yMLhd0\n\tiWFA==","X-Gm-Message-State":"AHYfb5iWhJvhA4xFkM0Rinbem2EAPhre7b2TB+a/K3bHBG9Avv+Zz7pw\n\t/zc2R34A7Argh+NN","X-Google-Smtp-Source":"ADKCNb7Tq1YT95kiyqWJvsC6g66wvQBLPtl1AWMQ/rjrojF7HQaUT71i9r0BU0eCcgehGTNDMbSmYQ==","X-Received":"by 10.99.125.5 with SMTP id y5mr1086865pgc.179.1503938296799;\n\tMon, 28 Aug 2017 09:38:16 -0700 (PDT)","From":"Subbaraya Sundeep <sundeep.lkml@gmail.com>","To":"qemu-devel@nongnu.org,\n\tqemu-arm@nongnu.org","Date":"Mon, 28 Aug 2017 22:07:58 +0530","Message-Id":"<1503938283-12404-1-git-send-email-sundeep.lkml@gmail.com>","X-Mailer":"git-send-email 2.5.0","X-detected-operating-system":"by eggs.gnu.org: Genre and OS details not\n\trecognized.","X-Received-From":"2607:f8b0:400e:c05::244","Subject":"[Qemu-devel] [Qemu devel v7 PATCH 0/5] Add support for Smartfusion2\n\tSoC","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"peter.maydell@linaro.org, Subbaraya Sundeep <sundeep.lkml@gmail.com>,\n\tf4bug@amsat.org, alistair23@gmail.com, crosthwaite.peter@gmail.com","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"},"content":"Hi Qemu-devel,\n\nI am trying to add Smartfusion2 SoC.\nSoC is from Microsemi and System on Module(SOM)\nboard is from Emcraft systems. Smartfusion2 has hardened\nMicrocontroller(Cortex-M3)based Sub System and FPGA fabric.\nAt the moment only system timer, sysreg and SPI\ncontroller are modelled.\n\nTesting:\n./arm-softmmu/qemu-system-arm -M smartfusion2-som -serial mon:stdio \\\n-kernel u-boot.bin -display none -drive file=spi.bin,if=mtd,format=raw\n\nBinaries u-boot.bin and spi.bin are at:\nhttps://github.com/Subbaraya-Sundeep/qemu-test-binaries.git\n\nU-boot is from Emcraft with modified\n    - SPI driver not to use PDMA.\n    - ugly hack to pass dtb to kernel in r1.\n@\nhttps://github.com/Subbaraya-Sundeep/emcraft-uboot-sf2.git\n\nLinux is 4.5 linux with Smartfusion2 SoC dts and clocksource\ndriver added by myself @\nhttps://github.com/Subbaraya-Sundeep/linux.git\n\nv7:\n\tRemoved vmstate_register_ram_global as per latest commit\n\tMoved header files to C which are local to C source files\n\tRemoved abort() from msf2-sysreg.c\n\tAdded VMStateDescription in mss-timer.c\n\nv6:\n    Moved some defines from header files to source files\n    Added properties m3clk, apb0div, apb0div1 properties\n    to soc.\n    Added properties apb0divisor, apb1divisor to sysreg\n    Update system_clock_source in msf2-soc.c\n    Changed machine name smartfusion2-som->emcraft-sf2\n\nv5\n    As per Philippe comments:\n        Added abort in Sysreg if guest tries to remap memory\n        other than default mapping.\n        Use of CONFIG_MSF2 in Makefile for soc.c\n        Fixed incorrect logic in timer model.\n        Renamed msf2-timer.c -> mss-timer.c\n                msf2-spi.c -> mss-spi.c also type names\n        Renamed function msf2_init->emcraft_sf2_init in msf2-som.c\n        Added part-name,eNVM-size,eSRAM-size,pclk0 and pclk1\n            properties to soc.\n        Pass soc part-name,memory size and clock rate properties from som.\nv4:\n    Fixed build failure by using PRIx macros.\nv3:\n    Added SoC file and board file as per Alistair comments.\nv2:\n    Added SPI controller so that u-boot loads kernel from spi flash.\nv1:\n    Initial patch set with timer and sysreg\n\nThanks,\nSundeep\n\nSubbaraya Sundeep (5):\n  msf2: Add Smartfusion2 System timer\n  msf2: Microsemi Smartfusion2 System Register block\n  msf2: Add Smartfusion2 SPI controller\n  msf2: Add Smartfusion2 SoC\n  msf2: Add Emcraft's Smartfusion2 SOM kit\n\n default-configs/arm-softmmu.mak |   1 +\n hw/arm/Makefile.objs            |   1 +\n hw/arm/msf2-soc.c               | 215 +++++++++++++++++++++\n hw/arm/msf2-som.c               |  94 +++++++++\n hw/misc/Makefile.objs           |   1 +\n hw/misc/msf2-sysreg.c           | 199 +++++++++++++++++++\n hw/ssi/Makefile.objs            |   1 +\n hw/ssi/mss-spi.c                | 409 ++++++++++++++++++++++++++++++++++++++++\n hw/timer/Makefile.objs          |   1 +\n hw/timer/mss-timer.c            | 289 ++++++++++++++++++++++++++++\n include/hw/arm/msf2-soc.h       |  66 +++++++\n include/hw/misc/msf2-sysreg.h   |  78 ++++++++\n include/hw/ssi/mss-spi.h        |  58 ++++++\n include/hw/timer/mss-timer.h    |  64 +++++++\n 14 files changed, 1477 insertions(+)\n create mode 100644 hw/arm/msf2-soc.c\n create mode 100644 hw/arm/msf2-som.c\n create mode 100644 hw/misc/msf2-sysreg.c\n create mode 100644 hw/ssi/mss-spi.c\n create mode 100644 hw/timer/mss-timer.c\n create mode 100644 include/hw/arm/msf2-soc.h\n create mode 100644 include/hw/misc/msf2-sysreg.h\n create mode 100644 include/hw/ssi/mss-spi.h\n create mode 100644 include/hw/timer/mss-timer.h"}