From patchwork Fri Nov 22 13:03:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Heider X-Patchwork-Id: 1199468 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="AtniO8wf"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 47KGpf0Pf9z9sPL for ; Sat, 23 Nov 2019 00:04:09 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id A523BC220CF; Fri, 22 Nov 2019 13:04:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 0B4F6C2200A; Fri, 22 Nov 2019 13:04:04 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id C9D8FC2200A; Fri, 22 Nov 2019 13:04:02 +0000 (UTC) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by lists.denx.de (Postfix) with ESMTPS id 7579EC21C38 for ; Fri, 22 Nov 2019 13:04:02 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id j18so10211266wmk.1 for ; Fri, 22 Nov 2019 05:04:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4KNgv4sF3MB/C2kuBHq+HGImscMXh8oAM9y2L3bkFSw=; b=AtniO8wfHAPspFZMGpOpzWiaXi8HXrQmFwXI/7C+BCBUoQTN/48GpH9YxR3C9pTEgs 860zL7gga6Gm8aLeNj/treMEM/77Yb73Cb0w7vHTnRUuMPqVG7hujAGQHrZvArkRVHj2 yUtrYjOlVgYW3FYQmRPN3/idd8PG4fOwphRXhYdY93tvmBvUSG0Pe/a9Xjj1GtdyBUp+ d2WGKc4igHVZcJN/8b97ABB8xFbHMmmYW9o6hwZs4G229HwJzpdAz/r/Oy3PijwdvdTE o1IIhJlJvl3GznFN/x3KZUQJH8HUkIzDg4jT9cg3ok69KDrfykVIVvbR+5p3bMta2NL2 7F9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4KNgv4sF3MB/C2kuBHq+HGImscMXh8oAM9y2L3bkFSw=; b=SVSPZx+BJno0y2186iqw9UEk5TittJC3+AMpwg+A1jLinKasaDlTUPGtYSnizOdVFz EO7zPgyXkVhVzJnrkse8vfOfIfk87506nGsWSKhNg9ZSuYoi9pmUShWDUQ+vucv7ymrJ 1r7grTV6xp4x9vGn4ROPbobhasO2NkqQzsZ/+3mXQiQsbUueOkgfs0zxf7EdhB4LZTo6 OAXJtWXOAhkav2nO3vUCBkPZM5Rd8W4pwdfc83KCUG6NU4uD6KdV3tRsR6c3883wqVmw fTZ9Bh3deoz6DJS38pcOd2dWwxPU5FjOxDrt3kj91RqF9LJ6CqAG8ArMxPvRQV8cAeYu GWRw== X-Gm-Message-State: APjAAAVGmuxuRtHf/8gbDyJPGCgzT+cWPXhT1/trBBWQO0PO6MWLQ506 pPJhKXn93X1x21DERzPDx3o= X-Google-Smtp-Source: APXvYqxc+dzblzfwNc/LbaDLFvsQffmeqryVfVb8WPpv3Dr2pevDq4HKwFPhYgOlYGCgu7tqVoBARA== X-Received: by 2002:a7b:cbc4:: with SMTP id n4mr16015643wmi.118.1574427841902; Fri, 22 Nov 2019 05:04:01 -0800 (PST) Received: from mamamia.internal (a89-183-130-53.net-htp.de. [89.183.130.53]) by smtp.gmail.com with ESMTPSA id o187sm3533171wmo.20.2019.11.22.05.04.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2019 05:04:01 -0800 (PST) From: Andre Heider To: Jagan Teki , Maxime Ripard Date: Fri, 22 Nov 2019 14:03:57 +0100 Message-Id: <20191122130400.2155457-1-a.heider@gmail.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Cc: Ondrej Jirman , u-boot@lists.denx.de, Jernej Skrabec Subject: [U-Boot] [PATCH 1/4] arm64: dts: sync Allwinner H6 files X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Taken from the kernel tag v5.4-rc8. Drop the /omit-if-no-ref/ keyword as it's not supported by u-boot. Signed-off-by: Andre Heider --- arch/arm/dts/sun50i-h6-beelink-gs1.dts | 27 +++++ arch/arm/dts/sun50i-h6-orangepi.dtsi | 4 + arch/arm/dts/sun50i-h6-pine-h64.dts | 4 + arch/arm/dts/sun50i-h6.dtsi | 137 ++++++++++++++++++++++--- 4 files changed, 155 insertions(+), 17 deletions(-) diff --git a/arch/arm/dts/sun50i-h6-beelink-gs1.dts b/arch/arm/dts/sun50i-h6-beelink-gs1.dts index 0dc33c90dd..1d05d57014 100644 --- a/arch/arm/dts/sun50i-h6-beelink-gs1.dts +++ b/arch/arm/dts/sun50i-h6-beelink-gs1.dts @@ -25,6 +25,7 @@ connector { compatible = "hdmi-connector"; type = "a"; + ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ port { hdmi_con_in: endpoint { @@ -51,6 +52,24 @@ regulator-max-microvolt = <5000000>; regulator-always-on; }; + + sound-spdif { + compatible = "simple-audio-card"; + simple-audio-card,name = "sun50i-h6-spdif"; + + simple-audio-card,cpu { + sound-dai = <&spdif>; + }; + + simple-audio-card,codec { + sound-dai = <&spdif_out>; + }; + }; + + spdif_out: spdif-out { + #sound-dai-cells = <0>; + compatible = "linux,spdif-dit"; + }; }; &de { @@ -232,6 +251,10 @@ }; }; +&r_ir { + status = "okay"; +}; + &r_pio { /* * PL0 and PL1 are used for PMIC I2C @@ -243,6 +266,10 @@ vcc-pm-supply = <®_aldo1>; }; +&spdif { + status = "okay"; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_ph_pins>; diff --git a/arch/arm/dts/sun50i-h6-orangepi.dtsi b/arch/arm/dts/sun50i-h6-orangepi.dtsi index 62e27948a3..ec9b6a578e 100644 --- a/arch/arm/dts/sun50i-h6-orangepi.dtsi +++ b/arch/arm/dts/sun50i-h6-orangepi.dtsi @@ -189,6 +189,10 @@ }; }; +&r_ir { + status = "okay"; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_ph_pins>; diff --git a/arch/arm/dts/sun50i-h6-pine-h64.dts b/arch/arm/dts/sun50i-h6-pine-h64.dts index 1898345183..30102daf83 100644 --- a/arch/arm/dts/sun50i-h6-pine-h64.dts +++ b/arch/arm/dts/sun50i-h6-pine-h64.dts @@ -255,6 +255,10 @@ }; }; +&r_ir { + status = "okay"; +}; + &r_pio { vcc-pm-supply = <®_aldo1>; }; diff --git a/arch/arm/dts/sun50i-h6.dtsi b/arch/arm/dts/sun50i-h6.dtsi index a117f479ae..bdba221a67 100644 --- a/arch/arm/dts/sun50i-h6.dtsi +++ b/arch/arm/dts/sun50i-h6.dtsi @@ -56,14 +56,6 @@ status = "disabled"; }; - iosc: internal-osc-clk { - #clock-cells = <0>; - compatible = "fixed-clock"; - clock-frequency = <16000000>; - clock-accuracy = <300000000>; - clock-output-names = "iosc"; - }; - osc24M: osc24M_clk { #clock-cells = <0>; compatible = "fixed-clock"; @@ -71,11 +63,11 @@ clock-output-names = "osc24M"; }; - osc32k: osc32k_clk { + ext_osc32k: ext_osc32k_clk { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <32768>; - clock-output-names = "osc32k"; + clock-output-names = "ext_osc32k"; }; psci { @@ -197,7 +189,7 @@ ccu: clock@3001000 { compatible = "allwinner,sun50i-h6-ccu"; reg = <0x03001000 0x1000>; - clocks = <&osc24M>, <&osc32k>, <&iosc>; + clocks = <&osc24M>, <&rtc 0>, <&rtc 2>; clock-names = "hosc", "losc", "iosc"; #clock-cells = <1>; #reset-cells = <1>; @@ -215,7 +207,7 @@ #dma-cells = <1>; }; - sid: sid@3006000 { + sid: efuse@3006000 { compatible = "allwinner,sun50i-h6-sid"; reg = <0x03006000 0x400>; }; @@ -225,6 +217,7 @@ "allwinner,sun6i-a31-wdt"; reg = <0x030090a0 0x20>; interrupts = ; + clocks = <&osc24M>; /* Broken on some H6 boards */ status = "disabled"; }; @@ -236,7 +229,7 @@ , , ; - clocks = <&ccu CLK_APB1>, <&osc24M>, <&osc32k>; + clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc 0>; clock-names = "apb", "hosc", "losc"; gpio-controller; #gpio-cells = <3>; @@ -256,6 +249,21 @@ function = "hdmi"; }; + i2c0_pins: i2c0-pins { + pins = "PD25", "PD26"; + function = "i2c0"; + }; + + i2c1_pins: i2c1-pins { + pins = "PH5", "PH6"; + function = "i2c1"; + }; + + i2c2_pins: i2c2-pins { + pins = "PD23", "PD24"; + function = "i2c2"; + }; + mmc0_pins: mmc0-pins { pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; @@ -285,6 +293,11 @@ bias-pull-up; }; + spdif_tx_pin: spdif-tx-pin { + pins = "PH7"; + function = "spdif"; + }; + uart0_ph_pins: uart0-ph-pins { pins = "PH0", "PH1"; function = "uart0"; @@ -394,6 +407,48 @@ status = "disabled"; }; + i2c0: i2c@5002000 { + compatible = "allwinner,sun50i-h6-i2c", + "allwinner,sun6i-a31-i2c"; + reg = <0x05002000 0x400>; + interrupts = ; + clocks = <&ccu CLK_BUS_I2C0>; + resets = <&ccu RST_BUS_I2C0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + + i2c1: i2c@5002400 { + compatible = "allwinner,sun50i-h6-i2c", + "allwinner,sun6i-a31-i2c"; + reg = <0x05002400 0x400>; + interrupts = ; + clocks = <&ccu CLK_BUS_I2C1>; + resets = <&ccu RST_BUS_I2C1>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + + i2c2: i2c@5002800 { + compatible = "allwinner,sun50i-h6-i2c", + "allwinner,sun6i-a31-i2c"; + reg = <0x05002800 0x400>; + interrupts = ; + clocks = <&ccu CLK_BUS_I2C2>; + resets = <&ccu RST_BUS_I2C2>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pins>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + emac: ethernet@5020000 { compatible = "allwinner,sun50i-h6-emac", "allwinner,sun50i-a64-emac"; @@ -414,6 +469,21 @@ }; }; + spdif: spdif@5093000 { + #sound-dai-cells = <0>; + compatible = "allwinner,sun50i-h6-spdif"; + reg = <0x05093000 0x400>; + interrupts = ; + clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; + clock-names = "apb", "spdif"; + resets = <&ccu RST_BUS_SPDIF>; + dmas = <&dma 2>; + dma-names = "tx"; + pinctrl-names = "default"; + pinctrl-0 = <&spdif_tx_pin>; + status = "disabled"; + }; + usb2otg: usb@5100000 { compatible = "allwinner,sun50i-h6-musb", "allwinner,sun8i-a33-musb"; @@ -480,6 +550,7 @@ resets = <&ccu RST_BUS_OHCI3>, <&ccu RST_BUS_EHCI3>; phys = <&usb2phy 3>; + phy-names = "usb"; status = "disabled"; }; @@ -491,6 +562,7 @@ <&ccu CLK_USB_OHCI3>; resets = <&ccu RST_BUS_OHCI3>; phys = <&usb2phy 3>; + phy-names = "usb"; status = "disabled"; }; @@ -507,7 +579,7 @@ resets = <&ccu RST_BUS_HDMI_SUB>, <&ccu RST_BUS_HDCP>; reset-names = "ctrl", "hdcp"; phys = <&hdmi_phy>; - phy-names = "hdmi-phy"; + phy-names = "phy"; pinctrl-names = "default"; pinctrl-0 = <&hdmi_pins>; status = "disabled"; @@ -636,10 +708,20 @@ }; }; + rtc: rtc@7000000 { + compatible = "allwinner,sun50i-h6-rtc"; + reg = <0x07000000 0x400>; + interrupts = , + ; + clock-output-names = "osc32k", "osc32k-out", "iosc"; + clocks = <&ext_osc32k>; + #clock-cells = <1>; + }; + r_ccu: clock@7010000 { compatible = "allwinner,sun50i-h6-r-ccu"; reg = <0x07010000 0x400>; - clocks = <&osc24M>, <&osc32k>, <&iosc>, + clocks = <&osc24M>, <&rtc 0>, <&rtc 2>, <&ccu CLK_PLL_PERIPH0>; clock-names = "hosc", "losc", "iosc", "pll-periph"; #clock-cells = <1>; @@ -651,6 +733,7 @@ "allwinner,sun6i-a31-wdt"; reg = <0x07020400 0x20>; interrupts = ; + clocks = <&osc24M>; }; r_intc: interrupt-controller@7021000 { @@ -667,7 +750,7 @@ reg = <0x07022000 0x400>; interrupts = , ; - clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&osc32k>; + clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>; clock-names = "apb", "hosc", "losc"; gpio-controller; #gpio-cells = <3>; @@ -678,10 +761,30 @@ pins = "PL0", "PL1"; function = "s_i2c"; }; + + r_ir_rx_pin: r-ir-rx-pin { + pins = "PL9"; + function = "s_cir_rx"; + }; + }; + + r_ir: ir@7040000 { + compatible = "allwinner,sun50i-h6-ir", + "allwinner,sun6i-a31-ir"; + reg = <0x07040000 0x400>; + interrupts = ; + clocks = <&r_ccu CLK_R_APB1_IR>, + <&r_ccu CLK_IR>; + clock-names = "apb", "ir"; + resets = <&r_ccu RST_R_APB1_IR>; + pinctrl-names = "default"; + pinctrl-0 = <&r_ir_rx_pin>; + status = "disabled"; }; r_i2c: i2c@7081400 { - compatible = "allwinner,sun6i-a31-i2c"; + compatible = "allwinner,sun50i-h6-i2c", + "allwinner,sun6i-a31-i2c"; reg = <0x07081400 0x400>; interrupts = ; clocks = <&r_ccu CLK_R_APB2_I2C>; From patchwork Fri Nov 22 13:03:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andre Heider X-Patchwork-Id: 1199469 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="e2MBKCj8"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 47KGqf5pyfz9sPL for ; Sat, 23 Nov 2019 00:05:02 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 26E87C220C4; Fri, 22 Nov 2019 13:04:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 76F1CC220C8; Fri, 22 Nov 2019 13:04:05 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 9FADBC2200A; Fri, 22 Nov 2019 13:04:03 +0000 (UTC) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by lists.denx.de (Postfix) with ESMTPS id 4120BC21C38 for ; Fri, 22 Nov 2019 13:04:03 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id t26so6276062wmi.0 for ; Fri, 22 Nov 2019 05:04:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+iar+zjmBQqNRV1bvUXj0GS0cX5deOr9OkrCWUoHGQk=; b=e2MBKCj8G98E9/syy0EXwTx5CDmECygOAlJf94ywVFgJGfU9RwY08Bz7QmTtarK5pE MBhP1oXwP6pD+/ew0tGMRcRIfH/pJ3Bf7HAOfH3i5mgWtMiG58ZKJCNVlohcsr3j5kJi zN1cmE45ySgrEhMYFXw6pU3XOWd8PL0aFLUYx7KjxfIE1SodZUIPJxyd+Wym9F0NEK4Y PW8gnyqG8NGREuT8WakEE83qfrVo1lDFFOk/dOX7TDZCrQcB/sRByRdY8UoNLMBAo2SZ F9VyF7LSf5WuffdDcdMucd1d9xXlkACqJw3mP4xbvQ1GWL5uNAlMfhwudsFShSMgupdx ckDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+iar+zjmBQqNRV1bvUXj0GS0cX5deOr9OkrCWUoHGQk=; b=PwaTqOWqar2xa+FZUqmK48lg6ErXyLpvwBM/eMe4/KjeFQyJgYihtDDGggWz8mIOpX miCZkYBJpJsmSFeRKeP96DldGXZr075t0rG6PewF8FKEf4RDQmldcMBwggAaXKHDSKkX w9pjzyK8LSY7KEdKeNLq7s3LbfKWWIWUMcreypeBEulwOIz+VxpKnOULbkAQ41mvRZgx iw+/bzSWj8euo6q7LnEOGAvy9p9SlDCYw1fZ+b6bfb/qvfd7rx6d7e79dTfEwUA09aXz FQyZx/ZXcXw2Kk0diP81E9TiFcOl3eZcmiK5p80EoxTxrrIb+LUbPsfaMAT2O99ZhbG5 mrGw== X-Gm-Message-State: APjAAAUuQxrEqunV+PPT/YQ4km9N8GNiS8sfUO/BV4snTUHQ6gx5spX/ 2cRN6AZrYhC64EWuOL7f7xw= X-Google-Smtp-Source: APXvYqxXNxwtVglclOoPvfFHo7Eval3MyAPz6Hjfsf2+J0y1uoe8IvdhjVLpZiA/2Umb+NLCn2qzeA== X-Received: by 2002:a05:600c:2946:: with SMTP id n6mr9197600wmd.166.1574427842798; Fri, 22 Nov 2019 05:04:02 -0800 (PST) Received: from mamamia.internal (a89-183-130-53.net-htp.de. [89.183.130.53]) by smtp.gmail.com with ESMTPSA id o187sm3533171wmo.20.2019.11.22.05.04.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2019 05:04:02 -0800 (PST) From: Andre Heider To: Jagan Teki , Maxime Ripard Date: Fri, 22 Nov 2019 14:03:58 +0100 Message-Id: <20191122130400.2155457-2-a.heider@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122130400.2155457-1-a.heider@gmail.com> References: <20191122130400.2155457-1-a.heider@gmail.com> MIME-Version: 1.0 Cc: Ondrej Jirman , u-boot@lists.denx.de, Jernej Skrabec Subject: [U-Boot] [PATCH 2/4] arm64: dts: sun50i: Add support for Orange Pi 3 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" The dts is taken from kernel tag v5.4-rc8. Signed-off-by: Andre Heider --- arch/arm/dts/Makefile | 1 + arch/arm/dts/sun50i-h6-orangepi-3.dts | 287 ++++++++++++++++++++++++++ board/sunxi/MAINTAINERS | 5 + configs/orangepi_3_defconfig | 17 ++ 4 files changed, 310 insertions(+) create mode 100644 arch/arm/dts/sun50i-h6-orangepi-3.dts create mode 100644 configs/orangepi_3_defconfig diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index d8846df1bd..5040d4f50d 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -540,6 +540,7 @@ dtb-$(CONFIG_MACH_SUN50I_H5) += \ sun50i-h5-orangepi-zero-plus2.dtb dtb-$(CONFIG_MACH_SUN50I_H6) += \ sun50i-h6-beelink-gs1.dtb \ + sun50i-h6-orangepi-3.dtb \ sun50i-h6-orangepi-lite2.dtb \ sun50i-h6-orangepi-one-plus.dtb \ sun50i-h6-pine-h64.dtb diff --git a/arch/arm/dts/sun50i-h6-orangepi-3.dts b/arch/arm/dts/sun50i-h6-orangepi-3.dts new file mode 100644 index 0000000000..eb379cd402 --- /dev/null +++ b/arch/arm/dts/sun50i-h6-orangepi-3.dts @@ -0,0 +1,287 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) +/* + * Copyright (C) 2019 OndÅ™ej Jirman + */ + +/dts-v1/; + +#include "sun50i-h6.dtsi" + +#include + +/ { + model = "OrangePi 3"; + compatible = "xunlong,orangepi-3", "allwinner,sun50i-h6"; + + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + connector { + compatible = "hdmi-connector"; + ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + + leds { + compatible = "gpio-leds"; + + power { + label = "orangepi:red:power"; + gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ + default-state = "on"; + }; + + status { + label = "orangepi:green:status"; + gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ + }; + }; + + reg_vcc5v: vcc5v { + /* board wide 5V supply directly from the DC jack */ + compatible = "regulator-fixed"; + regulator-name = "vcc-5v"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + reg_vcc33_wifi: vcc33-wifi { + /* Always on 3.3V regulator for WiFi and BT */ + compatible = "regulator-fixed"; + regulator-name = "vcc33-wifi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + vin-supply = <®_vcc5v>; + }; + + reg_vcc_wifi_io: vcc-wifi-io { + /* Always on 1.8V/300mA regulator for WiFi and BT IO */ + compatible = "regulator-fixed"; + regulator-name = "vcc-wifi-io"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + vin-supply = <®_vcc33_wifi>; + }; + + wifi_pwrseq: wifi-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rtc 1>; + clock-names = "ext_clock"; + reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */ + post-power-on-delay-ms = <200>; + }; +}; + +&cpu0 { + cpu-supply = <®_dcdca>; +}; + +&de { + status = "okay"; +}; + +&ehci0 { + status = "okay"; +}; + +&ehci3 { + status = "okay"; +}; + +&hdmi { + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + +&mmc0 { + vmmc-supply = <®_cldo1>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ + bus-width = <4>; + status = "okay"; +}; + +&mmc1 { + vmmc-supply = <®_vcc33_wifi>; + vqmmc-supply = <®_vcc_wifi_io>; + mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; + status = "okay"; + + brcm: sdio-wifi@1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + interrupt-parent = <&r_pio>; + interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */ + interrupt-names = "host-wake"; + }; +}; + +&ohci0 { + status = "okay"; +}; + +&ohci3 { + status = "okay"; +}; + +&pio { + vcc-pc-supply = <®_bldo2>; + vcc-pd-supply = <®_cldo1>; + vcc-pg-supply = <®_vcc_wifi_io>; +}; + +&r_i2c { + status = "okay"; + + axp805: pmic@36 { + compatible = "x-powers,axp805", "x-powers,axp806"; + reg = <0x36>; + interrupt-parent = <&r_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + interrupt-controller; + #interrupt-cells = <1>; + x-powers,self-working-mode; + vina-supply = <®_vcc5v>; + vinb-supply = <®_vcc5v>; + vinc-supply = <®_vcc5v>; + vind-supply = <®_vcc5v>; + vine-supply = <®_vcc5v>; + aldoin-supply = <®_vcc5v>; + bldoin-supply = <®_vcc5v>; + cldoin-supply = <®_vcc5v>; + + regulators { + reg_aldo1: aldo1 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-pl-led-ir"; + }; + + reg_aldo2: aldo2 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc33-audio-tv-ephy-mac"; + }; + + /* ALDO3 is shorted to CLDO1 */ + reg_aldo3: aldo3 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-1"; + }; + + reg_bldo1: bldo1 { + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc18-dram-bias-pll"; + }; + + reg_bldo2: bldo2 { + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc-efuse-pcie-hdmi-pc"; + }; + + bldo3 { + /* unused */ + }; + + bldo4 { + /* unused */ + }; + + reg_cldo1: cldo1 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2"; + }; + + cldo2 { + /* unused */ + }; + + cldo3 { + /* unused */ + }; + + reg_dcdca: dcdca { + regulator-always-on; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1160000>; + regulator-name = "vdd-cpu"; + }; + + reg_dcdcc: dcdcc { + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1080000>; + regulator-name = "vdd-gpu"; + }; + + reg_dcdcd: dcdcd { + regulator-always-on; + regulator-min-microvolt = <960000>; + regulator-max-microvolt = <960000>; + regulator-name = "vdd-sys"; + }; + + reg_dcdce: dcdce { + regulator-always-on; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-name = "vcc-dram"; + }; + + sw { + /* unused */ + }; + }; + }; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_ph_pins>; + status = "okay"; +}; + +&usb2otg { + /* + * This board doesn't have a controllable VBUS even though it + * does have an ID pin. Using it as anything but a USB host is + * unsafe. + */ + dr_mode = "host"; + status = "okay"; +}; + +&usb2phy { + usb0_id_det-gpios = <&pio 2 15 GPIO_ACTIVE_HIGH>; /* PC15 */ + usb0_vbus-supply = <®_vcc5v>; + usb3_vbus-supply = <®_vcc5v>; + status = "okay"; +}; diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS index a2adf89b5d..3c0fd0cae8 100644 --- a/board/sunxi/MAINTAINERS +++ b/board/sunxi/MAINTAINERS @@ -375,6 +375,11 @@ M: Icenowy Zheng S: Maintained F: configs/teres_i_defconfig +ORANGEPI 3 BOARD +M: Andre Heider +S: Maintained +F: configs/orangepi_3_defconfig + ORANGEPI LITE2 BOARD M: Jagan Teki S: Maintained diff --git a/configs/orangepi_3_defconfig b/configs/orangepi_3_defconfig new file mode 100644 index 0000000000..b2084013cf --- /dev/null +++ b/configs/orangepi_3_defconfig @@ -0,0 +1,17 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_SPL=y +CONFIG_MACH_SUN50I_H6=y +CONFIG_SUNXI_DRAM_H6_LPDDR3=y +CONFIG_MMC0_CD_PIN="PF6" +CONFIG_MMC_SUNXI_SLOT_EXTRA=2 +# CONFIG_PSCI_RESET is not set +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_USE_PREBOOT=y +# CONFIG_CMD_FLASH is not set +# CONFIG_SPL_DOS_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set +CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-3" +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_OHCI_HCD=y From patchwork Fri Nov 22 13:03:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Heider X-Patchwork-Id: 1199471 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VFv2riLH"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 47KGr8750Mz9sPL for ; Sat, 23 Nov 2019 00:05:28 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id A7A4AC220E2; Fri, 22 Nov 2019 13:04:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id F406BC220E5; Fri, 22 Nov 2019 13:04:10 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6C043C220C4; Fri, 22 Nov 2019 13:04:07 +0000 (UTC) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by lists.denx.de (Postfix) with ESMTPS id 20C44C2203F for ; Fri, 22 Nov 2019 13:04:04 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id b18so8511441wrj.8 for ; Fri, 22 Nov 2019 05:04:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TJGsITgaA8uq9tXCxn2snVsvevdKdOCQL+a17s24hHo=; b=VFv2riLH0+pWrHZgc95HtjIXraojhyAAuqhKJZRoaOh8OMLyuaKoV2YSuGlXJ+sraB 4ZyjxhyO2GC2VkkQI4tlMZbgneXkykE3ZQIJmv45POUl2Ea2Yw5UnsUde1Tx3nQOtcnL DXcuyzaqj6LUmJBnWe+uSwGjLwrnxfCwMN7RqfrQonHhV/lD6VAjEhUK5phXGZCyrUkz rDAV1+xAlzl2LLJ1c1PXMJ6zK4F3RE1f/9tM3g2xOX886/4Pu2xqTUdatP1BV25cvPS7 gabhn58OE8pHU5nGpRJ1ev3qjZylp2COhIsgiFNTp2m7TuiilNXo/7Z4eMdczO2Gtb9S mUyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TJGsITgaA8uq9tXCxn2snVsvevdKdOCQL+a17s24hHo=; b=Z1TwkJb+6CU+gJ++qGlm0rDOshbjDy6dYv3NgskkjQEVpsbjiJVmKxDDhi0X1f+E4I b9GbChk6cFftyDLAR+k5ZQXSGKcYEnHdixZFFucg1CSJeutWRZI8QGTUWdbBg7qZ+rjd Tju79+Ns4iYTmNYRj+Tbt9wvaYt+ukSMsGEZo11y/Zuc5NeNV34eggATTkrzf5pQXweI XUIICO/rLHZzCA+FnAvJ53EUknXxUg/gXy3sY6N9DFqSycT3gR0VD0kA3sN3eGFmccSm Bp2HX/CFX37jSkA4nJjqMHfGMMCv7EQ0v02qIAtmM38e9LI9NRx1gTizCqzQsF2OrKUm bpyQ== X-Gm-Message-State: APjAAAWP58WKDT74OKoy/ODegMo875dqjjanky+7KDces+ZtrB3b+VnO c7fr+xQK7sZqJVr43hnPUFA= X-Google-Smtp-Source: APXvYqxzhThR8nGDxLbyzfNYsKd6rBjSvO1HvWF+5w3WE6qyQ64zhGJd3FUgJsfndz1zbrqLzynSjA== X-Received: by 2002:a5d:6550:: with SMTP id z16mr17675468wrv.66.1574427843753; Fri, 22 Nov 2019 05:04:03 -0800 (PST) Received: from mamamia.internal (a89-183-130-53.net-htp.de. [89.183.130.53]) by smtp.gmail.com with ESMTPSA id o187sm3533171wmo.20.2019.11.22.05.04.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2019 05:04:03 -0800 (PST) From: Andre Heider To: Jagan Teki , Maxime Ripard Date: Fri, 22 Nov 2019 14:03:59 +0100 Message-Id: <20191122130400.2155457-3-a.heider@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122130400.2155457-1-a.heider@gmail.com> References: <20191122130400.2155457-1-a.heider@gmail.com> MIME-Version: 1.0 Cc: Ondrej Jirman , u-boot@lists.denx.de, Jernej Skrabec Subject: [U-Boot] [PATCH 3/4] sunxi: board: Use eth_env_set_enetaddr_by_index() X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" That helper takes care of assembling the correct name and doesn't allow overwriting existing env vars, so drop the checks here. Signed-off-by: Andre Heider --- board/sunxi/board.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/board/sunxi/board.c b/board/sunxi/board.c index e3b2d13892..bb35d6b66e 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -807,14 +807,6 @@ static void setup_environment(const void *fdt) if (!fdt_get_alias(fdt, ethaddr)) continue; - if (i == 0) - strcpy(ethaddr, "ethaddr"); - else - sprintf(ethaddr, "eth%daddr", i); - - if (env_get(ethaddr)) - continue; - /* Non OUI / registered MAC address */ mac_addr[0] = (i << 4) | 0x02; mac_addr[1] = (sid[0] >> 0) & 0xff; @@ -823,7 +815,7 @@ static void setup_environment(const void *fdt) mac_addr[4] = (sid[3] >> 8) & 0xff; mac_addr[5] = (sid[3] >> 0) & 0xff; - eth_env_set_enetaddr(ethaddr, mac_addr); + eth_env_set_enetaddr_by_index("eth", i, mac_addr); } if (!env_get("serial#")) { From patchwork Fri Nov 22 13:04:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Heider X-Patchwork-Id: 1199470 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="cNm61tNp"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 47KGr44yFjz9sPL for ; Sat, 23 Nov 2019 00:05:24 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 4DB10C220A5; Fri, 22 Nov 2019 13:04:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 7F34BC220BB; Fri, 22 Nov 2019 13:04:19 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B9214C220DA; Fri, 22 Nov 2019 13:04:11 +0000 (UTC) Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by lists.denx.de (Postfix) with ESMTPS id 92E30C220DA for ; Fri, 22 Nov 2019 13:04:06 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id b11so7353622wmb.5 for ; Fri, 22 Nov 2019 05:04:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WdGaPmNm1vX6J0qh99R4KqiEMxSFiAnSZwa5IPXdHc8=; b=cNm61tNpGWK9ryxMAnV6OQf1sQsfInUmPSuJ8GPLWbRXRHs3bAkDFkImTKauWTzr8e vHO2d7I35gxCanoSsUEv0LKTwFhifyiiWBz99taqTJVuGxPuoMXgJUiEaGZUIGFNqyJ9 /9ezAiO1SE/yuQNaUbPwwprs9/uZWJ74aljh65HfPGlRNgu5PRx57ztDmytHJ5r5+chg GtCHo+qALkqi+bMVjlg4iX4IeA/INw3CbTwcHWk0VlBSPuDGxSnbU66MZhZvWCgMp9Vf 9PV+F6f3liY3fN4jOFog4oKMZOr9nrENjK9ENBkJCZJ+zGdwCFN9ROo2HfvyEb2/4Kx+ 5URw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WdGaPmNm1vX6J0qh99R4KqiEMxSFiAnSZwa5IPXdHc8=; b=R53U5Xi1mh7SWV7tSeB669V84QDY9mTgqEtA+BYVr6GRdX94tjOy1CbwlKh8eQTqtJ yypXta2/cq3THUZLdqFugwRrKMmok1taP8qv4CXVjS4o3tbUeel3j5KcurRUGF6iRMPJ gDlinz47ocsqToQvNdlnPR0uqOcGycfUbJObfHsgR8lcKflHNvw6t7R8ELeDmwtAq/T3 UP8Dglmp2ZUeNKzVWDqd0JFFM6vigUk61YJI0wDed3wLxZqkPjs2t566etFS5NGMJEzx eFPbWA7cbXY1BE1gP5GWGbDkil9uIkgz+oJiBcATEg/ub74B5bSMVCxzZWoBvr0/CoN+ BInQ== X-Gm-Message-State: APjAAAXJI/qQS1i9/r7KQQTL5rPkynLiiIBlA7uy1mR+ug0XI7EXC5ut g2qD2nkVLNI6ub0JZ2o4S2k= X-Google-Smtp-Source: APXvYqzatLNWEn/fkiB8A2pDiZlGQZxYlO/KZqOMbrAENkKJ9YHZ1qja97x9T5d4dNDWAdWFOfJWrw== X-Received: by 2002:a1c:740a:: with SMTP id p10mr16227975wmc.121.1574427846280; Fri, 22 Nov 2019 05:04:06 -0800 (PST) Received: from mamamia.internal (a89-183-130-53.net-htp.de. [89.183.130.53]) by smtp.gmail.com with ESMTPSA id o187sm3533171wmo.20.2019.11.22.05.04.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2019 05:04:04 -0800 (PST) From: Andre Heider To: Jagan Teki , Maxime Ripard Date: Fri, 22 Nov 2019 14:04:00 +0100 Message-Id: <20191122130400.2155457-4-a.heider@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122130400.2155457-1-a.heider@gmail.com> References: <20191122130400.2155457-1-a.heider@gmail.com> MIME-Version: 1.0 Cc: Ondrej Jirman , u-boot@lists.denx.de, Jernej Skrabec Subject: [U-Boot] [PATCH 4/4] sunxi: board: fixup the BT address for Orange Pi 3 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" The BCM4345C5 of the Orange Pi 3 ships with the controller default address. Fix it up so it can function properly. The used address is "ethaddr" with the LSB flipped. Signed-off-by: Andre Heider --- NOTE: "local-bd-address" is a universal property, the kernel patch for btbcm to use that is in bluetooth-next. board/sunxi/board.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/board/sunxi/board.c b/board/sunxi/board.c index bb35d6b66e..2897bf45e1 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -856,6 +856,32 @@ int misc_init_r(void) return 0; } +static void fixup_bd_address(void *blob) +{ +#if defined(CONFIG_MACH_SUN50I_H6) + /* Some devices ship with the controller default address. + * Set a valid address through the device tree. + */ + uchar mac[ETH_ALEN], bdaddr[ETH_ALEN]; + int i; + + if (!of_machine_is_compatible("xunlong,orangepi-3")) + return; + + if (!eth_env_get_enetaddr("ethaddr", mac)) + return; + + /* Addresses need to be in the binary format of the corresponding stack */ + for (i = 0; i < ETH_ALEN; ++i) + bdaddr[i] = mac[ETH_ALEN - i - 1]; + + bdaddr[0] ^= 1; + + do_fixup_by_compat(blob, "brcm,bcm4345c5", + "local-bd-address", bdaddr, ETH_ALEN, 1); +#endif +} + int ft_board_setup(void *blob, bd_t *bd) { int __maybe_unused r; @@ -866,6 +892,8 @@ int ft_board_setup(void *blob, bd_t *bd) */ setup_environment(blob); + fixup_bd_address(blob); + #ifdef CONFIG_VIDEO_DT_SIMPLEFB r = sunxi_simplefb_setup(blob); if (r)