110915Sandreas.sandberg@arm.com/*
210915Sandreas.sandberg@arm.com * Copyright (c) 2014-2015 ARM Limited
310915Sandreas.sandberg@arm.com * All rights reserved
410915Sandreas.sandberg@arm.com *
510915Sandreas.sandberg@arm.com * Licensed under the Apache License, Version 2.0 (the "License");
610915Sandreas.sandberg@arm.com * you may not use this file except in compliance with the License.
710915Sandreas.sandberg@arm.com * You may obtain a copy of the License at
810915Sandreas.sandberg@arm.com *
910915Sandreas.sandberg@arm.com *     http://www.apache.org/licenses/LICENSE-2.0
1010915Sandreas.sandberg@arm.com *
1110915Sandreas.sandberg@arm.com * Unless required by applicable law or agreed to in writing, software
1210915Sandreas.sandberg@arm.com * distributed under the License is distributed on an "AS IS" BASIS,
1310915Sandreas.sandberg@arm.com * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1410915Sandreas.sandberg@arm.com * See the License for the specific language governing permissions and
1510915Sandreas.sandberg@arm.com * limitations under the License.
1610915Sandreas.sandberg@arm.com *
1710915Sandreas.sandberg@arm.com * Authors: Andreas Sandberg
1810915Sandreas.sandberg@arm.com */
1910915Sandreas.sandberg@arm.com
2010915Sandreas.sandberg@arm.com#include <libnomali/nomali.h>
2110915Sandreas.sandberg@arm.com#include <inttypes.h>
2210915Sandreas.sandberg@arm.com
2310915Sandreas.sandberg@arm.com#include "nomali_test_helpers.h"
2410915Sandreas.sandberg@arm.com#include "../lib/mali_midg_regmap.h"
2510915Sandreas.sandberg@arm.com
2610915Sandreas.sandberg@arm.comint
2710915Sandreas.sandberg@arm.commain(int argc, char **argv)
2810915Sandreas.sandberg@arm.com{
2910915Sandreas.sandberg@arm.com    const nomali_config_t cfg = {
3010915Sandreas.sandberg@arm.com        .type = NOMALI_GPU_T60X,
3110915Sandreas.sandberg@arm.com        .ver_maj = 0,
3210915Sandreas.sandberg@arm.com        .ver_min = 1,
3310915Sandreas.sandberg@arm.com        .ver_status = 0,
3410915Sandreas.sandberg@arm.com    };
3510915Sandreas.sandberg@arm.com    nomali_handle_t h;
3610915Sandreas.sandberg@arm.com    nomali_error_t error = NOMALI_E_OK;
3710915Sandreas.sandberg@arm.com    uint32_t value;
3810915Sandreas.sandberg@arm.com
3910915Sandreas.sandberg@arm.com    E_NOMALI_TEST("nomali_create", nomali_create(&h, &cfg));
4010915Sandreas.sandberg@arm.com    if (error != NOMALI_E_OK)
4110915Sandreas.sandberg@arm.com        test_bail("Failed to create NoMail instance!");
4210915Sandreas.sandberg@arm.com
4310915Sandreas.sandberg@arm.com    E_NOMALI_TEST("reg_read(GPU_ID)",
4410915Sandreas.sandberg@arm.com                  nomali_reg_read(h, &value, GPU_CONTROL_REG(GPU_ID)));
4510915Sandreas.sandberg@arm.com    if (value != ((GPU_ID_PI_T60X << 16) | 0x10)) {
4610915Sandreas.sandberg@arm.com        test_fail("GPU_ID");
4710915Sandreas.sandberg@arm.com    } else
4810915Sandreas.sandberg@arm.com        test_ok("GPU_ID");
4910915Sandreas.sandberg@arm.com
5010915Sandreas.sandberg@arm.com    E_NOMALI_TEST("nomali_destroy", nomali_destroy(h));
5110915Sandreas.sandberg@arm.com
5210915Sandreas.sandberg@arm.com    return 0;
5310915Sandreas.sandberg@arm.com}
54