fdt: add dt-bindings for bcm2835
authorFabian Vogt <fvogt@suse.com>
Mon, 26 Sep 2016 12:26:46 +0000 (14:26 +0200)
committerTom Rini <trini@konsulko.com>
Tue, 29 Nov 2016 01:09:48 +0000 (20:09 -0500)
This patch adds dt-bindings as used by the linux kernel device trees
for the bcm283x family.

Albert Aribaud <albert.u.boot@aribaud.net>
Signed-off-by: Fabian Vogt <fvogt@suse.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
include/dt-bindings/clock/bcm2835-aux.h [new file with mode: 0644]
include/dt-bindings/clock/bcm2835.h [new file with mode: 0644]
include/dt-bindings/pinctrl/bcm2835.h [new file with mode: 0644]
include/dt-bindings/power/raspberrypi-power.h [new file with mode: 0644]

diff --git a/include/dt-bindings/clock/bcm2835-aux.h b/include/dt-bindings/clock/bcm2835-aux.h
new file mode 100644 (file)
index 0000000..d91156e
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ * Copyright (C) 2015 Broadcom Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#define BCM2835_AUX_CLOCK_UART         0
+#define BCM2835_AUX_CLOCK_SPI1         1
+#define BCM2835_AUX_CLOCK_SPI2         2
+#define BCM2835_AUX_CLOCK_COUNT                3
diff --git a/include/dt-bindings/clock/bcm2835.h b/include/dt-bindings/clock/bcm2835.h
new file mode 100644 (file)
index 0000000..360e00c
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2015 Broadcom Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#define BCM2835_PLLA                   0
+#define BCM2835_PLLB                   1
+#define BCM2835_PLLC                   2
+#define BCM2835_PLLD                   3
+#define BCM2835_PLLH                   4
+
+#define BCM2835_PLLA_CORE              5
+#define BCM2835_PLLA_PER               6
+#define BCM2835_PLLB_ARM               7
+#define BCM2835_PLLC_CORE0             8
+#define BCM2835_PLLC_CORE1             9
+#define BCM2835_PLLC_CORE2             10
+#define BCM2835_PLLC_PER               11
+#define BCM2835_PLLD_CORE              12
+#define BCM2835_PLLD_PER               13
+#define BCM2835_PLLH_RCAL              14
+#define BCM2835_PLLH_AUX               15
+#define BCM2835_PLLH_PIX               16
+
+#define BCM2835_CLOCK_TIMER            17
+#define BCM2835_CLOCK_OTP              18
+#define BCM2835_CLOCK_UART             19
+#define BCM2835_CLOCK_VPU              20
+#define BCM2835_CLOCK_V3D              21
+#define BCM2835_CLOCK_ISP              22
+#define BCM2835_CLOCK_H264             23
+#define BCM2835_CLOCK_VEC              24
+#define BCM2835_CLOCK_HSM              25
+#define BCM2835_CLOCK_SDRAM            26
+#define BCM2835_CLOCK_TSENS            27
+#define BCM2835_CLOCK_EMMC             28
+#define BCM2835_CLOCK_PERI_IMAGE       29
+#define BCM2835_CLOCK_PWM              30
+#define BCM2835_CLOCK_PCM              31
+
+#define BCM2835_PLLA_DSI0              32
+#define BCM2835_PLLA_CCP2              33
+#define BCM2835_PLLD_DSI0              34
+#define BCM2835_PLLD_DSI1              35
+
+#define BCM2835_CLOCK_AVEO             36
+#define BCM2835_CLOCK_DFT              37
+#define BCM2835_CLOCK_GP0              38
+#define BCM2835_CLOCK_GP1              39
+#define BCM2835_CLOCK_GP2              40
+#define BCM2835_CLOCK_SLIM             41
+#define BCM2835_CLOCK_SMI              42
+#define BCM2835_CLOCK_TEC              43
+#define BCM2835_CLOCK_DPI              44
+#define BCM2835_CLOCK_CAM0             45
+#define BCM2835_CLOCK_CAM1             46
+#define BCM2835_CLOCK_DSI0E            47
+#define BCM2835_CLOCK_DSI1E            48
diff --git a/include/dt-bindings/pinctrl/bcm2835.h b/include/dt-bindings/pinctrl/bcm2835.h
new file mode 100644 (file)
index 0000000..6f0bc37
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Header providing constants for bcm2835 pinctrl bindings.
+ *
+ * Copyright (C) 2015 Stefan Wahren <stefan.wahren@i2se.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#ifndef __DT_BINDINGS_PINCTRL_BCM2835_H__
+#define __DT_BINDINGS_PINCTRL_BCM2835_H__
+
+/* brcm,function property */
+#define BCM2835_FSEL_GPIO_IN   0
+#define BCM2835_FSEL_GPIO_OUT  1
+#define BCM2835_FSEL_ALT5      2
+#define BCM2835_FSEL_ALT4      3
+#define BCM2835_FSEL_ALT0      4
+#define BCM2835_FSEL_ALT1      5
+#define BCM2835_FSEL_ALT2      6
+#define BCM2835_FSEL_ALT3      7
+
+#endif /* __DT_BINDINGS_PINCTRL_BCM2835_H__ */
diff --git a/include/dt-bindings/power/raspberrypi-power.h b/include/dt-bindings/power/raspberrypi-power.h
new file mode 100644 (file)
index 0000000..b3ff8e0
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ *  Copyright © 2015 Broadcom
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef _DT_BINDINGS_ARM_BCM2835_RPI_POWER_H
+#define _DT_BINDINGS_ARM_BCM2835_RPI_POWER_H
+
+/* These power domain indices are the firmware interface's indices
+ * minus one.
+ */
+#define RPI_POWER_DOMAIN_I2C0          0
+#define RPI_POWER_DOMAIN_I2C1          1
+#define RPI_POWER_DOMAIN_I2C2          2
+#define RPI_POWER_DOMAIN_VIDEO_SCALER  3
+#define RPI_POWER_DOMAIN_VPU1          4
+#define RPI_POWER_DOMAIN_HDMI          5
+#define RPI_POWER_DOMAIN_USB           6
+#define RPI_POWER_DOMAIN_VEC           7
+#define RPI_POWER_DOMAIN_JPEG          8
+#define RPI_POWER_DOMAIN_H264          9
+#define RPI_POWER_DOMAIN_V3D           10
+#define RPI_POWER_DOMAIN_ISP           11
+#define RPI_POWER_DOMAIN_UNICAM0       12
+#define RPI_POWER_DOMAIN_UNICAM1       13
+#define RPI_POWER_DOMAIN_CCP2RX                14
+#define RPI_POWER_DOMAIN_CSI2          15
+#define RPI_POWER_DOMAIN_CPI           16
+#define RPI_POWER_DOMAIN_DSI0          17
+#define RPI_POWER_DOMAIN_DSI1          18
+#define RPI_POWER_DOMAIN_TRANSPOSER    19
+#define RPI_POWER_DOMAIN_CCP2TX                20
+#define RPI_POWER_DOMAIN_CDP           21
+#define RPI_POWER_DOMAIN_ARM           22
+
+#define RPI_POWER_DOMAIN_COUNT         23
+
+#endif /* _DT_BINDINGS_ARM_BCM2835_RPI_POWER_H */