mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-10-23 07:42:24 +00:00
bump west
This commit is contained in:
1 parent
4f63ee25bd
commit
c89ea27ae8
5 files changed
+25
-19
No files matched your search
@@ -54,8 +54,9 @@ static struct sensor_entry s_sensors[MAX_SENSORS];
|
||||
static uint8_t s_count;
|
||||
|
||||
/* Is this sensor usable? A node marked zephyr,deferred-init (a part behind a
|
||||
* switched rail) is initialised here first. For any other device
|
||||
* device_init() answers -EALREADY and this is a device_is_ready() check. */
|
||||
* switched rail) is initialised here first. A device whose boot-time init
|
||||
* failed (an absent part) has its init run once more here; one that came up
|
||||
* answers -EALREADY, so this is a device_is_ready() check. */
|
||||
static bool sensor_ready(const struct device *dev)
|
||||
{
|
||||
if (dev == NULL) {
|
||||
|
||||
@@ -319,8 +319,8 @@
|
||||
* DRV2605_POWER_UP_DELAY_US *before* drv2605_gpio_config() raises en-gpios,
|
||||
* then reads the status register over I2C immediately after — so the part
|
||||
* gets no settling time at all between EN rising and being addressed, and
|
||||
* NACKs. Without the deferral the driver has already run (and failed) by
|
||||
* the time the app gets a say, and device_init() would answer -EALREADY. */
|
||||
* NACKs. Without the deferral the driver has already run (and failed) at
|
||||
* boot, before the app could raise EN and wait. */
|
||||
haptic: drv2605@5a {
|
||||
compatible = "ti,drv2605";
|
||||
reg = <0x5a>;
|
||||
|
||||
@@ -18,17 +18,20 @@
|
||||
* entry (IRQs locked): save the pin's interrupt type and enable, mask its CPU
|
||||
* interrupt, arm a level wake at the pin's active level, keep the pad's
|
||||
* input live through the sleep (sleep-select off).
|
||||
* exit (IRQs already back on, power.c post_ops): disarm, restore the saved
|
||||
* type, clear the status the level mode latched, unmask, and if the pin
|
||||
* is at its active level, re-raise its interrupt through status_w1ts.
|
||||
* exit (IRQs still locked; the idle thread unlocks them after the kernel
|
||||
* clock is corrected): disarm, restore the saved type, clear the status
|
||||
* the level mode latched, unmask, and if the pin is at its active level,
|
||||
* re-raise its interrupt through status_w1ts.
|
||||
*
|
||||
* The CPU interrupt stays masked while the pin is in level mode because on
|
||||
* this SoC the exit notifiers run after interrupts are re-enabled: a level
|
||||
* interrupt on a line the radio holds high until ClearIrqStatus would storm.
|
||||
* The re-raise is the missed edge: the level that woke us was reached while
|
||||
* the pin was in level mode, so no edge will come. The driver's own ISR then
|
||||
* runs the normal callbacks (the radio's dio1_isr, gpio-keys). A duplicate is
|
||||
* harmless: both only queue work that re-reads the hardware.
|
||||
* The pin's interrupt stays masked while it is in level mode: a level
|
||||
* interrupt on a line the radio holds high until ClearIrqStatus would storm
|
||||
* if interrupts ran before the type is restored. Since the 2026-10-22 Zephyr
|
||||
* pin they do not (LLD 13 section 14); the mask keeps that true on a Zephyr
|
||||
* version whose post_ops re-enables them. The re-raise is the missed edge: the level that
|
||||
* woke us was reached while the pin was in level mode, so no edge will come.
|
||||
* The driver's own ISR then runs the normal callbacks (the radio's dio1_isr,
|
||||
* gpio-keys) once interrupts are unlocked. A duplicate is harmless: both only
|
||||
* queue work that re-reads the hardware.
|
||||
*
|
||||
* The ESP32 GPIO wake source itself (ESP_SLEEP_WAKEUP_GPIO) is switched on by
|
||||
* `&gpio0 { wakeup-source; }` in boards/common/pm_esp32.overlay.
|
||||
|
||||
@@ -67,10 +67,12 @@ static int qspi_rdid_probe(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!flash->state->initialized) {
|
||||
/* qspi-ext.dtsi defers the flash to first use, and a repeater
|
||||
* never mounts /ext. Stealing the pins now would break the init
|
||||
* a later factory reset runs, so there is nothing to probe. */
|
||||
if (!flash->state->initialized && flash->state->init_res == 0) {
|
||||
/* Init never ran: qspi-ext.dtsi defers the flash to first use,
|
||||
* and a repeater never mounts /ext. Stealing the pins now would
|
||||
* break the init a later factory reset runs, so there is nothing
|
||||
* to probe. A failed init leaves initialized clear too, with the
|
||||
* errno in init_res (kernel/device.c). */
|
||||
LOG_INF("qspi flash '%s' not initialised yet - RDID probe skipped",
|
||||
flash->name);
|
||||
return 0;
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ manifest:
|
||||
projects:
|
||||
- name: zephyr
|
||||
remote: zephyrproject-rtos
|
||||
revision: c136c73d7be3305d2c07ee5726d4c6d0d985068b
|
||||
revision: b70dbaf045e06ee721316987df71c35d5a718693
|
||||
import: true
|
||||
|
||||
self:
|
||||
|
||||
Reference in new issue
Block a user