head	1.9;
access;
symbols
	netbsd-10-2-RELEASE:1.8
	netbsd-11-0-RELEASE:1.8
	netbsd-11-0-RC7:1.8
	netbsd-11-0-RC6:1.8
	netbsd-11-0-RC5:1.8
	netbsd-11-0-RC4:1.8
	netbsd-11-0-RC3:1.8
	netbsd-11-0-RC2:1.8
	netbsd-11-0-RC1:1.8
	perseant-exfatfs-base-20250801:1.8
	netbsd-11:1.8.0.12
	netbsd-11-base:1.8
	netbsd-10-1-RELEASE:1.8
	perseant-exfatfs-base-20240630:1.8
	perseant-exfatfs:1.8.0.10
	perseant-exfatfs-base:1.8
	netbsd-10-0-RELEASE:1.8
	netbsd-10-0-RC6:1.8
	netbsd-10-0-RC5:1.8
	netbsd-10-0-RC4:1.8
	netbsd-10-0-RC3:1.8
	netbsd-10-0-RC2:1.8
	thorpej-ifq:1.8.0.8
	thorpej-ifq-base:1.8
	thorpej-altq-separation:1.8.0.6
	thorpej-altq-separation-base:1.8
	netbsd-10-0-RC1:1.8
	netbsd-10:1.8.0.4
	netbsd-10-base:1.8
	bouyer-sunxi-drm:1.8.0.2
	bouyer-sunxi-drm-base:1.8;
locks; strict;
comment	@# @;


1.9
date	2025.09.06.15.44.02;	author thorpej;	state Exp;
branches;
next	1.8;
commitid	9V4ybx31NXy5wF9G;

1.8
date	2022.05.10.08.09.57;	author skrll;	state Exp;
branches;
next	1.7;
commitid	B8CW1WcHt0iP2uDD;

1.7
date	2022.05.10.08.05.32;	author skrll;	state Exp;
branches;
next	1.6;
commitid	yxrmLipd1f0b2uDD;

1.6
date	2022.05.07.08.20.04;	author skrll;	state Exp;
branches;
next	1.5;
commitid	GWAZfDc5QN67d6DD;

1.5
date	2022.04.27.08.06.20;	author skrll;	state Exp;
branches;
next	1.4;
commitid	NpL4Akv4hA8RrOBD;

1.4
date	2022.04.27.07.59.18;	author skrll;	state Exp;
branches;
next	1.3;
commitid	PVpbpa5S260TpOBD;

1.3
date	2022.04.27.07.55.42;	author skrll;	state Exp;
branches;
next	1.2;
commitid	8w13xHdYjXuEoOBD;

1.2
date	2022.01.03.08.44.10;	author skrll;	state Exp;
branches;
next	1.1;
commitid	izOvgqEpB7LFkanD;

1.1
date	2021.08.30.23.26.26;	author jmcneill;	state Exp;
branches;
next	;
commitid	z9BcpRSYCYuRf37D;


desc
@@


1.9
log
@Step towards modularizing the Flattened Device Tree code.

Define attributes for each of the specific device bindings: clock,
dai, dma, gpio, i2c, iommu, mbox, mmc_pwrseq, phy, power, power domain,
pwm, regulator, reset controller, spi, system controller, pin
controller.  Include these support files only if either a provider
or consumer with one of these attributes is present in the kernel
config.

Add the necessary attributes to the device / attach declarations for
each provider and consumer.

There are some bindings that are consumed by generic code (iommu, pinctrl,
power, power domain).  Provide weak stubs for these routines to handle
situations where there is no provider.

No actual code changed; NFCI.
@
text
@#	$NetBSD: files.apple,v 1.8 2022/05/10 08:09:57 skrll Exp $
#
# Configuration info for Apple Silicon SoCs
#
#

# IOMMU
device	appledart: fdt_iommu
attach	appledart at fdt with apple_dart
file	arch/arm/apple/apple_dart.c		apple_dart

# I2C controller
device	appleiic: fdt_clock, fdt_i2c, i2cbus
attach	appleiic at fdt with apple_iic
file	arch/arm/apple/apple_iic.c		apple_iic

# Interrupt controller
device	appleintc: pic, pic_splfuncs
attach	appleintc at fdt with apple_intc
file	arch/arm/apple/apple_intc.c		apple_intc

# Mailbox
device	applembox: fdt_mbox
attach	applembox at fdt with apple_mbox
file	arch/arm/apple/apple_mbox.c		apple_mbox

