From mboxrd@z Thu Jan 1 00:00:00 1970 From: horms+renesas@verge.net.au (Simon Horman) Date: Tue, 24 May 2016 10:54:37 +0900 Subject: [PATCH v3 0/3] arm64: Add Renesas R8A7796 SoC support Message-ID: <1464054880-25843-1-git-send-email-horms+renesas@verge.net.au> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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-v3 To be entirely clear, at the time of writing I have _not_ queued up this series for mainline. Changes between v2 and v3: * Drop 0x from unit address of gic * Use arm,psci-0.2 * Accumulate Reviewed-by tag Changes between v1 and v2: * Move L2_CA57 node under cpus node and include reg property * Omit status = "disabled" from scif_clk node * Accumulate Ack and Reviewed-by tags 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 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. [ 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) ) #98 SMP PREEMPT Tue May 24 10:47:31 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.000078] Console: colour dummy device 80x25 [ 0.000382] console [tty0] enabled [ 0.000402] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.66 BogoMIPS (lpj=33333) [ 0.000419] pid_max: default: 32768 minimum: 301 [ 0.000463] Security Framework initialized [ 0.000495] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.000505] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.001204] ASID allocator initialised with 65536 entries [ 0.001721] EFI services will not be available. [ 0.001826] Brought up 1 CPUs [ 0.001836] SMP: Total of 1 processors activated. [ 0.001850] CPU: All CPU(s) started at EL1 [ 0.002615] devtmpfs: initialized [ 0.003177] DMI not present or invalid. [ 0.003369] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.003738] pinctrl core: initialized pinctrl subsystem [ 0.004515] NET: Registered protocol family 16 [ 0.016065] cpuidle: using governor menu [ 0.016218] vdso: 2 pages (1 code @ ffffff8008727000, 1 data @ ffffff8008c30000) [ 0.016254] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.016750] DMA: preallocated 256 KiB pool for atomic allocations [ 0.016906] Serial: AMBA PL011 UART driver [ 0.040435] HugeTLB registered 2 MB page size, pre-allocated 0 pages [ 0.052844] vgaarb: loaded [ 0.053040] SCSI subsystem initialized [ 0.056288] libata version 3.00 loaded. [ 0.056470] usbcore: registered new interface driver usbfs [ 0.056509] usbcore: registered new interface driver hub [ 0.056541] usbcore: registered new device driver usb [ 0.056625] pps_core: LinuxPPS API ver. 1 registered [ 0.056634] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [ 0.056660] PTP clock support registered [ 0.056737] dmi: Firmware registration failed. [ 0.057028] Advanced Linux Sound Architecture Driver Initialized. [ 0.057989] clocksource: Switched to clocksource arch_sys_counter [ 0.058133] VFS: Disk quotas dquot_6.6.0 [ 0.058179] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.068090] NET: Registered protocol family 2 [ 0.068508] TCP established hash table entries: 32768 (order: 6, 262144 bytes) [ 0.068625] TCP bind hash table entries: 32768 (order: 7, 524288 bytes) [ 0.069071] TCP: Hash tables configured (established 32768 bind 32768) [ 0.069176] UDP hash table entries: 2048 (order: 4, 65536 bytes) [ 0.069209] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes) [ 0.069373] NET: Registered protocol family 1 [ 0.069706] RPC: Registered named UNIX socket transport module. [ 0.069725] RPC: Registered udp transport module. [ 0.069732] RPC: Registered tcp transport module. [ 0.069739] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.069765] PCI: CLS 0 bytes, default 128 [ 0.116499] kvm [1]: HYP mode not available [ 0.118272] futex hash table entries: 256 (order: 3, 32768 bytes) [ 0.118353] audit: initializing netlink subsys (disabled) [ 0.118398] audit: type=2000 audit(0.115:1): initialized [ 0.119105] workingset: timestamp_bits=44 max_order=20 bucket_order=0 [ 0.128905] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.129921] NFS: Registering the id_resolver key type [ 0.129976] Key type id_resolver registered [ 0.129984] Key type id_legacy registered [ 0.130194] fuse init (API version 7.24) [ 0.130623] 9p: Installing v9fs 9p2000 file system support [ 0.132356] io scheduler noop registered [ 0.132526] io scheduler cfq registered (default) [ 0.135682] xenfs: not registering filesystem on non-xen platform [ 0.140609] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.142028] SuperH (H)SCI(F) driver initialized [ 0.142217] e6e88000.serial: ttySC0 at MMIO 0xe6e88000 (irq = 6, base_baud = 0) is a scif [ 0.812036] console [ttySC0] enabled [ 0.815989] msm_serial: driver initialized [ 0.848254] loop: module loaded [ 0.852907] tun: Universal TUN/TAP device driver, 1.6 [ 0.858608] tun: (C) 1999-2004 Max Krasnyansky [ 0.865182] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k [ 0.871284] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 0.877303] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.3.0-k [ 0.884340] igb: Copyright (c) 2007-2014 Intel Corporation. [ 0.889981] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.0.2-k [ 0.897843] igbvf: Copyright (c) 2009 - 2012 Intel Corporation. [ 0.903823] sky2: driver version 1.30 [ 0.907854] VFIO - User Level meta-driver version: 0.3 [ 0.915399] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.922168] ehci-pci: EHCI PCI platform driver [ 0.926767] ehci-platform: EHCI generic platform driver [ 0.932151] ehci-msm: Qualcomm On-Chip EHCI Host Controller [ 0.937808] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 0.944041] ohci-pci: OHCI PCI platform driver [ 0.948553] ohci-platform: OHCI generic platform driver [ 0.954029] usbcore: registered new interface driver usb-storage [ 0.960813] mousedev: PS/2 mouse device common for all mice [ 0.967093] i2c /dev entries driver [ 0.971519] sdhci: Secure Digital Host Controller Interface driver [ 0.978118] sdhci: Copyright(c) Pierre Ossman [ 0.982619] Synopsys Designware Multimedia Card Interface Driver [ 0.988896] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.994818] ledtrig-cpu: registered to indicate activity on CPUs [ 1.001589] usbcore: registered new interface driver usbhid [ 1.007437] usbhid: USB HID core driver [ 1.012433] NET: Registered protocol family 17 [ 1.017379] 9pnet: Installing 9P2000 support [ 1.021779] Key type dns_resolver registered [ 1.026695] registered taskstats version 1 [ 1.031222] hctosys: unable to open rtc device (rtc0) [ 13.081547] ALSA device list: [ 13.084527] No soundcards found. [ 13.089430] 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: 253 GIC-0 27 Edge arch_timer 6: 79 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: