NVIDIA DRIVE OS Linux API Reference

5.1.3.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
kernel_dt_service.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013-2018, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA CORPORATION and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA CORPORATION is strictly prohibited.
9  */
10 #ifndef INCLUDED_KERNEL_DT_SERVICE_H
11 #define INCLUDED_KERNEL_DT_SERVICE_H
12 
30 #include <nvcommon.h>
31 
32 #define DTB_CMDLINE 0x00000001
33 #define DTB_REVISION 0x00000002
34 #define DTB_INITRD2 0x00000003
35 #define DTB_MEMINFO 0x00000005
36 #define DTB_CVCARVEOUT 0x00000006
37 #define DTB_RESETSTATUS 0x00000007
38 #define DTB_FLOORSWEPT 0x00000008
39 #define DTB_BOARD_INFO 0x00000009
40 #define DTB_KLOGBUF 0x0000000A
41 #define DTB_BOOTDATA 0x0000000B
42 #define DTB_CHIP_VERSION 0x0000000C
43 #define DTB_BL_VERSIONINFO 0x0000000D
44 #define DTB_UPDATEINFO 0x0000000E
45 #define DTB_RATCHETINFO 0x0000000F
46 
47 typedef struct DtUartInfoRec
48 {
49  NvS8 **pUartNodes;
51 } DtUartInfo;
52 
64 NvError QbLoadKernelDtbImageFromRAM(void *pHdr, void **pImage, NvU32 *pDtbSize);
65 
73 
83 NvError AddDTTag(NvU32 DTtag, NvU32 DataSize, void *pData);
84 
91 NvError QbDelDTNode(const NvS8 *pNodeStr);
92 
100 NvError QbDelProperty(const NvS8 *pNodeStr, const NvS8 *pProperty);
101 
116 NvError
118  const NvS8 *pCompatible,
119  const NvS8 *pSubNode,
120  const NvS8 *pProp,
121  const NvS8 *pValue);
122 
126 NvError QbGetlogBufSize(NvU64 *);
127 
135 NvError QbGetCmdLineFromDtb(NvS8 *pCmdLine, NvU32 Size);
137 #endif // INCLUDED_KERNEL_DT_SERVICE_H
NvError QbGetlogBufSize(NvU64 *)
Get the klog buffer size in MB.
NvError QbDelDTNode(const NvS8 *pNodeStr)
Deletes a node from device tree.
NvError QbModifyFirstSubnodeProperty(const NvS8 *pCompatible, const NvS8 *pSubNode, const NvS8 *pProp, const NvS8 *pValue)
Modifies the property value in a sub-node in DTB.
NvError
The NvError enumeration contains ALL return / error codes.
Definition: nverror.h:36
NvError QbLoadKernelDtbImageFromRAM(void *pHdr, void **pImage, NvU32 *pDtbSize)
Wrapper function that copies DT from RCM image in RAM to a new address with additional space allocate...
NvError QbGetCmdLineFromDtb(NvS8 *pCmdLine, NvU32 Size)
Get the CmdLine from DTB.
struct DtUartInfoRec DtUartInfo
NvError QbDelProperty(const NvS8 *pNodeStr, const NvS8 *pProperty)
Deletes the specified property from the given node of the device tree.
NvError QbCreateSpaceinDtb(void)
Creates space in the DTB for adding nodes and command lines.
NvError AddDTTag(NvU32 DTtag, NvU32 DataSize, void *pData)
Adds or modifies new nodes to DT similar to ATAGS .