[PATCH 2/2] ARM: dts: keystone: Add minimum support for K2G ICE evm

Franklin S Cooper Jr fcooper at ti.com
Tue Apr 4 13:04:19 PDT 2017



On 04/03/2017 11:27 AM, Rob Herring wrote:
> On Thu, Mar 30, 2017 at 10:29:07AM -0500, Franklin S Cooper Jr wrote:
>> Add barebones dts support for TI's K2G Industrial Communication Engine evm.
>> This dts allows the board to boot using a ram based filesystem.
>>
>> Signed-off-by: Franklin S Cooper Jr <fcooper at ti.com>
>> ---
>>  arch/arm/boot/dts/Makefile             |  3 ++-
>>  arch/arm/boot/dts/keystone-k2g-ice.dts | 42 ++++++++++++++++++++++++++++++++++
>>  2 files changed, 44 insertions(+), 1 deletion(-)
>>  create mode 100644 arch/arm/boot/dts/keystone-k2g-ice.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 0118084..01a98f1 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -193,7 +193,8 @@ dtb-$(CONFIG_ARCH_KEYSTONE) += \
>>  	keystone-k2hk-evm.dtb \
>>  	keystone-k2l-evm.dtb \
>>  	keystone-k2e-evm.dtb \
>> -	keystone-k2g-evm.dtb
>> +	keystone-k2g-evm.dtb \
>> +	keystone-k2g-ice.dtb
>>  dtb-$(CONFIG_MACH_KIRKWOOD) += \
>>  	kirkwood-b3.dtb \
>>  	kirkwood-blackarmor-nas220.dtb \
>> diff --git a/arch/arm/boot/dts/keystone-k2g-ice.dts b/arch/arm/boot/dts/keystone-k2g-ice.dts
>> new file mode 100644
>> index 0000000..9ab5f42
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/keystone-k2g-ice.dts
>> @@ -0,0 +1,42 @@
>> +/*
>> + * Device Tree Source for K2G Industrial Communication Engine EVM
>> + *
>> + * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + *
>> + * This program is distributed "as is" WITHOUT ANY WARRANTY of any
>> + * kind, whether express or implied; without even the implied warranty
>> + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
> 
> You can Use SPDX tags here.
> 
>> + */
>> +/dts-v1/;
>> +
>> +#include "keystone-k2g.dtsi"
>> +
>> +/ {
>> +	compatible = "ti,k2g-ice", "ti,k2g", "ti,keystone";
>> +	model = "Texas Instruments K2G Industrial Communication EVM";
>> +
>> +	memory {
> 
> memory at 800000000

Adding this causes the dtb compiler to issue the below warning:
Warning (reg_format): "reg" property in /memory has invalid length (8
bytes) (#address-cells == 2, #size-cells == 2)

I don't quite understand what causes this to be triggered only when the
unit address is included. I tried adding the unit address to the memory
node on other dts/dtsi files and compiled it and I get similar errors.
Looking at scripts/dtc/checks.c its a bit unclear how the value for
prop->val.len is set. But I'm curious if the check has issues with 64
bit addressing? Note it says the property's length is 8 bytes while the
entry length is 16 ((addr_cells + size_cells) * sizeof(cell_t))
> 
> unless that gives you bootloader(s) problems.
> 
>> +		device_type = "memory";
>> +		reg = <0x00000008 0x00000000 0x00000000 0x20000000>;
>> +	};
>> +};
>> +
>> +&k2g_pinctrl {
>> +	uart0_pins: pinmux_uart0_pins {
>> +		pinctrl-single,pins = <
>> +			K2G_CORE_IOPAD(0x11cc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
>> +			K2G_CORE_IOPAD(0x11d0) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
>> +		>;
>> +	};
>> +};
>> +
>> +&uart0 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&uart0_pins>;
>> +	status = "okay";
>> +};
>> -- 
>> 2.10.0
>>



More information about the linux-arm-kernel mailing list