qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v15 00/10] ARM: Samsung Exynos4210-based boards


From: Evgeny Voevodin
Subject: Re: [Qemu-devel] [PATCH v15 00/10] ARM: Samsung Exynos4210-based boards support.
Date: Tue, 14 Feb 2012 14:27:55 +0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.26) Gecko/20120131 Thunderbird/3.1.18

On 10.02.2012 09:36, Evgeny Voevodin wrote:
This set of patches adds support for Samsung Exynos4210-based boards NURI and 
SMDKC210.
Tested on Linux kernel v3.x series.

Usage:
Exynos4210 SOC boards are modelled to run two CPU cores..
Linux kernel v3.x configured with exynos4_defconfig can be used for boards 
models testing with rootfs
on initrd.

To enable support of framebuffer in kernel, enable Samsung S3C framebuffer 
driver in kernel configuration.
     Note: at present time (26.01.2012) Samsung S3C framebuffer support in 
mainline kernel is broken. This
     problem will be solved soon by Samsung kernel developers. People 
interested in enabling framebuffer right
     now can patch Linux kernel source files a bit to fix S3C framebuffer 
support:
     - in array init_clocks_off (file arch/arm/mach-exynos/clock.c) for a member with 
.devname = "exynos4-fb.0"
       replace .name from "fimd" to "lcd";
     - for framebuffer support on nuri board you need to additionally change 
file arch/arm/mach-exynos/common.c:
       add include file
       "#include<linux/dma-mapping.h>"
       and add string
       init_consistent_dma_size(SZ_2M + SZ_4M);
       at the very beginning of function "void __init exynos4_map_io(void)".

To enable support of ethernet on smdkc210 board, enable SMSC LAN911x/LAN921x 
families
embedded ethernet driver in Linux kernel configuration file.
     Note: NURI board does not have ethernet adapter and currently has no net 
support.


Example usage:
Boot smdkc210 board with root filesystem on NFS disk.
# qemu-system-arm -kernel ./zImage -append "ip=dhcp root=/dev/nfs 
nfsroot=10.0.2.2:/srv/nfs/ rw rootwait" -M smdkc210

Boot smdkc210 board with root filesystem on NFS disk and serial port #0 
redirected to terminal
# qemu-system-arm -kernel ./zImage -append "console=ttySAC0,115200n8 ip=dhcp 
root=/dev/nfs nfsroot=10.0.2.2:/srv/nfs/ rw " -serial stdio -M smdkc210

Boot NURI with rootfs on inird and serial port #0 redirected to terminal
# qemu-system-arm -kernel ./zImage -append "console=ttySAC0,115200n8 root=/dev/ram 
rw " -serial stdio -M nuri -initrd ./rootfs.ext2


Changelog:
  v14->v15
   Fixed "unused variable" warning while compiling by gcc_4.6.
  - hw/exynos4210.c: removed irq_table local variable.
   Touched patches: Boards, UART, PWM, MCT, FIMD
  v13->v14
   Rebased.
  - hw/exynos4210_combiner.c: qdev_prop_set_uint32() moved before 
qdev_init_nofail().
  - hw/exynos4210_uart.c: device label fixed.
  - ./MAINTAINERS: Move Exynos according to alphabetical order.
  v12->v13
   Converted to TypeInfo: hw/exynos4210_combiner.c, hw/exynos4210_gic.c, 
hw/exynos4210_mct.c, hw/exynos4210_pwm.c,
                          hw/exynos4210_uart.c, hw/exynos4210_fimd.c, 
hw/exynos4210_pmu.c
  - hw/exynos4210_mct.c: CamelCase fixes.
  - hw/exynos4210_fimd.c: converted to new memory dirty getting API
  v11->v12
    Hardcoded amount of SOC's CPU cores to two.
    Updated ./MAINTAINERS.
    Rebased on current master.
    Removed "Reviewed-by:" from IRQ, PWM, MCT since following changes:
  - hw/exynos4210_gic.c: Spaces, CamelCase fixes, definitions converted to enum
  - hw/exynos4210_pwm.c, hw/exynos4210_mct.c: CamelCase fixes
  - hw/exynos4210_combiner.c: CamelCase fixes, removed useless structure 
definition
  - hw/exynos4_boards.c: Slightly reorganized machines, added warning message 
if smp_cpus != 2
  v10->v11
  - rebased and converted to QOM: hw/exynos4210_combiner.c, 
hw/exynos4210_gic.c, hw/exynos4210_fimd.c, hw/exynos4210_mct.c, 
hw/exynos4210_pmu.c,
    hw/exynos4210_pwm.c, hw/exynos4210_uart.c.
    Also we have removed "Reviewed-by:" from those patches touched by 
conversion to QOM.
  v9->v10
  - hw/lan9118.c: fixed migration-breaking bug in previous patch version;
  - hw/exynos4210_pmu.c: we do not waste space for non-existing registers in 
PMU state anymore;
                         non-existing registers are now RAZ/WI;
                         added vmstate structure;

  v8->v9
  - exynos4210.c: secondary cpu bootloader memory region allocation is removed 
(it resides in already allocated IROM),
                  removed hack memory region for secondary CPU boot loader (PMU 
device added).
                  added l2x0 cache controller
  - exynos4210_pmu.c: PMU registers modelling device added to emulation. It is 
