Skip to content

Commit

Permalink
add iic IP driver
Browse files Browse the repository at this point in the history
Signed-off-by: Niklas Eiling <[email protected]>
  • Loading branch information
n-eiling committed Dec 13, 2023
1 parent 60ce084 commit 5317244
Show file tree
Hide file tree
Showing 151 changed files with 26,863 additions and 0 deletions.
135 changes: 135 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,138 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


COPYRIGHT TEXT:
---------------

Copyright (C) 2005 - 2020 Xilinx, Inc. All rights reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/data/iic_tapp.tcl
--------------------------------------------------------------------------------

COPYRIGHT TEXT:
---------------

Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved. Copyright
(c) 2021 Xilinx, Inc. All rights reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/data/iic.yaml
orig/iic/examples/CMakeLists.txt
orig/iic/src/CMakeLists.txt

COPYRIGHT TEXT:
---------------

Copyright (C) 2004 - 2020 Xilinx, Inc. All rights reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/data/iic.tcl

COPYRIGHT TEXT:
---------------

Copyright (C) 2005 - 2021 Xilinx, Inc. All rights reserved. Copyright (C) 2022 -
2023 Advanced Micro Devices, Inc. All Rights Reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/data/iic_header.h

COPYRIGHT TEXT:
---------------

Copyright (C) 2002 - 2021 Xilinx, Inc. All rights reserved. Copyright (c) 2022 -
2023 Advanced Micro Devices, Inc. All Rights Reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/examples/xiic_low_level_eeprom_example.c
orig/iic/examples/xiic_low_level_tempsensor_example.c
orig/iic/examples/xiic_selftest_example.c
orig/iic/src/xiic.h

COPYRIGHT TEXT:
---------------

Copyright (C) 2005 - 2021 Xilinx, Inc. All rights reserved. Copyright (c) 2022 -
2023 Advanced Micro Devices, Inc. All Rights Reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/data/iic.mdd
orig/iic/src/xiic_sinit.c

COPYRIGHT TEXT:
---------------

Copyright (C) 2002 - 2021 Xilinx, Inc. All rights reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/src/xiic.c
orig/iic/src/xiic_g.c
orig/iic/src/xiic_i.h
orig/iic/src/xiic_l.c
orig/iic/src/xiic_l.h
orig/iic/src/xiic_master.c
orig/iic/src/xiic_multi_master.c
orig/iic/src/xiic_options.c
orig/iic/src/xiic_slave.c
orig/iic/src/xiic_stats.c
--------------------------------------------------------------------------------

COPYRIGHT TEXT:
---------------

Copyright (C) 2006 - 2021 Xilinx, Inc. All rights reserved. Copyright (c) 2022 -
2023 Advanced Micro Devices, Inc. All Rights Reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/examples/xiic_dynamic_eeprom_example.c
orig/iic/examples/xiic_eeprom_example.c
orig/iic/examples/xiic_multi_master_example.c
orig/iic/examples/xiic_repeated_start_example.c
orig/iic/examples/xiic_slave_example.c
orig/iic/examples/xiic_tempsensor_example.c
orig/iic/examples/xiic_tenbitaddr_example.c
--------------------------------------------------------------------------------

COPYRIGHT TEXT:
---------------

Copyright (C) 2006 - 2020 Xilinx, Inc. All rights reserved. Copyright (c) 2022 -
2023 Advanced Micro Devices, Inc. All Rights Reserved.
SPDX-License-Identifier: MIT

FILES:
XilinxProcessorIPLib/drivers/iic/examples/xiic_low_level_dynamic_eeprom_example.c
--------------------------------------------------------------------------------

COPYRIGHT TEXT:
---------------

Copyright (C) 2006 - 2021 Xilinx, Inc. All rights reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/src/xiic_dyn_master.c
orig/iic/src/xiic_intr.c
--------------------------------------------------------------------------------


COPYRIGHT TEXT:
---------------

Copyright (C) 2012 - 2021 Xilinx, Inc. All rights reserved.
SPDX-License-Identifier: MIT

FILES:
orig/iic/src/xiic_selftest.c
--------------------------------------------------------------------------------
1 change: 1 addition & 0 deletions include/xilinx/xiic.h
1 change: 1 addition & 0 deletions include/xilinx/xiic_i.h
1 change: 1 addition & 0 deletions include/xilinx/xiic_l.h
1 change: 1 addition & 0 deletions include/xilinx/xparameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@
#define XPAR_INTC_MAX_NUM_INTR_INPUTS 32

#define XPAR_INTC_0_INTC_TYPE 0
#define XPAR_XIIC_NUM_INSTANCES 0

