1+ /*
2+ * Copyright (c) 2022 Dhruva Gole
3+ *
4+ * SPDX-License-Identifier: Apache-2.0
5+ */
6+
7+ /* All the pins that are 100 + x are gpio1 pins and < 100 are in gpio0 */
8+ #pragma once
9+ #include <zephyr/drivers/gpio.h>
10+ #include <zephyr/kernel.h>
11+ #include <zephyr/drivers/i2c.h>
12+ #include <zephyr/device.h>
13+
14+ #define LED_BUILTIN 22
15+ #define LED0_NODE DT_ALIAS(led0)
16+
17+ static struct gpio_dt_spec d0 =
18+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d0_gpios );
19+ static struct gpio_dt_spec d1 =
20+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d1_gpios );
21+ static struct gpio_dt_spec d2 =
22+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d2_gpios );
23+ static struct gpio_dt_spec d3 =
24+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d3_gpios );
25+ static struct gpio_dt_spec d4 =
26+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d4_gpios );
27+ static struct gpio_dt_spec d5 =
28+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d5_gpios );
29+ static struct gpio_dt_spec d6 =
30+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d6_gpios );
31+ static struct gpio_dt_spec d7 =
32+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d7_gpios );
33+ static struct gpio_dt_spec d8 =
34+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d8_gpios );
35+ static struct gpio_dt_spec d9 =
36+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d9_gpios );
37+ static struct gpio_dt_spec d10 =
38+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d10_gpios );
39+ static struct gpio_dt_spec d11 =
40+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d11_gpios );
41+ static struct gpio_dt_spec d12 =
42+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d12_gpios );
43+ static struct gpio_dt_spec d13 =
44+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d13_gpios );
45+ static struct gpio_dt_spec d14 =
46+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d13_gpios );
47+ static struct gpio_dt_spec d15 =
48+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d15_gpios );
49+ static struct gpio_dt_spec d16 =
50+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d16_gpios );
51+ static struct gpio_dt_spec d17 =
52+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d17_gpios );
53+ static struct gpio_dt_spec d18 =
54+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d18_gpios );
55+ static struct gpio_dt_spec d19 =
56+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d19_gpios );
57+ static struct gpio_dt_spec d20 =
58+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d20_gpios );
59+ static struct gpio_dt_spec d21 =
60+ GPIO_DT_SPEC_GET (DT_PATH (zephyr_user ), d21_gpios );
61+ static struct gpio_dt_spec led_builtin = GPIO_DT_SPEC_GET (LED0_NODE , gpios );
62+
63+ static struct gpio_dt_spec * arduino_pins [23 ] = {
64+ & d0 , & d1 , & d2 , & d3 , & d4 , & d5 , & d6 , & d7 ,
65+ & d8 , & d9 , & d10 , & d11 , & d12 , & d13 , & d14 , & d15 ,
66+ & d16 , & d17 , & d18 , & d19 , & d20 , & d21 , & led_builtin };
67+
68+ enum digitalPins {
69+ D0 ,
70+ D1 ,
71+ D2 ,
72+ D3 ,
73+ D4 ,
74+ D5 ,
75+ D6 ,
76+ D7 ,
77+ D8 ,
78+ D9 ,
79+ D10 ,
80+ D11 ,
81+ D12 ,
82+ D13 ,
83+ D14 ,
84+ D15 ,
85+ D16 ,
86+ D17 ,
87+ D18 ,
88+ D19 ,
89+ D20 ,
90+ D21 ,
91+ LED
92+ };
93+
94+ const static struct device * i2c_dev = DEVICE_DT_GET (DT_NODELABEL (sercom0 ));
0 commit comments