Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752200AbcCGHUh (ORCPT ); Mon, 7 Mar 2016 02:20:37 -0500 Received: from foss.arm.com ([217.140.101.70]:53085 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752060AbcCGHU3 (ORCPT ); Mon, 7 Mar 2016 02:20:29 -0500 Date: Mon, 7 Mar 2016 01:59:58 +0000 From: Mark Rutland To: Chanho Min Cc: arm@kernel.org, Arnd Bergmann , Catalin Marinas , Gunho Lee , Will Deacon , linux-kernel@vger.kernel.org, Jongsung Kim , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 3/4] arm64: dts: Add dts files for LG Electronics's lg1312 SoC Message-ID: <20160307015955.GA2410@svinekod> References: <1457323800-26904-1-git-send-email-chanho.min@lge.com> <1457323800-26904-4-git-send-email-chanho.min@lge.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1457323800-26904-4-git-send-email-chanho.min@lge.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2425 Lines: 97 Hi, On Mon, Mar 07, 2016 at 01:09:59PM +0900, Chanho Min wrote: > Add initial dtsi file to support lg1312 SoC which based on > Cortex-A53. Also add dts file to support lg1312 reference board > which based on lg1312 SoC. > > Signed-off-by: Chanho Min I have a few comments on this patch below. > +/ { > + #address-cells = <2>; > + #size-cells = <1>; Is there definitely no reason to require a 64-bit size? e.g. ranges? Generally I'd expect both address and size to be described as 64 bit quantities in the root node, to make it less painful to extend in future. > + > + model = "LG Electronics, DTV SoC LG1312 Reference Board"; > + compatible = "lge,lg1312-ref", "lge,lg1312"; > + > + memory { > + device_type = "memory"; > + reg = <0x0 0x00000000 0x20000000>; > + }; > + > + chosen { > + bootargs = "root=/dev/nfs ip=dhcp"; > + }; > +}; Drop these bootargs. This is specific to a particular developer's configuration, and they make no sense alone given the lack of an nfsroot, so they're evidently being overwritten anyway. > + psci { > + compatible = "arm,psci"; > + method = "smc"; > + cpu_suspend = <0x84000001>; > + cpu_off = <0x84000002>; > + cpu_on = <0x84000003>; > + }; What are you using as your PSCI implementation? Is it not PSCI 0.2+ compliant? Which exception level are you booting at? > + gic: interrupt-controller@c0001000 { > + #interrupt-cells = <3>; > + > + compatible = "arm,gic-400"; > + interrupt-controller; > + reg = <0x0 0xc0001000 0x1000>, > + <0x0 0xc0002000 0x1000>; > + }; I believe the CPU interface is too short (as GICC_DIR lives at 0x1000). What about GICH and GICV? > + pmu { > + compatible = "arm,armv8-pmuv3"; Use "arm,cortex-a53-pmu". > + timer { > + compatible = "arm,armv8-timer"; > + interrupts = , > + ; > + clock-frequency = <24000000>; > + }; Please fix your firmware to program CNTFRQ. The clock-frequency property is at best a workaround for a broken system, and is not sufficient in general. > + clocks { > + clk_bus: clk_bus { > + #clock-cells = <0>; > + > + compatible = "fixed-clock"; > + clock-frequency = <198000000>; > + clock-output-names = "BUSCLK"; > + }; > + }; Just put this fixed-clock under the root node. There is nothing special about /clocks; it is not required to be probed and serves no purpose. Thanks, Mark.