# NVME
device	applenvme: nvme
attach	nvme at fdt with apple_nvme
file	arch/arm/apple/apple_nvme.c		apple_nvme

# PCIe controller
device	applepcie: fdt_gpio, fdt_iommu, pcibus, pcihost_fdt
attach	applepcie at fdt with apple_pcie
file	arch/arm/apple/apple_pcie.c		apple_pcie

# GPIO controller
# : gpiobus?
device	applepinctrl: fdt_gpio, fdt_pinctrl
attach	applepinctrl at fdt with apple_pinctrl
file	arch/arm/apple/apple_pinctrl.c		apple_pinctrl

# Power domain controller
device	applepmgr: fdt_powerdomain
attach	applepmgr at fdt with apple_pmgr
file	arch/arm/apple/apple_pmgr.c		apple_pmgr

# SMC
attach	applesmc at fdt with apple_rtkitsmc: fdt_gpio
file	arch/arm/apple/apple_smc.c		apple_rtkitsmc

# Watchdog timer
device	applewdog: fdt_power, sysmon_wdog
attach	applewdog at fdt with apple_wdog
file	arch/arm/apple/apple_wdog.c		apple_wdog

# SOC parameters
defflag	opt_soc.h				SOC_APPLE

file	arch/arm/apple/apple_platform.c		soc_apple
file	arch/arm/apple/apple_rtkit.c		soc_apple & apple_mbox
@


1.8
log
@Add a driver for the Apple RTKit based System Management Controller
found on M1 SoCs.  From OpenBSD.
@
text
@d1 1
a1 1
#	$NetBSD: files.apple,v 1.7 2022/05/10 08:05:32 skrll Exp $
d8 1
a8 1
device	appledart
d13 1
a13 1
device	appleiic: i2cbus
d23 1
a23 1
device	applembox
d33 1
a33 1
device	applepcie: pcibus, pcihost_fdt
d39 1
a39 1
device	applepinctrl
d44 1
a44 1
device	applepmgr
d49 1
a49 1
attach	applesmc at fdt with apple_rtkitsmc
d53 1
a53 1
device	applewdog: sysmon_wdog
@


1.7
log
@Add a driver for the Apple M1 I2C controller.  From OpenBSD.
@
text
@d1 1
a1 1
#	$NetBSD: files.apple,v 1.6 2022/05/07 08:20:04 skrll Exp $
d48 4
@


1.6
log
@Add support for Apple silicon NVME.  Ported from OpenBSD.
@
text
@d1 1
a1 1
#	$NetBSD: files.apple,v 1.5 2022/04/27 08:06:20 skrll Exp $
d12 5
@


1.5
log
@Add support for the mailbox that provides a communications channel with
additional cores integrated in Apple Silicon.

Also, add an implementation for the protocol to communicate with
coprocessors running firmware based Apple's RTKit OS.

From OpenBSD.
@
text
@d1 1
a1 1
#	$NetBSD: files.apple,v 1.4 2022/04/27 07:59:18 skrll Exp $
d22 5
@


1.4
log
@Add a driver for the Apple GPIO controller found in Apple silicon.

Derived from the OpenBSD driver.
@
text
@d1 1
a1 1
#	$NetBSD: files.apple,v 1.3 2022/04/27 07:55:42 skrll Exp $
a6 2
file	arch/arm/apple/apple_platform.c		soc_apple

d17 5
d45 3
@


1.3
log
@Add support for the power domain controller found in Apple silicon
machines.
@
text
@d1 1
a1 1
#	$NetBSD: files.apple,v 1.2 2022/01/03 08:44:10 skrll Exp $
d24 6
@


1.2
log
@sort
@
text
@d1 1
a1 1
#	$NetBSD: files.apple,v 1.1 2021/08/30 23:26:26 jmcneill Exp $
d24 5
@


1.1
log
@Add initial support for Apple M1.

Currently supported devices:
 - Interrupt controller
 - IOMMU
 - PCIe (USB3 and ethernet)
 - Reboot via watchdog
 - Framebuffer console
@
text
@d1 1
a1 1
#	$NetBSD$
d9 5
a18 5
# Watchdog timer
device	applewdog: sysmon_wdog
attach	applewdog at fdt with apple_wdog
file	arch/arm/apple/apple_wdog.c		apple_wdog

d24 4
a27 4
# IOMMU
device	appledart
attach	appledart at fdt with apple_dart
file	arch/arm/apple/apple_dart.c		apple_dart
@

