1/*
2 * Copyright (c) 2024 Arrow Electronics.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8#include <infineon/cat1a/mpns/CY8C624ABZI_S2D44.dtsi>
9#include <infineon/cat1a/system_clocks.dtsi>
10#include <zephyr/dt-bindings/input/input-event-codes.h>
11
12/ {
13	model = "CY8CKIT-062S2-AI PSOC 6 AI Evaluation Kit";
14	compatible = "infineon,cy8ckit_062s2_ai", "cypress,PSOC6";
15
16	chosen {
17		zephyr,console = &uart5;
18		zephyr,shell-uart = &uart5;
19		zephyr,sram = &sram0;
20		zephyr,flash = &flash0;
21	};
22
23	aliases {
24		led0 = &user_led0;
25		sw0 = &user_bt;
26		watchdog0 = &watchdog0;
27	};
28
29	leds {
30		compatible = "gpio-leds";
31		user_led0: led_0 {
32			label = "LED_0";
33			gpios = <&gpio_prt5 3 GPIO_ACTIVE_HIGH>;
34		};
35		user_led1: led_1 {
36			label = "LED_1";
37			gpios = <&gpio_prt5 4 GPIO_ACTIVE_HIGH>;
38		};
39	};
40
41	gpio_keys {
42		compatible = "gpio-keys";
43		user_bt: button_0 {
44			label = "SW_0";
45			gpios = <&gpio_prt5 2 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
46			zephyr,code = <INPUT_KEY_0>;
47		};
48	};
49};
50
51&fll0 {
52	status = "okay";
53	clock-frequency = <100000000>;
54};
55
56&clk_hf0 {
57	clock-div = <1>;
58	clocks = <&fll0>;
59};
60
61/* CM4 core clock = 100MHz
62 * &fll clock-frequency / &clk_hf0 clock-div / &clk_fast clock-div = 100MHz / 1 / 1 = 100MHz
63 */
64&clk_fast {
65	clock-div = <1>;
66};
67
68/* CM0+ core clock = 50MHz
69 * &fll clock-frequency / &clk_hf0 clock-div / &clk_slow clock-div = 100MHz / 1 / 2 = 50MHz
70 */
71&clk_slow {
72	clock-div = <2>;
73};
74
75/* PERI core clock = 100MHz
76 * &fll clock-frequency / &clk_hf0 clock-div / &clk_peri clock-div = 100MHz / 1 / 1 = 100MHz
77 */
78&clk_peri {
79	clock-div = <1>;
80};
81
82&gpio_prt5 {
83	status = "okay";
84};
85
86&gpio_prt10 {
87	status = "okay";
88};
89
90/* UART connected to KitProg3 */
91uart5: &scb5 {
92	compatible = "infineon,cat1-uart";
93	status = "okay";
94	current-speed = <115200>;
95	pinctrl-0 = <&p5_1_scb5_uart_tx &p5_0_scb5_uart_rx>;
96	pinctrl-names = "default";
97};
98
99uart1: &scb1 {
100	compatible = "infineon,cat1-uart";
101	status = "okay";
102	current-speed = <115200>;
103	pinctrl-0 = <&p10_0_scb1_uart_rx &p10_1_scb1_uart_tx>;
104	pinctrl-names = "default";
105};
106
107&p5_1_scb5_uart_tx {
108	drive-push-pull;
109};
110
111&p5_0_scb5_uart_rx {
112	input-enable;
113};
114
115&p10_1_scb1_uart_tx {
116	drive-push-pull;
117};
118
119&p10_0_scb1_uart_rx {
120	input-enable;
121};
122
123&watchdog0 {
124	status = "okay";
125};
126