[PATCH/RFC 0/3] arm64: Add Renesas R8A7796 SoC support

Simon Horman horms+renesas at verge.net.au
Wed May 18 20:50:42 PDT 2016


Hi,

this short series aims to add basic support for the
Gen 3 R-Car M3-W (r8a7796) SoC.

It has few bells and whistles but is sufficient to bring up
an r8a7795/salvator-x. I have provided a boot-log at the bottom
of this email in case it is of interest.


Dependency:

"[PATCH 0/4] clk: renesas: cpg-mssr: Add support for R-Car M3-W"


Availability:

In order to aid review this series, its dependency (above)
and the related patch "serial: sh-sci: Document SoC specific bindings for
r8a7796", which has been posted separately, are available at:

git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git topic/r8a7796

To be entirely clear, I have _not_ queued up this series for mainline.
I anticipate some revisions will be made following review before that
happens.


Simon Horman (1):
  arm64: dts: r8a7796: Add Renesas R8A7796 SoC support

Takeshi Kihara (2):
  arm64: dts: salvator-x: add Salvator-X board on R8A7796 SoC
  arm64: defconfig: enable Renesas R8A7796 SoC

 Documentation/devicetree/bindings/arm/shmobile.txt |   4 +
 arch/arm64/Kconfig.platforms                       |   6 ++
 arch/arm64/boot/dts/renesas/Makefile               |   1 +
 arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts |  45 ++++++++
 arch/arm64/boot/dts/renesas/r8a7796.dtsi           | 120 +++++++++++++++++++++
 arch/arm64/configs/defconfig                       |   1 +
 6 files changed, 177 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7796.dtsi

-- 
2.1.4


Boot Log:

The following boot log was generated by booting this patch set,
in its form in the topic/r8a7796 branch. It was compiled using
the ARM64 defconfig with initrd enabled to provide a working userspace.

=> setenv bootargs ignore_loglevel rw root=/dev/nfs ip=dhcp nfsroot=10.3.3.135:/srv/nfs/salvator-x-arm64
=> setenv ethaddr 2e:09:0a:00:83:2b
=> setenv ipaddr 10.3.3.172
=> setenv serverip 10.3.3.135
=> tftpboot 0x48080000 salvator-x/Image;tftpboot 0x48f00000 salvator-x/r8a7796-salvator-x.dtb; booti 0x48080000 - 0x48f00000
ravb Waiting for PHY auto negotiation to complete.. done
ravb: 100Base/Full
Using ravb device
TFTP from server 10.3.3.135; our IP address is 10.3.3.172
Filename 'salvator-x/Image'.
Load address: 0x48080000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ################################
         58.6 KiB/s
done
Bytes transferred = 12860928 (c43e00 hex)
ravb:0 is connected to ravb.  Reconnecting to ravb
ravb Waiting for PHY auto negotiation to complete.. done
ravb: 100Base/Full
Using ravb device
TFTP from server 10.3.3.135; our IP address is 10.3.3.172
Filename 'salvator-x/r8a7796-salvator-x.dtb'.
Load address: 0x48f00000
Loading: T #
         0 Bytes/s
done
Bytes transferred = 2325 (915 hex)
## Flattened Device Tree blob at 48f00000
   Booting using the fdt blob at 0x48f00000
   Using Device Tree in place at 0000000048f00000, end 0000000048f03914

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.6.0-rc1+ (horms at ayumi.isobedori.kobe.vergenet.net) (gcc version 4.8.5 (Linaro GCC 4.8-2015.06) ) #570 SMP PREEMPT Thu May 19 11:24:58 JST 2016
[    0.000000] Boot CPU: AArch64 Processor [411fd073]
[    0.000000] debug: ignoring loglevel setting.
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 16 MiB at 0x00000000bf000000
[    0.000000] On node 0 totalpages: 1015808
[    0.000000]   DMA zone: 7680 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 491520 pages, LIFO batch:31
[    0.000000]   Normal zone: 8192 pages used for memmap
[    0.000000]   Normal zone: 524288 pages, LIFO batch:31
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] percpu: Embedded 20 pages/cpu @ffffffc63ffad000 s43008 r8192 d30720 u81920
[    0.000000] pcpu-alloc: s43008 r8192 d30720 u81920 alloc=20*4096
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 999936
[    0.000000] Kernel command line: ignore_loglevel rw root=/dev/nfs ip=dhcp nfsroot=10.3.3.135:/srv/nfs/salvator-x-arm64
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] software IO TLB [mem 0xbafff000-0xbefff000] (64MB) mapped at [ffffffc07afff000-ffffffc07effefff]
[    0.000000] Memory: 3896020K/4063232K available (6796K kernel code, 619K rwdata, 2880K rodata, 2256K init, 241K bss, 150828K reserved, 16384K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     modules : 0xffffff8000000000 - 0xffffff8008000000   (   128 MB)
[    0.000000]     vmalloc : 0xffffff8008000000 - 0xffffffbdbfff0000   (   246 GB)
[    0.000000]       .text : 0xffffff8008080000 - 0xffffff8008721000   (  6788 KB)
[    0.000000]     .rodata : 0xffffff8008721000 - 0xffffff80089f5000   (  2896 KB)
[    0.000000]       .init : 0xffffff80089f5000 - 0xffffff8008c29000   (  2256 KB)
[    0.000000]       .data : 0xffffff8008c29000 - 0xffffff8008cc3e00   (   620 KB)
[    0.000000]     vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000   (     8 GB maximum)
[    0.000000]               0xffffffbdc0200000 - 0xffffffbdd9000000   (   398 MB actual)
[    0.000000]     fixed   : 0xffffffbffe7fd000 - 0xffffffbffec00000   (  4108 KB)
[    0.000000]     PCI I/O : 0xffffffbffee00000 - 0xffffffbfffe00000   (    16 MB)
[    0.000000]     memory  : 0xffffffc008000000 - 0xffffffc640000000   ( 25472 MB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 64.
[    0.000000]  RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=1.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=1
[    0.000000] NR_IRQS:64 nr_irqs:64 0
[    0.000000] Architected cp15 timer(s) running at 8.33MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1ec02923e, max_idle_ns: 440795202125 ns
[    0.000003] sched_clock: 56 bits at 8MHz, resolution 120ns, wraps every 2199023255496ns
[    0.000075] Console: colour dummy device 80x25
[    0.000378] console [tty0] enabled
[    0.000399] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.66 BogoMIPS (lpj=33333)
[    0.000416] pid_max: default: 32768 minimum: 301
[    0.000459] Security Framework initialized
[    0.000492] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.000503] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.001208] ASID allocator initialised with 65536 entries
[    0.001732] EFI services will not be available.
[    0.001840] Brought up 1 CPUs
[    0.001849] SMP: Total of 1 processors activated.
[    0.001864] CPU: All CPU(s) started at EL1
[    0.002629] devtmpfs: initialized
[    0.003203] DMI not present or invalid.
[    0.003402] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.003780] pinctrl core: initialized pinctrl subsystem
[    0.004565] NET: Registered protocol family 16
[    0.016068] cpuidle: using governor menu
[    0.016220] vdso: 2 pages (1 code @ ffffff8008727000, 1 data @ ffffff8008c30000)
[    0.016257] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.016745] DMA: preallocated 256 KiB pool for atomic allocations
[    0.016903] Serial: AMBA PL011 UART driver
[    0.037020] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.048846] vgaarb: loaded
[    0.049044] SCSI subsystem initialized
[    0.052301] libata version 3.00 loaded.
[    0.052495] usbcore: registered new interface driver usbfs
[    0.052529] usbcore: registered new interface driver hub
[    0.052560] usbcore: registered new device driver usb
[    0.052646] pps_core: LinuxPPS API ver. 1 registered
[    0.052655] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti at linux.it>
[    0.052678] PTP clock support registered
[    0.052755] dmi: Firmware registration failed.
[    0.053044] Advanced Linux Sound Architecture Driver Initialized.
[    0.053994] clocksource: Switched to clocksource arch_sys_counter
[    0.054137] VFS: Disk quotas dquot_6.6.0
[    0.054180] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.064158] NET: Registered protocol family 2
[    0.064557] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
[    0.064673] TCP bind hash table entries: 32768 (order: 7, 524288 bytes)
[    0.065128] TCP: Hash tables configured (established 32768 bind 32768)
[    0.065244] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[    0.065276] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[    0.065448] NET: Registered protocol family 1
[    0.066169] RPC: Registered named UNIX socket transport module.
[    0.066187] RPC: Registered udp transport module.
[    0.066194] RPC: Registered tcp transport module.
[    0.066201] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.066227] PCI: CLS 0 bytes, default 128
[    0.112786] kvm [1]: HYP mode not available
[    0.114560] futex hash table entries: 256 (order: 3, 32768 bytes)
[    0.114641] audit: initializing netlink subsys (disabled)
[    0.114686] audit: type=2000 audit(0.111:1): initialized
[    0.119404] workingset: timestamp_bits=44 max_order=20 bucket_order=0
[    0.129317] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.130529] NFS: Registering the id_resolver key type
[    0.130574] Key type id_resolver registered
[    0.130583] Key type id_legacy registered
[    0.130788] fuse init (API version 7.24)
[    0.131214] 9p: Installing v9fs 9p2000 file system support
[    0.132914] io scheduler noop registered
[    0.133088] io scheduler cfq registered (default)
[    0.135948] xenfs: not registering filesystem on non-xen platform
[    0.141277] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.143126] SuperH (H)SCI(F) driver initialized
[    0.143318] e6e88000.serial: ttySC0 at MMIO 0xe6e88000 (irq = 6, base_baud = 0) is a scif
[    0.812755] console [ttySC0] enabled
[    0.816711] msm_serial: driver initialized
[    0.849025] loop: module loaded
[    0.853721] tun: Universal TUN/TAP device driver, 1.6
[    0.859420] tun: (C) 1999-2004 Max Krasnyansky <maxk at qualcomm.com>
[    0.866040] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    0.872138] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.878152] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.3.0-k
[    0.885185] igb: Copyright (c) 2007-2014 Intel Corporation.
[    0.890826] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.0.2-k
[    0.898690] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.904680] sky2: driver version 1.30
[    0.908738] VFIO - User Level meta-driver version: 0.3
[    0.916288] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.923057] ehci-pci: EHCI PCI platform driver
[    0.927617] ehci-platform: EHCI generic platform driver
[    0.933050] ehci-msm: Qualcomm On-Chip EHCI Host Controller
[    0.938714] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.944963] ohci-pci: OHCI PCI platform driver
[    0.949471] ohci-platform: OHCI generic platform driver
[    0.954940] usbcore: registered new interface driver usb-storage
[    0.961749] mousedev: PS/2 mouse device common for all mice
[    0.968060] i2c /dev entries driver
[    0.972511] sdhci: Secure Digital Host Controller Interface driver
[    0.979103] sdhci: Copyright(c) Pierre Ossman
[    0.983598] Synopsys Designware Multimedia Card Interface Driver
[    0.989873] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.995797] ledtrig-cpu: registered to indicate activity on CPUs
[    1.002502] usbcore: registered new interface driver usbhid
[    1.008386] usbhid: USB HID core driver
[    1.013395] NET: Registered protocol family 17
[    1.018342] 9pnet: Installing 9P2000 support
[    1.022755] Key type dns_resolver registered
[    1.027708] registered taskstats version 1
[    1.032247] hctosys: unable to open rtc device (rtc0)
[   13.085552] ALSA device list:
[   13.088531]   No soundcards found.
[   13.093427] Freeing unused kernel memory: 2256K (ffffff80089f5000 - ffffff8008c29000)


boot (Linux 4.6.0-rc1+, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # cat /proc/interrupts 
           CPU0       
  3:        247     GIC-0  27 Edge      arch_timer
  6:        101     GIC-0 196 Level     e6e88000.serial:mux
IPI0:         0       Rescheduling interrupts
IPI1:         0       Function call interrupts
IPI2:         0       CPU stop interrupts
IPI3:         0       Timer broadcast interrupts
IPI4:         0       IRQ work interrupts
IPI5:         0       CPU wake-up interrupts
Err:          0
/ # 




More information about the linux-arm-kernel mailing list