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@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) (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@xxxxxxxx> [ 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@xxxxxxxxxxxx> [ 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 / #