[PATCH 2/2] ARM: dts: socfpga: Add support for Terasic DE1-SOC board
Krzysztof Kozlowski
krzk at kernel.org
Wed Jun 5 07:33:10 PDT 2024
On 05/06/2024 10:33, Florian Vaussard wrote:
> Compared to Terasic SoCKit, here are some of the notable differences
> on the HPS side:
> - Only 1 user LED and 1 user KEY
> - The QSPI Flash is not populated
> - The ADXL345 accelerometer is on I2C0 instead of I2C1
>
> Tested to be working:
> - LED / KEY
> - Ethernet
> - Both USB Host ports
> - SD card
> - ADXL345 accelerometer
>
> Signed-off-by: Florian Vaussard <florian.vaussard at gmail.com>
> ---
> arch/arm/boot/dts/intel/socfpga/Makefile | 1 +
> .../socfpga/socfpga_cyclone5_de1_soc.dts | 106 ++++++++++++++++++
> 2 files changed, 107 insertions(+)
> create mode 100644 arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_de1_soc.dts
>
> diff --git a/arch/arm/boot/dts/intel/socfpga/Makefile b/arch/arm/boot/dts/intel/socfpga/Makefile
> index c467828aeb4b..1d5140b238da 100644
> --- a/arch/arm/boot/dts/intel/socfpga/Makefile
> +++ b/arch/arm/boot/dts/intel/socfpga/Makefile
> @@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += \
> socfpga_cyclone5_mcvevk.dtb \
> socfpga_cyclone5_socdk.dtb \
> socfpga_cyclone5_de0_nano_soc.dtb \
> + socfpga_cyclone5_de1_soc.dtb \
> socfpga_cyclone5_sockit.dtb \
> socfpga_cyclone5_socrates.dtb \
> socfpga_cyclone5_sodia.dtb \
> diff --git a/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_de1_soc.dts b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_de1_soc.dts
> new file mode 100644
> index 000000000000..7d811be5f5a7
> --- /dev/null
> +++ b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_de1_soc.dts
> @@ -0,0 +1,106 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2024 Florian Vaussard <florian.vaussard at gmail.com>
> + */
> +
> +#include "socfpga_cyclone5.dtsi"
> +
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Terasic DE1-SOC";
> + compatible = "terasic,de1-soc", "altr,socfpga-cyclone5", "altr,socfpga";
> +
> + chosen {
> + bootargs = "earlyprintk";
That's debugging, not mainline. Drop bootargs.
> + stdout-path = "serial0:115200n8";
> + };
> +
> + memory at 0 {
> + name = "memory";
Which binding defines this property?
> + device_type = "memory";
> + reg = <0x0 0x40000000>; /* 1GB */
> + };
> +
> + aliases {
> + /* this allow the ethaddr uboot environmnet variable contents
Please use Linux coding style comments /* in separate line. Also, typos.
> + * to be added to the gmac1 device tree blob.
> + */
> + ethernet0 = &gmac1;
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + hps_led {
No underscores in node names.
> + label = "hps:green:led";
Drop. Use function and color instead.
> + gpios = <&portb 24 0>; /* HPS_GPIO53 */
> + linux,default-trigger = "heartbeat";
> + };
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> +
> + hps_key {
No underscores...
> + label = "hps_key";
> + gpios = <&portb 25 0>; /* HPS_GPIO54 */
> + linux,code = <BTN_0>;
> + };
> + };
> +
> + regulator_3_3v: regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "VCC3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +};
> +
> +&gmac1 {
> + status = "okay";
> + phy-mode = "rgmii";
> +
> + rxd0-skew-ps = <0>;
> + rxd1-skew-ps = <0>;
> + rxd2-skew-ps = <0>;
> + rxd3-skew-ps = <0>;
> + txen-skew-ps = <0>;
> + txc-skew-ps = <2600>;
> + rxdv-skew-ps = <0>;
> + rxc-skew-ps = <2000>;
> +};
> +
> +&gpio0 { /* GPIO 0..29 */
> + status = "okay";
> +};
> +
> +&gpio1 { /* GPIO 30..57 */
> + status = "okay";
> +};
> +
> +&gpio2 { /* GPIO 58..66 (HLGPI 0..13 at offset 13) */
> + status = "okay";
> +};
> +
> +&i2c0 {
> + status = "okay";
> +
> + accel1: accelerometer at 53 {
> + compatible = "adi,adxl345";
> + reg = <0x53>;
> +
> + interrupt-parent = <&portc>;
> + interrupts = <3 2>;
> + };
> +};
> +
> +&mmc0 {
> + vmmc-supply = <®ulator_3_3v>;
> + vqmmc-supply = <®ulator_3_3v>;
That's a noop... Isn't this coming from a PMIC?
Best regards,
Krzysztof
More information about the linux-arm-kernel
mailing list