mirror of
https://github.com/Qortal/Brooklyn.git
synced 2025-01-30 14:52:17 +00:00
Pick me up in the school bus.
This commit is contained in:
parent
2da1c315c0
commit
719fc8883e
@ -157,6 +157,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||||
pwm-2chan.dtbo \
|
||||
pwm-ir-tx.dtbo \
|
||||
qca7000.dtbo \
|
||||
qca7000-uart0.dtbo \
|
||||
rotary-encoder.dtbo \
|
||||
rpi-backlight.dtbo \
|
||||
rpi-cirrus-wm5102.dtbo \
|
||||
|
@ -2505,12 +2505,23 @@ Params: gpio_pin Output GPIO (default 18)
|
||||
|
||||
Name: qca7000
|
||||
Info: in-tech's Evaluation Board for PLC Stamp micro
|
||||
This uses spi0 and a separate GPIO interrupt to connect the QCA7000.
|
||||
Load: dtoverlay=qca7000,<param>=<val>
|
||||
Params: int_pin GPIO pin for interrupt signal (default 23)
|
||||
|
||||
speed SPI bus speed (default 12 MHz)
|
||||
|
||||
|
||||
Name: qca7000-uart0
|
||||
Info: in-tech's Evaluation Board for PLC Stamp micro (UART)
|
||||
This uses uart0/ttyAMA0 over GPIOs 14 & 15 to connect the QCA7000.
|
||||
But it requires disabling of onboard Bluetooth on
|
||||
Pi 3B, 3B+, 3A+, 4B and Zero W.
|
||||
Load: dtoverlay=qca7000-uart0,<param>=<val>
|
||||
Params: baudrate Set the baudrate for the UART (default
|
||||
"115200")
|
||||
|
||||
|
||||
Name: rotary-encoder
|
||||
Info: Overlay for GPIO connected rotary encoder.
|
||||
Load: dtoverlay=rotary-encoder,<param>=<val>
|
||||
|
46
arch/arm/boot/dts/overlays/qca7000-uart0-overlay.dts
Normal file
46
arch/arm/boot/dts/overlays/qca7000-uart0-overlay.dts
Normal file
@ -0,0 +1,46 @@
|
||||
// Overlay for the Qualcomm Atheros QCA7000 on PLC Stamp micro EVK
|
||||
// Visit: https://in-tech-smartcharging.com/products/evaluation-tools/plc-stamp-micro-2-evaluation-board for details
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2835";
|
||||
|
||||
fragment@0 {
|
||||
target = <&uart0>;
|
||||
__overlay__ {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins>;
|
||||
status = "okay";
|
||||
|
||||
eth2: qca7000 {
|
||||
compatible = "qca,qca7000";
|
||||
current-speed = <115200>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&gpio>;
|
||||
__overlay__ {
|
||||
uart0_pins: uart0_pins {
|
||||
brcm,pins = <14 15>;
|
||||
brcm,function = <4>; /* alt0 */
|
||||
brcm,pull = <0 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@2 {
|
||||
target-path = "/aliases";
|
||||
__overlay__ {
|
||||
serial0 = "/soc/serial@7e201000";
|
||||
serial1 = "/soc/serial@7e215040";
|
||||
};
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
baudrate = <ð2>, "current-speed:0";
|
||||
};
|
||||
};
|
@ -971,6 +971,7 @@ CONFIG_SND_USB_CAIAQ=m
|
||||
CONFIG_SND_USB_CAIAQ_INPUT=y
|
||||
CONFIG_SND_USB_6FIRE=m
|
||||
CONFIG_SND_USB_HIFACE=m
|
||||
CONFIG_SND_USB_TONEPORT=m
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_BCM2835_SOC_I2S=m
|
||||
CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m
|
||||
|
@ -987,6 +987,7 @@ CONFIG_SND_USB_CAIAQ=m
|
||||
CONFIG_SND_USB_CAIAQ_INPUT=y
|
||||
CONFIG_SND_USB_6FIRE=m
|
||||
CONFIG_SND_USB_HIFACE=m
|
||||
CONFIG_SND_USB_TONEPORT=m
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_BCM2835_SOC_I2S=m
|
||||
CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m
|
||||
|
@ -964,6 +964,7 @@ CONFIG_SND_USB_CAIAQ=m
|
||||
CONFIG_SND_USB_CAIAQ_INPUT=y
|
||||
CONFIG_SND_USB_6FIRE=m
|
||||
CONFIG_SND_USB_HIFACE=m
|
||||
CONFIG_SND_USB_TONEPORT=m
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_BCM2835_SOC_I2S=m
|
||||
CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m
|
||||
|
@ -989,6 +989,7 @@ CONFIG_SND_USB_CAIAQ=m
|
||||
CONFIG_SND_USB_CAIAQ_INPUT=y
|
||||
CONFIG_SND_USB_6FIRE=m
|
||||
CONFIG_SND_USB_HIFACE=m
|
||||
CONFIG_SND_USB_TONEPORT=m
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_BCM2835_SOC_I2S=m
|
||||
CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m
|
||||
|
@ -900,6 +900,7 @@ CONFIG_SND_USB_UA101=m
|
||||
CONFIG_SND_USB_CAIAQ=m
|
||||
CONFIG_SND_USB_CAIAQ_INPUT=y
|
||||
CONFIG_SND_USB_6FIRE=m
|
||||
CONFIG_SND_USB_TONEPORT=m
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_BCM2835_SOC_I2S=m
|
||||
CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m
|
||||
|
@ -2338,6 +2338,18 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
|
||||
if (ret)
|
||||
goto err_put_ddc;
|
||||
|
||||
/*
|
||||
* We need to have the device powered up at this point to call
|
||||
* our reset hook and for the CEC init.
|
||||
*/
|
||||
ret = vc4_hdmi_runtime_resume(dev);
|
||||
if (ret)
|
||||
goto err_put_ddc;
|
||||
|
||||
pm_runtime_get_noresume(dev);
|
||||
pm_runtime_set_active(dev);
|
||||
pm_runtime_enable(dev);
|
||||
|
||||
if (vc4_hdmi->variant->reset)
|
||||
vc4_hdmi->variant->reset(vc4_hdmi);
|
||||
|
||||
@ -2349,8 +2361,6 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
|
||||
clk_prepare_enable(vc4_hdmi->pixel_bvb_clock);
|
||||
}
|
||||
|
||||
pm_runtime_enable(dev);
|
||||
|
||||
drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS);
|
||||
drm_encoder_helper_add(encoder, &vc4_hdmi_encoder_helper_funcs);
|
||||
|
||||
@ -2374,6 +2384,8 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
|
||||
vc4_hdmi_debugfs_regs,
|
||||
vc4_hdmi);
|
||||
|
||||
pm_runtime_put_sync(dev);
|
||||
|
||||
return 0;
|
||||
|
||||
err_free_cec:
|
||||
@ -2384,6 +2396,7 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
|
||||
vc4_hdmi_connector_destroy(&vc4_hdmi->connector);
|
||||
err_destroy_encoder:
|
||||
drm_encoder_cleanup(encoder);
|
||||
pm_runtime_put_sync(dev);
|
||||
pm_runtime_disable(dev);
|
||||
err_put_ddc:
|
||||
put_device(&vc4_hdmi->ddc->dev);
|
||||
|
Loading…
Reference in New Issue
Block a user