- Jan 08, 2022
-
-
Sven Peter authored
Add apple_wdt.c under the ARM/APPLE MACHINE SUPPORT entry. Signed-off-by:
Sven Peter <sven@svenpeter.dev> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
- Dec 15, 2021
-
-
Hector Martin authored
This will bind to the PMGR pwrstate nodes that control power/clock gating to SoC blocks. The mailbox driver doesn't do runtime-pm yet, so initially this will just keep the domain on permanently. Reviewed-by:
Sven Peter <sven@svenpeter.dev> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
We decided to keep SoC nodes sorted by address for sanity; fix a couple that slipped into the wrong place. Reviewed-by:
Sven Peter <sven@svenpeter.dev> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
We now know that this frequency comes from the external reference oscillator and is used for various SoC blocks, and isn't just a random 24MHz clock, so let's call it something more appropriate. Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Sven Peter <sven@svenpeter.dev> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
- Dec 12, 2021
-
-
Sven Peter authored
Add the watchdog node which also enables reboot support on the t8103. Signed-off-by:
Sven Peter <sven@svenpeter.dev> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This new SoC uses the same pinctrl hardware, so just add a new per-SoC compatible. Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This new SoC is compatible with the existing driver, but the block supports 4 downstream ports, so we need to adjust the binding to allow that. Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This block is compatible with t8103, so just add the new per-SoC compatible under apple,i2c. Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Sven Peter <sven@svenpeter.dev> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This adds the initial apple,t6000 platforms: - apple,j314s - MacBook Pro (14-inch, M1 Pro, 2021) - apple,j316s - MacBook Pro (16-inch, M1 Pro, 2021) And the initial apple,t6001 platforms: - apple,j314c - MacBook Pro (14-inch, M1 Max, 2021) - apple,j316c - MacBook Pro (16-inch, M1 Max, 2021) Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This is required for DCP to boot successfully; it seems if power gating is allowed, they do not wake up properly. Reviewed-by:
Sven Peter <sven@svenpeter.dev> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
A few devices (DCP/DCPEXT) need to have the minimum power state for auto-PM configured. Add a property that allows the DT to specify this value. Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
- Dec 07, 2021
-
-
Hector Martin authored
The driver doesn't support these, they shouldn't be in the SoC include anyway, and we're now configuring this in the bootloader instead. This also solves the j274 1G/10G Ethernet variant discrepancy, since that will now be configured properly based on the dynamic ADT property. Acked-by:
Marc Zyngier <maz@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Mark Kettenis authored
Expose the PCI node corresponding to the WiFi device and give it a 'local-mac-address' property. The bootloader will update it (m1n1 already has the required feature). Signed-off-by:
Mark Kettenis <kettenis@openbsd.org> Acked-by:
Marc Zyngier <maz@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This UART is connected to the debug port of the WLAN module. It is mostly useless, but makes for a good test case for runtime-pm without having to unbind the console from the main system UART. Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This adds the two PMGR nodes and all known power state subnodes. Since there are a large number of them, let's put them in a separate file to include. Reviewed-by:
Sven Peter <sven@svenpeter.dev> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
The PMGR block in Apple Silicon SoCs is responsible for SoC power management. There are two PMGRs in T8103, with different register layouts but compatible registers. In order to support this as well as future SoC generations with backwards-compatible registers, we declare these blocks as syscons and bind to individual registers in child nodes. Each register controls one SoC device. The respective apple compatibles are defined in case device-specific quirks are necessary in the future, but currently these nodes are expected to be bound by the generic syscon driver. Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This syscon child node represents a single SoC device controlled by the PMGR block. This layout allows us to declare all device power state controls (power/clock gating and reset) in the device tree, including dependencies, instead of hardcoding it into the driver. The register layout is uniform. Each pmgr-pwrstate node provides genpd and reset features, to be consumed by downstream device nodes. Future SoCs are expected to use backwards compatible registers, and the "apple,pmgr-pwrstate" represents any such interfaces (possibly with additional features gated by the more specific compatible), allowing them to be bound without driver updates. If a backwards incompatible change is introduced in future SoCs, it will require a new compatible, such as "apple,pmgr-pwrstate-v2". Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This covers the PMGR power state driver and its DT bindings, as well as any other future stuff in drivers/soc/apple. Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Sven Peter authored
Apple SoCs come with a simple embedded watchdog. This watchdog is also required in order to reset the SoC. Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Sven Peter <sven@svenpeter.dev> Reviewed-by:
Guenter Roeck <linux@roeck-us.net> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
- Dec 02, 2021
-
-
Hector Martin authored
This will bind to the PMGR pwrstate nodes that control power/clock gating to SoC blocks. The AIC driver doesn't do runtime-pm and likely never will (since it is system-critical), but it makes sense to describe the power domain relationship the devicetree properly. Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This will bind to the PMGR pwrstate nodes that control power/clock gating to SoC blocks. The pinctrl driver doesn't do runtime-pm yet, so initially this will just keep the domain on permanently. Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This will bind to the PMGR pwrstate nodes that control power/clock gating to SoC blocks. The DART driver doesn't do runtime-pm yet, so initially this will just keep the domain on permanently. Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Hector Martin authored
This will bind to the PMGR pwrstate nodes that control power/clock gating to SoC blocks. The i2c driver doesn't do runtime-pm yet, so initially this will just keep the domain on permanently. Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
- Dec 01, 2021
-
-
Janne Grunau authored
All M1 Mac devices have 2 SoC connected USB-C ports and use cd321x USB type C port switch and power deliver controllers. I2c bus and addresses configuration are for all devices equal. The iMac (24-inch, 2021) has a configuration with 2 additional USB-C ports (j456) using two additional cd321x controllers. Signed-off-by:
Janne Grunau <j@jannau.net> Reviewed-by:
Sven Peter <sven@svenpeter.dev> Tested-by:
Hector Martin <marcan@marcan.st> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Janne Grunau authored
Apple M1 has at least 5 i2c controllers. i2c0, i2c1 and i2c3 are used on all M1 Mac devices. The 2020 Mac Mini uses i2c2 and the 13-inch MacBook Pro uses i2c2 and i2c4. Signed-off-by:
Janne Grunau <j@jannau.net> Reviewed-by:
Sven Peter <sven@svenpeter.dev> Tested-by:
Hector Martin <marcan@marcan.st> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Janne Grunau authored
This adds support for following Apple M1 devices: - MacBook Pro (13-inch, M1, 2020) - MacBook Air (M1, 2020) - iMac (24-inch 2021) Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Signed-off-by:
Janne Grunau <j@jannau.net> Tested-by:
Hector Martin <marcan@marcan.st> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Janne Grunau authored
This introduces compatible strings for both 2021 Apple iMac M1 devices: * apple,j456 - iMac (24-inch, 4x USB-C, M1, 2021) * apple,j457 - iMac (24-inch, 2x USB-C, M1, 2021) Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Signed-off-by:
Janne Grunau <j@jannau.net> Tested-by:
Hector Martin <marcan@marcan.st> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Janne Grunau authored
Required for devices trying to use pinctrl devices as interrupt controller. Fixes: 0a8282b8 ("arm64: apple: Add pinctrl nodes") Signed-off-by:
Janne Grunau <j@jannau.net> Cc: Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Sven Peter <sven@svenpeter.dev> Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Tested-by:
Hector Martin <marcan@marcan.st> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
Janne Grunau authored
The intention was to have a SoC-specific and base compatible string to allow forward compatibility and SoC specific quirks, Fixes: df7c4a8c ("dt-bindings: i2c: Add Apple I2C controller bindings") Signed-off-by:
Janne Grunau <j@jannau.net> Cc: Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Sven Peter <sven@svenpeter.dev> Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Tested-by:
Hector Martin <marcan@marcan.st> Acked-by:
Wolfram Sang <wsa@kernel.org> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
- Nov 26, 2021
-
-
Janne Grunau authored
Fixes make dtbs_check errors for t8103-j274.dts due to missing pci properties. Fixes: e1bebf97 ("arm64: dts: apple: j274: Expose PCI node for the Ethernet MAC address") Reviewed-by:
Mark Kettenis <kettenis@openbsd.org> Signed-off-by:
Janne Grunau <j@jannau.net> Tested-by:
Hector Martin <marcan@marcan.st> Signed-off-by:
Hector Martin <marcan@marcan.st>
-
- Nov 14, 2021
-
-
Linus Torvalds authored
-
Gustavo A. R. Silva authored
Add Kconfig support for -Wimplicit-fallthrough for both GCC and Clang. The compiler option is under configuration CC_IMPLICIT_FALLTHROUGH, which is enabled by default. Special thanks to Nathan Chancellor who fixed the Clang bug[1][2]. This bugfix only appears in Clang 14.0.0, so older versions still contain the bug and -Wimplicit-fallthrough won't be enabled for them, for now. This concludes a long journey and now we are finally getting rid of the unintentional fallthrough bug-class in the kernel, entirely. :) Link: https://github.com/llvm/llvm-project/commit/9ed4a94d6451046a51ef393cd62f00710820a7e8 [1] Link: https://bugs.llvm.org/show_bug.cgi?id=51094 [2] Link: https://github.com/KSPP/linux/issues/115 Link: https://github.com/ClangBuiltLinux/linux/issues/236 Co-developed-by:
Kees Cook <keescook@chromium.org> Signed-off-by:
Kees Cook <keescook@chromium.org> Co-developed-by:
Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by:
Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by:
Nathan Chancellor <nathan@kernel.org> Tested-by:
Nathan Chancellor <nathan@kernel.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds authored
Pull xfs cleanups from Darrick Wong: "The most 'exciting' aspect of this branch is that the xfsprogs maintainer and I have worked through the last of the code discrepancies between kernel and userspace libxfs such that there are no code differences between the two except for #includes. IOWs, diff suffices to demonstrate that the userspace tools behave the same as the kernel, and kernel-only bits are clearly marked in the /kernel/ source code instead of just the userspace source. Summary: - Clean up open-coded swap() calls. - A little bit of #ifdef golf to complete the reunification of the kernel and userspace libxfs source code" * tag 'xfs-5.16-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: xfs: sync xfs_btree_split macros with userspace libxfs xfs: #ifdef out perag code for userspace xfs: use swap() to make dabtree code cleaner
-
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linuxLinus Torvalds authored
Pull more parisc fixes from Helge Deller: "Fix a build error in stracktrace.c, fix resolving of addresses to function names in backtraces, fix single-stepping in assembly code and flush userspace pte's when using set_pte_at()" * tag 'for-5.16/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc/entry: fix trace test in syscall exit path parisc: Flush kernel data mapping in set_pte_at() when installing pte for user page parisc: Fix implicit declaration of function '__kernel_text_address' parisc: Fix backtrace to always include init funtion names
-
git://git.libc.org/linux-shLinus Torvalds authored
Pull arch/sh updates from Rich Felker. * tag 'sh-for-5.16' of git://git.libc.org/linux-sh: sh: pgtable-3level: Fix cast to pointer from integer of different size sh: fix READ/WRITE redefinition warnings sh: define __BIG_ENDIAN for math-emu sh: math-emu: drop unused functions sh: fix kconfig unmet dependency warning for FRAME_POINTER sh: Cleanup about SPARSE_IRQ sh: kdump: add some attribute to function maple: fix wrong return value of maple_bus_init(). sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/ sh: boot: add intermediate vmlinux.bin* to targets instead of extra-y sh: boards: Fix the cacography in irq.c sh: check return code of request_irq sh: fix trivial misannotations
-
git://git.armlinux.org.uk/~rmk/linux-armLinus Torvalds authored
Pull ARM fixes from Russell King: - Fix early_iounmap - Drop cc-option fallbacks for architecture selection * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 9156/1: drop cc-option fallbacks for architecture selection ARM: 9155/1: fix early early_iounmap()
-
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linuxLinus Torvalds authored
Pull devicetree fixes from Rob Herring: - Two fixes due to DT node name changes on Arm, Ltd. boards - Treewide rename of Ingenic CGU headers - Update ST email addresses - Remove Netlogic DT bindings - Dropping few more cases of redundant 'maxItems' in schemas - Convert toshiba,tc358767 bridge binding to schema * tag 'devicetree-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: dt-bindings: watchdog: sunxi: fix error in schema bindings: media: venus: Drop redundant maxItems for power-domain-names dt-bindings: Remove Netlogic bindings clk: versatile: clk-icst: Ensure clock names are unique of: Support using 'mask' in making device bus id dt-bindings: treewide: Update @st.com email address to @foss.st.com dt-bindings: media: Update maintainers for st,stm32-hwspinlock.yaml dt-bindings: media: Update maintainers for st,stm32-cec.yaml dt-bindings: mfd: timers: Update maintainers for st,stm32-timers dt-bindings: timer: Update maintainers for st,stm32-timer dt-bindings: i2c: imx: hardware do not restrict clock-frequency to only 100 and 400 kHz dt-bindings: display: bridge: Convert toshiba,tc358767.txt to yaml dt-bindings: Rename Ingenic CGU headers to ingenic,*.h
-
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipLinus Torvalds authored
Pull timer fix from Thomas Gleixner: "A single fix for POSIX CPU timers to address a problem where POSIX CPU timer delivery stops working for a new child task because copy_process() copies state information which is only valid for the parent task" * tag 'timers-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: posix-cpu-timers: Clear task::posix_cputimers_work in copy_process()
-
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipLinus Torvalds authored
Pull irq fixes from Thomas Gleixner: "A set of fixes for the interrupt subsystem Core code: - A regression fix for the Open Firmware interrupt mapping code where a interrupt controller property in a node caused a map property in the same node to be ignored. Interrupt chip drivers: - Workaround a limitation in SiFive PLIC interrupt chip which silently ignores an EOI when the interrupt line is masked. - Provide the missing mask/unmask implementation for the CSKY MP interrupt controller. PCI/MSI: - Prevent a use after free when PCI/MSI interrupts are released by destroying the sysfs entries before freeing the memory which is accessed in the sysfs show() function. - Implement a mask quirk for the Nvidia ION AHCI chip which does not advertise masking capability despite implementing it. Even worse the chip comes out of reset with all MSI entries masked, which due to the missing masking capability never get unmasked. - Move the check which prevents accessing the MSI[X] masking for XEN back into the low level accessors. The recent consolidation missed that these accessors can be invoked from places which do not have that check which broke XEN. Move them back to he original place instead of sprinkling tons of these checks all over the code" * tag 'irq-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: of/irq: Don't ignore interrupt-controller when interrupt-map failed irqchip/sifive-plic: Fixup EOI failed when masked irqchip/csky-mpintc: Fixup mask/unmask implementation PCI/MSI: Destroy sysfs before freeing entries PCI: Add MSI masking quirk for Nvidia ION AHCI PCI/MSI: Deal with devices lying about their MSI mask capability PCI/MSI: Move non-mask check back into low level accessors
-
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipLinus Torvalds authored
Pull x86 static call update from Thomas Gleixner: "A single fix for static calls to make the trampoline patching more robust by placing explicit signature bytes after the call trampoline to prevent patching random other jumps like the CFI jump table entries" * tag 'locking-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: static_call,x86: Robustify trampoline patching
-