mirror of
https://github.com/Fishwaldo/build.git
synced 2025-07-23 21:39:02 +00:00
- Boots, Bluetooth, Reboot OK - Audio missing - spidev error (I think it's been here a while) - disabled both DWC2 patches, added 1008-rockchip-dwc2-usb-partial-power-down.patch from @Miouyouyou - Review/test, boards USB hotplug works on boot for Tinker - If other circumstances (if any) aren't addressed this way, obviously re-enable. @paolosabatino - Plugging in an old U3 USB stick made the scsi CD-ROM driver go insane. Not a modern problem. - Strange error on IRQ 56/57: [ 1.477928] WARNING: CPU: 1 PID: 1 at kernel/irq/manage.c:559 __enable_irq+0x54/0x7c [ 1.477935] Unbalanced enable for IRQ 57 [ 1.477940] Modules linked in: [ 1.477958] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.19.4-rockchip #25 [ 1.477965] Hardware name: Rockchip (Device Tree) [ 1.477995] [<c0112c64>] (unwind_backtrace) from [<c010e1d8>] (show_stack+0x20/0x24) [ 1.478016] [<c010e1d8>] (show_stack) from [<c0e40674>] (dump_stack+0x80/0x94) [ 1.478037] [<c0e40674>] (dump_stack) from [<c0125400>] (__warn+0xf0/0x108) [ 1.478055] [<c0125400>] (__warn) from [<c0125470>] (warn_slowpath_fmt+0x58/0x74) [ 1.478075] [<c0125470>] (warn_slowpath_fmt) from [<c018fb50>] (__enable_irq+0x54/0x7c) [ 1.478094] [<c018fb50>] (__enable_irq) from [<c018fbcc>] (enable_irq+0x54/0xa0) [ 1.478113] [<c018fbcc>] (enable_irq) from [<c07d59c4>] (vop_unbind+0x24/0x54) [ 1.478130] [<c07d59c4>] (vop_unbind) from [<c07e3344>] (component_unbind+0x40/0x78) [ 1.478145] [<c07e3344>] (component_unbind) from [<c07e3764>] (component_bind_all+0x1f0/0x238) [ 1.478158] [<c07e3764>] (component_bind_all) from [<c07d3628>] (rockchip_drm_bind+0xac/0x1e4) [ 1.478173] [<c07d3628>] (rockchip_drm_bind) from [<c07e3ab0>] (try_to_bring_up_master+0x15c/0x198) [ 1.478187] [<c07e3ab0>] (try_to_bring_up_master) from [<c07e3d18>] (component_master_add_with_match+0xdc/0x110) [ 1.478201] [<c07e3d18>] (component_master_add_with_match) from [<c07d39c8>] (rockchip_drm_platform_probe+0x1f4/0x2ec) [ 1.478217] [<c07d39c8>] (rockchip_drm_platform_probe) from [<c07ec708>] (platform_drv_probe+0x58/0xa8) [ 1.478234] [<c07ec708>] (platform_drv_probe) from [<c07ea2a4>] (really_probe+0x1e0/0x2cc) [ 1.478253] [<c07ea2a4>] (really_probe) from [<c07ea564>] (driver_probe_device+0x70/0x18c) [ 1.478270] [<c07ea564>] (driver_probe_device) from [<c07ea760>] (__driver_attach+0xe0/0xe4) [ 1.478286] [<c07ea760>] (__driver_attach) from [<c07e81f0>] (bus_for_each_dev+0x84/0xc4) [ 1.478303] [<c07e81f0>] (bus_for_each_dev) from [<c07e9ba8>] (driver_attach+0x2c/0x30) [ 1.478320] [<c07e9ba8>] (driver_attach) from [<c07e95ac>] (bus_add_driver+0x19c/0x220) [ 1.478336] [<c07e95ac>] (bus_add_driver) from [<c07eb4f4>] (driver_register+0x8c/0x124) [ 1.478352] [<c07eb4f4>] (driver_register) from [<c07ec658>] (__platform_driver_register+0x50/0x58) [ 1.478369] [<c07ec658>] (__platform_driver_register) from [<c1346fd8>] (rockchip_drm_init+0x74/0x90) [ 1.478388] [<c1346fd8>] (rockchip_drm_init) from [<c0103200>] (do_one_initcall+0x64/0x288) [ 1.478410] [<c0103200>] (do_one_initcall) from [<c1301370>] (kernel_init_freeable+0x360/0x3fc) [ 1.478428] [<c1301370>] (kernel_init_freeable) from [<c0e55a38>] (kernel_init+0x18/0x120) [ 1.478442] [<c0e55a38>] (kernel_init) from [<c01010e8>] (ret_from_fork+0x14/0x2c) [ 1.478450] Exception stack(0xee975fb0 to 0xee975ff8) [ 1.478461] 5fa0: 00000000 00000000 00000000 00000000 [ 1.478475] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 1.478486] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 1.478502] ---[ end trace 390e2ce79ed4d5fa ]--- [ 1.478567] ------------[ cut here ]------------ [ 1.478585] WARNING: CPU: 1 PID: 1 at kernel/irq/manage.c:559 __enable_irq+0x54/0x7c [ 1.478592] Unbalanced enable for IRQ 56 [ 1.478596] Modules linked in: [ 1.478614] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 4.19.4-rockchip #25 [ 1.478620] Hardware name: Rockchip (Device Tree) [ 1.478640] [<c0112c64>] (unwind_backtrace) from [<c010e1d8>] (show_stack+0x20/0x24) [ 1.478656] [<c010e1d8>] (show_stack) from [<c0e40674>] (dump_stack+0x80/0x94) [ 1.478674] [<c0e40674>] (dump_stack) from [<c0125400>] (__warn+0xf0/0x108) [ 1.478691] [<c0125400>] (__warn) from [<c0125470>] (warn_slowpath_fmt+0x58/0x74) [ 1.478710] [<c0125470>] (warn_slowpath_fmt) from [<c018fb50>] (__enable_irq+0x54/0x7c) [ 1.478728] [<c018fb50>] (__enable_irq) from [<c018fbcc>] (enable_irq+0x54/0xa0) [ 1.478745] [<c018fbcc>] (enable_irq) from [<c07d59c4>] (vop_unbind+0x24/0x54) [ 1.478760] [<c07d59c4>] (vop_unbind) from [<c07e3344>] (component_unbind+0x40/0x78) [ 1.478774] [<c07e3344>] (component_unbind) from [<c07e3764>] (component_bind_all+0x1f0/0x238) [ 1.478788] [<c07e3764>] (component_bind_all) from [<c07d3628>] (rockchip_drm_bind+0xac/0x1e4) [ 1.478802] [<c07d3628>] (rockchip_drm_bind) from [<c07e3ab0>] (try_to_bring_up_master+0x15c/0x198) [ 1.478817] [<c07e3ab0>] (try_to_bring_up_master) from [<c07e3d18>] (component_master_add_with_match+0xdc/0x110) [ 1.478831] [<c07e3d18>] (component_master_add_with_match) from [<c07d39c8>] (rockchip_drm_platform_probe+0x1f4/0x2ec) [ 1.478845] [<c07d39c8>] (rockchip_drm_platform_probe) from [<c07ec708>] (platform_drv_probe+0x58/0xa8) [ 1.478862] [<c07ec708>] (platform_drv_probe) from [<c07ea2a4>] (really_probe+0x1e0/0x2cc) [ 1.478880] [<c07ea2a4>] (really_probe) from [<c07ea564>] (driver_probe_device+0x70/0x18c) [ 1.478897] [<c07ea564>] (driver_probe_device) from [<c07ea760>] (__driver_attach+0xe0/0xe4) [ 1.478913] [<c07ea760>] (__driver_attach) from [<c07e81f0>] (bus_for_each_dev+0x84/0xc4) [ 1.478929] [<c07e81f0>] (bus_for_each_dev) from [<c07e9ba8>] (driver_attach+0x2c/0x30) [ 1.478946] [<c07e9ba8>] (driver_attach) from [<c07e95ac>] (bus_add_driver+0x19c/0x220) [ 1.478962] [<c07e95ac>] (bus_add_driver) from [<c07eb4f4>] (driver_register+0x8c/0x124) [ 1.478978] [<c07eb4f4>] (driver_register) from [<c07ec658>] (__platform_driver_register+0x50/0x58) [ 1.478993] [<c07ec658>] (__platform_driver_register) from [<c1346fd8>] (rockchip_drm_init+0x74/0x90) [ 1.479010] [<c1346fd8>] (rockchip_drm_init) from [<c0103200>] (do_one_initcall+0x64/0x288) [ 1.479028] [<c0103200>] (do_one_initcall) from [<c1301370>] (kernel_init_freeable+0x360/0x3fc) [ 1.479045] [<c1301370>] (kernel_init_freeable) from [<c0e55a38>] (kernel_init+0x18/0x120) [ 1.479059] [<c0e55a38>] (kernel_init) from [<c01010e8>] (ret_from_fork+0x14/0x2c) [ 1.479066] Exception stack(0xee975fb0 to 0xee975ff8) [ 1.479077] 5fa0: 00000000 00000000 00000000 00000000 [ 1.479090] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 1.479101] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 1.479109] ---[ end trace 390e2ce79ed4d5fb ]---
165 lines
3.9 KiB
Diff
165 lines
3.9 KiB
Diff
From 2715f4a9ab5c169c546029a61eebb0bde6619b0e Mon Sep 17 00:00:00 2001
|
|
From: Myy Miouyouyou <myy@miouyouyou.fr>
|
|
Date: Thu, 19 Oct 2017 22:12:48 +0200
|
|
Subject: [PATCH 18/28] ARM: DTS: rk3288-tinker.dts: Enabling SDIO, Wireless
|
|
and Bluetooth
|
|
|
|
Adding the appropriate nodes in order to exploit the WiFi capabilities
|
|
of the board.
|
|
Since these capabilities are provided through SDIO, and the SDIO
|
|
nodes were not defined, these were added too.
|
|
|
|
These seems to depend on each other so they are added in one big
|
|
patch.
|
|
|
|
Split if necessary.
|
|
|
|
Bluetooth and uart0 (AKA Bluetooth UART) definitions were also added
|
|
in order to deal with all the wireless techs in one patch.
|
|
|
|
Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
|
|
---
|
|
arch/arm/boot/dts/rk3288-tinker.dts | 82 ++++++++++++++++++++++++++++++++++++-
|
|
1 file changed, 81 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/arch/arm/boot/dts/rk3288-tinker.dts b/arch/arm/boot/dts/rk3288-tinker.dts
|
|
index 346b0d8b..c552fd95 100644
|
|
--- a/arch/arm/boot/dts/rk3288-tinker.dts
|
|
+++ b/arch/arm/boot/dts/rk3288-tinker.dts
|
|
@@ -44,6 +44,7 @@
|
|
|
|
#include "rk3288.dtsi"
|
|
#include <dt-bindings/input/input.h>
|
|
+#include <dt-bindings/clock/rockchip,rk808.h>
|
|
|
|
/ {
|
|
model = "Rockchip RK3288 Tinker Board";
|
|
@@ -114,6 +115,24 @@
|
|
};
|
|
};
|
|
|
|
+ /* This is essential to get SDIO devices working.
|
|
+ The Wifi depends on SDIO ! */
|
|
+ sdio_pwrseq: sdio-pwrseq {
|
|
+ compatible = "mmc-pwrseq-simple";
|
|
+ clocks = <&rk808 RK808_CLKOUT1>;
|
|
+ clock-names = "ext_clock";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&chip_enable_h>, <&wifi_enable_h>;
|
|
+
|
|
+ /*
|
|
+ * On the module itself this is one of these (depending
|
|
+ * on the actual card populated):
|
|
+ * - SDIO_RESET_L_WL_REG_ON
|
|
+ * - PDN (power down when low)
|
|
+ */
|
|
+ reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>, <&gpio4 RK_PD3 GPIO_ACTIVE_LOW>;
|
|
+ };
|
|
+
|
|
vcc_sys: vsys-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc_sys";
|
|
@@ -134,6 +153,28 @@
|
|
startup-delay-us = <100000>;
|
|
vin-supply = <&vcc_io>;
|
|
};
|
|
+
|
|
+ wireless-wlan {
|
|
+ compatible = "wlan-platdata";
|
|
+ rockchip,grf = <&grf>;
|
|
+ wifi_chip_type = "8723bs";
|
|
+ sdio_vref = <1800>;
|
|
+ WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>;
|
|
+ status = "okay";
|
|
+ };
|
|
+
|
|
+ wireless-bluetooth {
|
|
+ compatible = "bluetooth-platdata";
|
|
+ uart_rts_gpios = <&gpio4 19 GPIO_ACTIVE_LOW>;
|
|
+ pinctrl-names = "default","rts_gpio";
|
|
+ pinctrl-0 = <&uart0_rts>;
|
|
+ pinctrl-1 = <&uart0_gpios>;
|
|
+ BT,reset_gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
|
|
+ BT,wake_gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>;
|
|
+ BT,wake_host_irq = <&gpio4 31 GPIO_ACTIVE_HIGH>;
|
|
+ status = "okay";
|
|
+ };
|
|
+
|
|
};
|
|
|
|
&cpu0 {
|
|
@@ -373,10 +414,30 @@
|
|
|
|
&io_domains {
|
|
status = "okay";
|
|
-
|
|
+ rockchip,grf = <&grf>;
|
|
+ wifi-supply = <&vcc_18>;
|
|
sdcard-supply = <&vccio_sd>;
|
|
};
|
|
|
|
+&sdio0 {
|
|
+ status = "okay";
|
|
+ clock-frequency = <50000000>;
|
|
+ clock-freq-min-max = <200000 50000000>;
|
|
+ bus-width = <4>;
|
|
+ cap-sd-highspeed;
|
|
+ cap-sdio-irq;
|
|
+ disable-wp;
|
|
+ keep-power-in-suspend;
|
|
+ mmc-pwrseq = <&sdio_pwrseq>;
|
|
+ non-removable;
|
|
+ num-slots = <1>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
|
|
+ sd-uhs-sdr104;
|
|
+ supports-sdio;
|
|
+
|
|
+};
|
|
+
|
|
&pinctrl {
|
|
pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
|
|
drive-strength = <8>;
|
|
@@ -422,6 +483,16 @@
|
|
};
|
|
};
|
|
|
|
+ sdio-pwrseq {
|
|
+ wifi_enable_h: wifienable-h {
|
|
+ rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+
|
|
+ chip_enable_h: chip-enable-h {
|
|
+ rockchip,pins = <4 27 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+
|
|
sdmmc {
|
|
sdmmc_bus4: sdmmc-bus4 {
|
|
rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
|
|
@@ -453,6 +524,13 @@
|
|
rockchip,pins = <7 8 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
+
|
|
+ wireless-bluetooth {
|
|
+ uart0_gpios: uart0-gpios {
|
|
+ rockchip,pins = <4 19 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+
|
|
};
|
|
|
|
&pwm0 {
|
|
@@ -485,6 +563,8 @@
|
|
|
|
&uart0 {
|
|
status = "okay";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&uart0_xfer>, <&uart0_cts>;
|
|
};
|
|
|
|
&uart1 {
|
|
--
|
|
2.11.0
|
|
|