tegrakernel/hardware/nvidia/soc/tegra/kernel-include/dt-bindings/version.h

143 lines
4.7 KiB
C
Raw Permalink Normal View History

2022-02-16 09:13:02 -06:00
/*
* Copyright (c) 2017-2020, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* This header provides macros for different DT binding version used
* by different OS/kernel versions.
*/
#ifndef _DT_BINDINGS_VERSION_H_
#define _DT_BINDINGS_VERSION_H_
#define DT_VERSION_1 1
#define DT_VERSION_2 2
/**
* TEGRA_AUDIO_BUS_DT_VERSION: Audio node DT version.
* V1: All audio bus are in root node.
* V2: All audio bus are in the under aconnect node.
*
* TEGRA_POWER_DOMAIN_DT_VERSION: Power domain DT versions.
* V1: Use legacy power gating API.
* V2: Use BPMP power domain provider.
*
* TEGRA_XUSB_PADCONTROL_VERSION
* V1: Nv Version of DT bidning
* V2: Mainline compatible DT binding.
*
* TEGRA_XUSB_DT_VERSION: XUSB DT binding version
* V1: Nv Version of DT bidning
* V2: Mainline compatible DT binding.
*
* TEGRA_XUDC_DT_VERSION: XUDC DT binding version
* V1: Nv Version of DT bidning
* V2: Mainline compatible DT binding.
*
* TEGRA_HSP_DT_VERSION: HSP DT binding version
* V1: device property is not provided.
* V2: device property is provided.
*
* UART_CONSOLE_ON_TTYS0_ONLY: Uart console only on TTYS0. Some OS support
* console port in the ttyS0 only.
* 1 for those OS which support console only on ttyS0.
* 0 for those OS which can support console on any ttySx.
*
* TEGRA_BOOTARGUMENT_VERSION: Boot argument via chosen node.
* V1: Only pass the console.
* V2: Pass the android boots parameters.
* TEGRA_CPUFREQ_DT_VERSION: CPUFREQ DT binding version
* V1: the separate EDVD aperture for two clusters.
* V2: the unified aperture for two clusters.
*/
/* OS Linux */
#if defined(LINUX_VERSION)
#define _OS_FOUND_
#define TEGRA_CPUFREQ_DT_VERSION DT_VERSION_2
#if LINUX_VERSION >= 409
#define TEGRA_AUDIO_BUS_DT_VERSION DT_VERSION_2
#define TEGRA_POWER_DOMAIN_DT_VERSION DT_VERSION_2
#define TEGRA_XUSB_PADCONTROL_VERSION DT_VERSION_2
#define TEGRA_XUSB_DT_VERSION DT_VERSION_2
#define TEGRA_XUDC_DT_VERSION DT_VERSION_2
#define TEGRA_HSP_DT_VERSION DT_VERSION_2
#define TEGRA_BOOTARGUMENT_VERSION DT_VERSION_2
#define UART_CONSOLE_ON_TTYS0_ONLY 0
#else
#define TEGRA_AUDIO_BUS_DT_VERSION DT_VERSION_1
#define TEGRA_POWER_DOMAIN_DT_VERSION DT_VERSION_1
#define TEGRA_XUSB_PADCONTROL_VERSION DT_VERSION_1
#define TEGRA_XUSB_DT_VERSION DT_VERSION_1
#define TEGRA_XUDC_DT_VERSION DT_VERSION_1
#define TEGRA_HSP_DT_VERSION DT_VERSION_1
#define TEGRA_BOOTARGUMENT_VERSION DT_VERSION_1
#define UART_CONSOLE_ON_TTYS0_ONLY 1
#endif
#endif
/* OS QNX */
#if defined (__QNX__)
#define _OS_FOUND_
#define TEGRA_AUDIO_BUS_DT_VERSION DT_VERSION_1
#define TEGRA_POWER_DOMAIN_DT_VERSION DT_VERSION_1
#define TEGRA_XUSB_PADCONTROL_VERSION DT_VERSION_2
#define TEGRA_XUSB_DT_VERSION DT_VERSION_2
#define TEGRA_XUDC_DT_VERSION DT_VERSION_2
#define TEGRA_HSP_DT_VERSION DT_VERSION_2
#define TEGRA_BOOTARGUMENT_VERSION DT_VERSION_2
#define TEGRA_CPUFREQ_DT_VERSION DT_VERSION_2
#define UART_CONSOLE_ON_TTYS0_ONLY 1
#endif
/* OS Integrity */
#if defined( __INTEGRITY)
#define _OS_FOUND_
#define TEGRA_AUDIO_BUS_DT_VERSION DT_VERSION_1
#define TEGRA_POWER_DOMAIN_DT_VERSION DT_VERSION_1
#define TEGRA_XUSB_PADCONTROL_VERSION DT_VERSION_1
#define TEGRA_XUSB_DT_VERSION DT_VERSION_1
#define TEGRA_XUDC_DT_VERSION DT_VERSION_1
#define TEGRA_HSP_DT_VERSION DT_VERSION_1
#define TEGRA_BOOTARGUMENT_VERSION DT_VERSION_1
#define TEGRA_CPUFREQ_DT_VERSION DT_VERSION_2
#define UART_CONSOLE_ON_TTYS0_ONLY 1
#endif
/* OS LK */
#if defined (__LK__)
#define _OS_FOUND_
#define TEGRA_AUDIO_BUS_DT_VERSION DT_VERSION_2
#define TEGRA_POWER_DOMAIN_DT_VERSION DT_VERSION_2
#define TEGRA_XUSB_PADCONTROL_VERSION DT_VERSION_2
#define TEGRA_XUSB_DT_VERSION DT_VERSION_2
#define TEGRA_XUDC_DT_VERSION DT_VERSION_2
#define TEGRA_HSP_DT_VERSION DT_VERSION_1
#define TEGRA_BOOTARGUMENT_VERSION DT_VERSION_1
#define TEGRA_CPUFREQ_DT_VERSION DT_VERSION_1
#define TEGRA_GENERIC_CARVEOUT_SUPPORT_ENABLE 0
#define UART_CONSOLE_ON_TTYS0_ONLY 1
#endif
/**
* If no OS found then abort compilation.
*/
#if !defined(_OS_FOUND_)
#error "Valid OS not found"
#endif
#endif /* _DT_BINDINGS_VERSION_H_ */