needed since PMU contains
                      INFORM5 register which is used to boot the secondary CPUs.
  - exynos4_boards.c: indentation fix
  - exynos4210_uart.c: indentation fix, BREAK event handling code added, fixed 
size of allocated registers region
  - exynos4210_gic.c: number of IRQs passed to gic_init() due to last mainline 
update.
  - lan9118.: added VMSTATE fields due to last mainline update.
  v7->v8
  - exynos4_boards.c: lack of spaces fix
  - exynos4210_gic.c: lack of spaces fix
  - exynos4210_combiner.c: lack of spaces fix
  - exynos4210_uart.c: lack of spaces fix, indentation fix
  - exynos4210_mct.c: ULL suffix fix
  v6->v7
  - exynos4210_pwm.c: added usage of "ptimer.h"
  - exynos4210_mct.c: added usage of "ptimer.h"
  v5->v6
  - arm_boot.c, vexpress.c, realview.c: board should specify smp_bootreg_addr if 
its ncpu>  1
  - patch order changed, "boot secondary CPU" is included in "exynos boards" 
patch.
  - exynos4210_mct.c: usage of UINTX_MAX, removed excessive property list, 
fixed indentation,
                      fixed comments
  - exynos4210_pwm.c: spaces and brakcets in macros, removed excessive property 
list,
                      fixed indentation,
  - exynos4210_combiner.c: removed excessive reset, fixed indentation, fixed 
comments
  - exynos4210_gic.c: fixed indentation, fixed syntax
  - exynos4210_uart.c: fixed indentation, fixed syntax
  - exynos4210.c: fixed comments
  - Makefile.target: removed "\"
  - hw/exynos4210_fimd.c: rebased against current master: all manipulation with 
physical pages are dropped and
                          replaced with new memory API functions;

                          added three new members to winow's state: 
MemoryRegionSection to describe section
                          of system RAM containing current framebuffer, host 
pointer to framebuffer data and
                          framebuffer length;

                          mapping of framebuffer now performed only on 
framebuffer settings change
                          instead on every display update;

                          bytes swap in uint64 variable now performed with 
standard QEMU bswap64 function;

                          blencon register type changed to uint32_t;

                          fixed incorrect spelling of "palette" word;

                          if ... else statements in exynos4210_fimd_read() and 
exynos4210_fimd_write() are
                          replaced with switch() {} statement.



  v4->v5
  - hw/exynos4210_gic.c: Use memory aliases for CPU interface and Distributer.
    Excessive RW functions are removed.
  - hw/exynos4210_pwm.c and hw/exynos4210_mct.c: Saving of timers added.
  - hw/exynos4210_uart.c: VMSTATE version_id fixed.
  v3->v4
  - Split Exynos SOC and boards.
  - Temporary removed SD and CMU support to post later.
  - Lan9118 remarks took into account.
  - Secondary CPU bootloader remarks took into account.
  - PWM remarks took into account.
  - UART remarks took into account.
  v2->v3
  - Reverted hw/arm_gic.c modification
  - Added IRQ Gate to Exynos4210 board.

Evgeny Voevodin (7):
   ARM: exynos4210: IRQ subsystem support.
   ARM: Samsung exynos4210-based boards emulation
   ARM: exynos4210: PWM support.
   ARM: exynos4210: MCT support.
   hw/lan9118: Add basic 16-bit mode support.
   hw/exynos4210.c: Add LAN support for SMDKC210.
   MAINTAINERS: Add maintainers for Exynos SOC.

Maksim Kozlov (2):
   ARM: exynos4210: UART support
   ARM: exynos4210: basic Power Management Unit implementation

Mitsyanko Igor (1):
   Exynos4210: added display controller implementation

  MAINTAINERS              |    8 +
  Makefile.target          |    3 +
  hw/exynos4210.c          |  270 +++++++
  hw/exynos4210.h          |  131 ++++
  hw/exynos4210_combiner.c |  469 +++++++++++
  hw/exynos4210_fimd.c     | 1928 ++++++++++++++++++++++++++++++++++++++++++++++
  hw/exynos4210_gic.c      |  458 +++++++++++
  hw/exynos4210_mct.c      | 1488 +++++++++++++++++++++++++++++++++++
  hw/exynos4210_pmu.c      |  499 ++++++++++++
  hw/exynos4210_pwm.c      |  422 ++++++++++
  hw/exynos4210_uart.c     |  676 ++++++++++++++++
  hw/exynos4_boards.c      |  176 +++++
  hw/lan9118.c             |  124 +++-
  13 files changed, 6646 insertions(+), 6 deletions(-)
  create mode 100644 hw/exynos4210.c
  create mode 100644 hw/exynos4210.h
  create mode 100644 hw/exynos4210_combiner.c
  create mode 100644 hw/exynos4210_fimd.c
  create mode 100644 hw/exynos4210_gic.c
  create mode 100644 hw/exynos4210_mct.c
  create mode 100644 hw/exynos4210_pmu.c
  create mode 100644 hw/exynos4210_pwm.c
  create mode 100644 hw/exynos4210_uart.c
  create mode 100644 hw/exynos4_boards.c

Ping...
Is somebody going to review?

--
Kind regards,
Evgeny Voevodin,
Leading Software Engineer,
ASWG, Moscow R&D center, Samsung Electronics
e-mail: address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]