#endif
37 changes: 37 additions & 0 deletions orig/iic/data/iic.mdd
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
##############################################################################
# Copyright (C) 2005 - 2021 Xilinx, Inc. All rights reserved.
# Copyright (c) 2022 - 2023 Advanced Micro Devices, Inc. All Rights Reserved.
# SPDX-License-Identifier: MIT
#
#
##############################################################################
#
# MODIFICATION HISTORY:
#
# Ver Who Date Changes
# -------- ------ -------- --------------------------------------------------
# 3.0 adk 10/12/13 Removed support for xps_iic
##############################################################################
## @BEGIN_CHANGELOG EDK_M
##
## - Removed support for opb_iic
##
## @END_CHANGELOG

## @BEGIN_CHANGELOG EDK_MS3
##
## 06/16/10 sv Added support for axi_iic
##
## @END_CHANGELOG

OPTION psf_version = 2.1;

BEGIN driver iic

OPTION supported_peripherals = (axi_iic);
OPTION driver_state = ACTIVE;
OPTION copyfiles = all;
OPTION VERSION = 3.10;
OPTION NAME = iic;

END driver
30 changes: 30 additions & 0 deletions orig/iic/data/iic.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
###############################################################################
# Copyright (C) 2004 - 2020 Xilinx, Inc. All rights reserved.
# SPDX-License-Identifier: MIT
#
#
# MODIFICATION HISTORY:
# Ver Who Date Changes
# -------- ------ -------- ------------------------------------
# 3.0 adk 12/10/13 Updated as per the New Tcl API's
##############################################################################
## BEGIN_CHANGELOG EDK_M
## Removed the local ::hsi::utils::define_canonical_xpars API as there is
## a common API in the tcl of the tools
##
## END_CHANGELOG

## BEGIN_CHANGELOG EDK_LS3
## Updated to handle the corner cases described in CR #518193 while
## generating canonical definitions
##
## END_CHANGELOG

#uses "xillib.tcl"

proc generate {drv_handle} {
::hsi::utils::define_include_file $drv_handle "xparameters.h" "XIic" "NUM_INSTANCES" "DEVICE_ID" "C_BASEADDR" "C_HIGHADDR" "C_TEN_BIT_ADR" "C_GPO_WIDTH"
::hsi::utils::define_config_file $drv_handle "xiic_g.c" "XIic" "DEVICE_ID" "C_BASEADDR" "C_TEN_BIT_ADR" "C_GPO_WIDTH"

::hsi::utils::define_canonical_xpars $drv_handle "xparameters.h" "Iic" "DEVICE_ID" "C_BASEADDR" "C_HIGHADDR" "C_TEN_BIT_ADR" "C_GPO_WIDTH"
}
75 changes: 75 additions & 0 deletions orig/iic/data/iic.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
# Copyright (c) 2021 Xilinx, Inc. All rights reserved.
# SPDX-License-Identifier: MIT
%YAML 1.2
---
title: Bindings for IIC controller

maintainers:
- Manikanta Guntupalli <[email protected]>

type: driver

properties:
compatible:
OneOf:
- items:
- enum:
- xlnx,axi-iic-2.0
- xlnx,xps-iic-2.00.a
reg:
description: Physical base address and size of the controller register map
Has10BitAddr:
description: Does device have 10 bit address decoding
GpOutWidth:
description: Number of bits in general purpose output

config:
- XIic_Config

required:
- compatible
- reg
- Has10BitAddr
- GpOutWidth
- interrupts
- interrupt-parent

examples:
xiic_eeprom_example.c:
- interrupts

xiic_dynamic_eeprom_example.c:
- interrupts

xiic_low_level_dynamic_eeprom_example.c:
- reg

xiic_low_level_eeprom_example.c:
- reg

xiic_low_level_tempsensor_example.c:
- reg

xiic_multi_master_example.c:
- interrupts

xiic_repeated_start_example.c:
- interrupts

xiic_selftest_example.c:
- reg

xiic_slave_example.c:
- interrupts

xiic_tempsensor_example.c:
- interrupts

xiic_tenbitaddr_example.c:
- interrupts

tapp:
xiic_selftest_example.c:
declaration: IicSelfTestExample
...
20 changes: 20 additions & 0 deletions orig/iic/data/iic_header.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/******************************************************************************
* Copyright (C) 2005 - 2021 Xilinx, Inc. All rights reserved.
* Copyright (C) 2022 - 2023 Advanced Micro Devices, Inc. All Rights Reserved.
* SPDX-License-Identifier: MIT
******************************************************************************/

#ifndef IIC_HEADER_H /* prevent circular inclusions */
#define IIC_HEADER_H /* by using protection macros */

#include "xil_types.h"
#include "xil_assert.h"
#include "xstatus.h"

#ifndef SDT
int IicSelfTestExample(u16 DeviceId);
#else
int IicSelfTestExample(UINTPTR BaseAddress);
#endif

#endif
Loading

0 comments on commit 5317244

Please sign in to comment.