summaryrefslogtreecommitdiffstats
path: root/arm64-pine64-pinephone.patch
diff options
context:
space:
mode:
authorJustin M. Forbes <jforbes@fedoraproject.org>2020-04-06 13:56:22 -0500
committerJustin M. Forbes <jforbes@fedoraproject.org>2020-04-06 13:56:22 -0500
commit0561e0bf0e459dd4b27a77670de838128b87bd0e (patch)
tree54b6cfe69e901068e8945b46bcd25b23e0db4b26 /arm64-pine64-pinephone.patch
parent2703d9b16cc4a0cf8b5c25c8af390663092f455b (diff)
downloadkernel-0561e0bf0e459dd4b27a77670de838128b87bd0e.tar.gz
kernel-0561e0bf0e459dd4b27a77670de838128b87bd0e.tar.xz
kernel-0561e0bf0e459dd4b27a77670de838128b87bd0e.zip
Linux v5.6-11374-ga10c9c710f9e
Diffstat (limited to 'arm64-pine64-pinephone.patch')
-rw-r--r--arm64-pine64-pinephone.patch568
1 files changed, 0 insertions, 568 deletions
diff --git a/arm64-pine64-pinephone.patch b/arm64-pine64-pinephone.patch
deleted file mode 100644
index 640d53e33..000000000
--- a/arm64-pine64-pinephone.patch
+++ /dev/null
@@ -1,568 +0,0 @@
-From 836821a0addbd8589e949801aaa7be244703c7f8 Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megous@megous.com>
-Date: Thu, 27 Feb 2020 02:26:48 +0100
-Subject: [PATCH 1/3] arm64: dts: sun50i-a64: Add i2c2 pins
-
-PinePhone needs I2C2 pins description. Add it, and make it default
-for i2c2, since it's the only possiblilty.
-
-Signed-off-by: Ondrej Jirman <megous@megous.com>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-index 862b47dc9dc9..107a48f9c5b3 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-@@ -671,6 +671,11 @@ i2c1_pins: i2c1-pins {
- function = "i2c1";
- };
-
-+ i2c2_pins: i2c2-pins {
-+ pins = "PE14", "PE15";
-+ function = "i2c2";
-+ };
-+
- /omit-if-no-ref/
- lcd_rgb666_pins: lcd-rgb666-pins {
- pins = "PD0", "PD1", "PD2", "PD3", "PD4",
-@@ -958,12 +963,13 @@ i2c2: i2c@1c2b400 {
- interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
- 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>;
- };
-
--
- spi0: spi@1c68000 {
- compatible = "allwinner,sun8i-h3-spi";
- reg = <0x01c68000 0x1000>;
---
-2.24.1
-
-From 5c4e2cd9e8b600cc622c10543f69fcd897557eee Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megous@megous.com>
-Date: Thu, 27 Feb 2020 02:26:49 +0100
-Subject: [PATCH 2/3] dt-bindings: arm: sunxi: Add PinePhone 1.0 and 1.1
- bindings
-
-Document board compatible names for Pine64 PinePhone:
-
-- 1.0 - Developer variant
-- 1.1 - Braveheart variant
-
-Signed-off-by: Ondrej Jirman <megous@megous.com>
-Reviewed-by: Rob Herring <robh@kernel.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
-index 159060b65c5d..c632252be48b 100644
---- a/Documentation/devicetree/bindings/arm/sunxi.yaml
-+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
-@@ -636,6 +636,16 @@ properties:
- - const: pine64,pinebook
- - const: allwinner,sun50i-a64
-
-+ - description: Pine64 PinePhone Developer Batch (1.0)
-+ items:
-+ - const: pine64,pinephone-1.0
-+ - const: allwinner,sun50i-a64
-+
-+ - description: Pine64 PinePhone Braveheart (1.1)
-+ items:
-+ - const: pine64,pinephone-1.1
-+ - const: allwinner,sun50i-a64
-+
- - description: Pine64 PineTab
- items:
- - const: pine64,pinetab
---
-2.24.1
-
-From 697f60799172569e8d502a44ad98994f2c48778c Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megous@megous.com>
-Date: Thu, 27 Feb 2020 02:26:50 +0100
-Subject: [PATCH 3/3] arm64: dts: allwinner: Add initial support for Pine64
- PinePhone
-
-At the moment PinePhone comes in two slightly incompatible variants:
-
-- 1.0: Early Developer Batch
-- 1.1: Braveheart Batch
-
-There will be at least one more incompatible variant in the very near
-future, so let's start by sharing the dtsi among multiple variants,
-right away, even though the HW description doesn't yet include the
-different bits.
-
-The differences between 1.0 and 1.1 are: change in pins that control
-the flash LED, differences in modem power status signal routing, and
-maybe some other subtler things, that have not been determined yet.
-
-This is a basic DT that includes only features that are already
-supported by mainline drivers.
-
-Co-developed-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Co-developed-by: Martijn Braam <martijn@brixit.nl>
-Signed-off-by: Martijn Braam <martijn@brixit.nl>
-Co-developed-by: Luca Weiss <luca@z3ntu.xyz>
-Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
-Signed-off-by: Bhushan Shah <bshah@kde.org>
-Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
-Signed-off-by: Ondrej Jirman <megous@megous.com>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- arch/arm64/boot/dts/allwinner/Makefile | 2 +
- .../allwinner/sun50i-a64-pinephone-1.0.dts | 11 +
- .../allwinner/sun50i-a64-pinephone-1.1.dts | 11 +
- .../dts/allwinner/sun50i-a64-pinephone.dtsi | 379 ++++++++++++++++++
- 4 files changed, 403 insertions(+)
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
-
-diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
-index 6dad63881cd3..e4d3cd0ac5bb 100644
---- a/arch/arm64/boot/dts/allwinner/Makefile
-+++ b/arch/arm64/boot/dts/allwinner/Makefile
-@@ -9,6 +9,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
-+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb
-+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
-new file mode 100644
-index 000000000000..0c42272106af
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
-@@ -0,0 +1,11 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
-+
-+/dts-v1/;
-+
-+#include "sun50i-a64-pinephone.dtsi"
-+
-+/ {
-+ model = "Pine64 PinePhone Developer Batch (1.0)";
-+ compatible = "pine64,pinephone-1.0", "allwinner,sun50i-a64";
-+};
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
-new file mode 100644
-index 000000000000..06a775c41664
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
-@@ -0,0 +1,11 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
-+
-+/dts-v1/;
-+
-+#include "sun50i-a64-pinephone.dtsi"
-+
-+/ {
-+ model = "Pine64 PinePhone Braveheart (1.1)";
-+ compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64";
-+};
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
-new file mode 100644
-index 000000000000..cefda145c3c9
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
-@@ -0,0 +1,379 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+// Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
-+// Copyright (C) 2020 Martijn Braam <martijn@brixit.nl>
-+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
-+
-+#include "sun50i-a64.dtsi"
-+#include "sun50i-a64-cpu-opp.dtsi"
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+#include <dt-bindings/leds/common.h>
-+#include <dt-bindings/pwm/pwm.h>
-+
-+/ {
-+ aliases {
-+ serial0 = &uart0;
-+ };
-+
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
-+ leds {
-+ compatible = "gpio-leds";
-+
-+ blue {
-+ function = LED_FUNCTION_INDICATOR;
-+ color = <LED_COLOR_ID_BLUE>;
-+ gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
-+ };
-+
-+ green {
-+ function = LED_FUNCTION_INDICATOR;
-+ color = <LED_COLOR_ID_GREEN>;
-+ gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
-+ };
-+
-+ red {
-+ function = LED_FUNCTION_INDICATOR;
-+ color = <LED_COLOR_ID_RED>;
-+ gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
-+ };
-+ };
-+
-+ speaker_amp: audio-amplifier {
-+ compatible = "simple-audio-amplifier";
-+ enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
-+ sound-name-prefix = "Speaker Amp";
-+ };
-+
-+ vibrator {
-+ compatible = "gpio-vibrator";
-+ enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
-+ vcc-supply = <&reg_dcdc1>;
-+ };
-+};
-+
-+&codec {
-+ status = "okay";
-+};
-+
-+&codec_analog {
-+ cpvdd-supply = <&reg_eldo1>;
-+ status = "okay";
-+};
-+
-+&cpu0 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&cpu1 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&cpu2 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&cpu3 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&dai {
-+ status = "okay";
-+};
-+
-+&ehci0 {
-+ status = "okay";
-+};
-+
-+&ehci1 {
-+ status = "okay";
-+};
-+
-+&i2c1 {
-+ status = "okay";
-+
-+ /* Magnetometer */
-+ lis3mdl@1e {
-+ compatible = "st,lis3mdl-magn";
-+ reg = <0x1e>;
-+ vdd-supply = <&reg_dldo1>;
-+ vddio-supply = <&reg_dldo1>;
-+ };
-+
-+ /* Accelerometer/gyroscope */
-+ mpu6050@68 {
-+ compatible = "invensense,mpu6050";
-+ reg = <0x68>;
-+ interrupt-parent = <&pio>;
-+ interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
-+ vdd-supply = <&reg_dldo1>;
-+ vddio-supply = <&reg_dldo1>;
-+ };
-+};
-+
-+/* Connected to pogo pins (external spring based pinheader for user addons) */
-+&i2c2 {
-+ status = "okay";
-+};
-+
-+&lradc {
-+ vref-supply = <&reg_aldo3>;
-+ status = "okay";
-+
-+ button-200 {
-+ label = "Volume Up";
-+ linux,code = <KEY_VOLUMEUP>;
-+ channel = <0>;
-+ voltage = <200000>;
-+ };
-+
-+ button-400 {
-+ label = "Volume Down";
-+ linux,code = <KEY_VOLUMEDOWN>;
-+ channel = <0>;
-+ voltage = <400000>;
-+ };
-+};
-+
-+&mmc0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc0_pins>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ vqmmc-supply = <&reg_dcdc1>;
-+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
-+ disable-wp;
-+ bus-width = <4>;
-+ status = "okay";
-+};
-+
-+&mmc2 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc2_pins>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ vqmmc-supply = <&reg_dcdc1>;
-+ bus-width = <8>;
-+ non-removable;
-+ cap-mmc-hw-reset;
-+ status = "okay";
-+};
-+
-+&ohci0 {
-+ status = "okay";
-+};
-+
-+&ohci1 {
-+ status = "okay";
-+};
-+
-+&pio {
-+ vcc-pb-supply = <&reg_dcdc1>;
-+ vcc-pc-supply = <&reg_dcdc1>;
-+ vcc-pd-supply = <&reg_dcdc1>;
-+ vcc-pe-supply = <&reg_aldo1>;
-+ vcc-pf-supply = <&reg_dcdc1>;
-+ vcc-pg-supply = <&reg_dldo4>;
-+ vcc-ph-supply = <&reg_dcdc1>;
-+};
-+
-+&r_pio {
-+ /*
-+ * FIXME: We can't add that supply for now since it would
-+ * create a circular dependency between pinctrl, the regulator
-+ * and the RSB Bus.
-+ *
-+ * vcc-pl-supply = <&reg_aldo2>;
-+ */
-+};
-+
-+&r_rsb {
-+ status = "okay";
-+
-+ axp803: pmic@3a3 {
-+ compatible = "x-powers,axp803";
-+ reg = <0x3a3>;
-+ interrupt-parent = <&r_intc>;
-+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-+ };
-+};
-+
-+#include "axp803.dtsi"
-+
-+&ac_power_supply {
-+ status = "okay";
-+};
-+
-+&battery_power_supply {
-+ status = "okay";
-+};
-+
-+&reg_aldo1 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "dovdd-csi";
-+};
-+
-+&reg_aldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc-pl";
-+};
-+
-+&reg_aldo3 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <2700000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-pll-avcc";
-+};
-+
-+&reg_dcdc1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-3v3";
-+};
-+
-+&reg_dcdc2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1000000>;
-+ regulator-max-microvolt = <1300000>;
-+ regulator-name = "vdd-cpux";
-+};
-+
-+/* DCDC3 is polyphased with DCDC2 */
-+
-+&reg_dcdc5 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1200000>;
-+ regulator-max-microvolt = <1200000>;
-+ regulator-name = "vcc-dram";
-+};
-+
-+&reg_dcdc6 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-sys";
-+};
-+
-+&reg_dldo1 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-dsi-sensor";
-+};
-+
-+&reg_dldo2 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc-mipi-io";
-+};
-+
-+&reg_dldo3 {
-+ regulator-min-microvolt = <2800000>;
-+ regulator-max-microvolt = <2800000>;
-+ regulator-name = "avdd-csi";
-+};
-+
-+&reg_dldo4 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-wifi-io";
-+};
-+
-+&reg_eldo1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc-lpddr";
-+};
-+
-+&reg_eldo3 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "dvdd-1v8-csi";
-+};
-+
-+&reg_fldo1 {
-+ regulator-min-microvolt = <1200000>;
-+ regulator-max-microvolt = <1200000>;
-+ regulator-name = "vcc-1v2-hsic";
-+};
-+
-+&reg_fldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-cpus";
-+};
-+
-+&reg_ldo_io0 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-lcd-ctp-stk";
-+ status = "okay";
-+};
-+
-+&reg_ldo_io1 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc-1v8-typec";
-+ status = "okay";
-+};
-+
-+&reg_rtc_ldo {
-+ regulator-name = "vcc-rtc";
-+};
-+
-+&sound {
-+ status = "okay";
-+ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
-+ simple-audio-card,widgets = "Microphone", "Headset Microphone",
-+ "Microphone", "Internal Microphone",
-+ "Headphone", "Headphone Jack",
-+ "Speaker", "Internal Earpiece",
-+ "Speaker", "Internal Speaker";
-+ simple-audio-card,routing =
-+ "Headphone Jack", "HP",
-+ "Internal Earpiece", "EARPIECE",
-+ "Internal Speaker", "Speaker Amp OUTL",
-+ "Internal Speaker", "Speaker Amp OUTR",
-+ "Speaker Amp INL", "LINEOUT",
-+ "Speaker Amp INR", "LINEOUT",
-+ "Left DAC", "AIF1 Slot 0 Left",
-+ "Right DAC", "AIF1 Slot 0 Right",
-+ "AIF1 Slot 0 Left ADC", "Left ADC",
-+ "AIF1 Slot 0 Right ADC", "Right ADC",
-+ "Internal Microphone", "MBIAS",
-+ "MIC1", "Internal Microphone",
-+ "Headset Microphone", "HBIAS",
-+ "MIC2", "Headset Microphone";
-+};
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_pb_pins>;
-+ status = "okay";
-+};
-+
-+/* Connected to the modem (hardware flow control can't be used) */
-+&uart3 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart3_pins>;
-+ status = "okay";
-+};
-+
-+&usb_otg {
-+ dr_mode = "peripheral";
-+ status = "okay";
-+};
-+
-+&usb_power_supply {
-+ status = "okay";
-+};
-+
-+&usbphy {
-+ status = "okay";
-+};
---
-2.24.1
-